Skip to content

Commit

Permalink
patvarkyta DB, padarytas importas i db is xls
Browse files Browse the repository at this point in the history
  • Loading branch information
povilasb committed Nov 23, 2011
1 parent 06bd005 commit f5a72fb
Show file tree
Hide file tree
Showing 10 changed files with 141 additions and 12 deletions.
8 changes: 4 additions & 4 deletions DbObject/LinkTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ public function __construct($tableName, $var1, $var2){
}

public function insert($var1, $var2){
$result = mysql_query("INSERT INTO `thoinex_thoinex`.`".$this->tableName."` (`".$this->var1."`, `".$this->var2."`) VALUES ('".$var1."', '".$var2."')");
$result = mysql_query("INSERT INTO `PPOS`.`".$this->tableName."` (`".$this->var1."`, `".$this->var2."`) VALUES ('".$var1."', '".$var2."')");
if($result){
return true;
}else{
ErrorMessages::setError(7, "insert('".$var1."', '".$var2."')", "LinkTable.php", "LinkTable");
ErrorMessages::setError(7, "insert('".$var1."', '".$var2."')", "LinkTable.php", "LinkTable", mysql_error());
return false;
}
}

/*
public function delete($column, $id){
$result = mysql_query("DELETE FROM `thoinex_thoinex`.`".$this->tableName."` WHERE `".$this->tableName."`.`".$column."` = ".(int)$id);
$result = mysql_query("DELETE FROM `PPOS`.`".$this->tableName."` WHERE `".$this->tableName."`.`".$column."` = ".(int)$id);
if($result){
return true;
}else{
Expand All @@ -34,7 +34,7 @@ public function delete($column, $id){
*/

public function delete($id1, $id2){
$result = mysql_query("DELETE FROM `thoinex_thoinex`.`".$this->tableName."` WHERE ".$this->tableName."." . $this->var1 . " = ".(int)$id1 .
$result = mysql_query("DELETE FROM `PPOS`.`".$this->tableName."` WHERE ".$this->tableName."." . $this->var1 . " = ".(int)$id1 .
" AND " . $this->tableName."." . $this->var2 . " = ".(int)$id2);
if($result){
return true;
Expand Down
12 changes: 12 additions & 0 deletions Includes.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,17 @@
require_once("DbObject/ParamosPriemoniuKryptys.php");
require_once("DbObject/ParamosPriemones.php");
require_once("DbObject/ParamosAdministravimas.php");

require_once("XlsParsers/excel_reader2.php");
require_once("XlsParsers/IS_PadaliniaiParseris.php");
require_once("XlsParsers/ISParseris.php");
require_once("XlsParsers/PadaliniaiParseris.php");
require_once("XlsParsers/Padalinys.php");
require_once("XlsParsers/ParamosAdministravimasParseris.php");
require_once("XlsParsers/ParamosKiekis.php");
require_once("XlsParsers/ParamosPriemone.php");
require_once("XlsParsers/ParamosPriemonesParseris.php");
require_once("XlsParsers/ParamosKiekiaiParseris.php");
require_once("Utilities/Importer.php");

?>
6 changes: 2 additions & 4 deletions PPOS.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

CREATE SCHEMA IF NOT EXISTS `PPOS` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
CREATE SCHEMA IF NOT EXISTS `PPOS` DEFAULT CHARACTER SET utf8 COLLATE utf8_lithuanian_ci ;
USE `PPOS` ;

-- -----------------------------------------------------
Expand Down Expand Up @@ -31,9 +31,7 @@ CREATE TABLE IF NOT EXISTS `PPOS`.`ParamosPriemones` (
REFERENCES `PPOS`.`ParamosPriemoniuKryptys` (`idParamosPriemoniuKryptys` )
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = big5
COLLATE = big5_bin;
ENGINE = InnoDB;


-- -----------------------------------------------------
Expand Down
1 change: 1 addition & 0 deletions Test/Importer_Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?php session_start(); require_once("../Includes.php"); $importer = new Importer("../psi.xls"); $importer->importParamosKiekiai(); p(ErrorMessages::getErrors());?>
Expand Down
108 changes: 108 additions & 0 deletions Utilities/Importer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?php

class Importer{

private $xlsData;

public function __construct($filePath){
$this->xlsData = new Spreadsheet_Excel_Reader($filePath, false, "UTF-8");
}

public function importIS(){
$sheetNr = 2;

$is = ISParseris::rastiIS($this->xlsData, $sheetNr);
foreach ($is as $i){
IS::insertToDb($i->kodas, $i->pavadinimas);
}
}

public function importPadaliniai(){
$sheetNr = 1;

$padaliniai = PadaliniaiParseris::rastiPadalinius($this->xlsData, $sheetNr);
foreach ($padaliniai as $i){
Padaliniai::insertToDb($i->kodas, $i->pavadinimas);
}
}

public function importIS_Padaliniai(){
$sheetNr = 3;

$isp = IS_PadaliniaiParseris::rastiIS_Padalinius($this->xlsData, $sheetNr);
foreach ($isp as $i){
$linkTable = new LinkTable("IS_Padaliniai", "Padalinys", "IS");
$idPadalinys = Padaliniai::select("Kodas = '" . repairSqlInjection($i->kodas) . "'");
foreach ($i->naudojamosIS as $j){
$idIS = IS::select("Kodas = '" . repairSqlInjection($j) . "'");
if ((sizeof($idPadalinys) > 0) && (sizeof($idIS) > 0)){
$linkTable->insert($idPadalinys[0], $idIS[0]);
}
}
}
}

public function importParamosPriemoniuKryptys(){
$sheetNr = 0;

$kryptys = ParamosPriemonesParseris::rastiKryptis($this->xlsData, $sheetNr);
foreach ($kryptys as $i){
ParamosPriemoniuKryptys::insertToDB($i->pavadinimas);
}
}

public function importParamosPriemones(){
$sheetNr = 0;

$kryptys = ParamosPriemonesParseris::rastiKryptis($this->xlsData, $sheetNr);
foreach ($kryptys as $i){
$idKryptis = ParamosPriemoniuKryptys::select("Pavadinimas = '" . repairSqlInjection($i->pavadinimas) . "'");
foreach ($i->paramosPriemones as $j){
if (sizeof($idKryptis) > 0){
ParamosPriemones::insertToDB($j->kodas, $j->pavadinimas, $idKryptis[0]);
}
}
}
}

public function importParamosAdministravimas(){
$sheetNr = 4;

$padaliniai = ParamosAdministravimasParseris::rastiAdministravimoSanaudas($this->xlsData, $sheetNr);
foreach ($padaliniai as $i){
$idPadalinys = Padaliniai::select("Kodas = '" . repairSqlInjection($i->kodas) . "'");
foreach ($i->paramosPriemones as $j){
$idParamosPriemone = ParamosPriemones::select("Kodas = '" . repairSqlInjection($j->kodas) . "'");
if ((sizeof($idPadalinys) > 0) && (sizeof($idParamosPriemone) > 0)){
ParamosAdministravimas::insert($idParamosPriemone[0], $idPadalinys[0], $j->administravimoSanaudos);
}
}
}
}

public function importParamosKiekiai(){
$sheetNr = 5;

$kiekiai = ParamosKiekiaiParseris::rastiParamosKiekius($this->xlsData, $sheetNr);
foreach($kiekiai as $i){
$idParamosPriemone = ParamosPriemones::select("Kodas = '" . repairSqlInjection($i->priemonesKodas) . "'");
if (sizeof($idParamosPriemone) > 0){
ParamosKiekiai::insertToDB($idParamosPriemone[0], $i->paramosNuo, $i->paramosIki, $i->kiekis);
}
}
}

public function import()
{
$this->importIS();
$this->importPadaliniai();
$this->importIS_Padaliniai();
$this->importParamosPriemoniuKryptys();
$this->importParamosPriemones();
$this->importParamosAdministravimas();
$this->importParamosKiekiai();
}

}

?>
2 changes: 1 addition & 1 deletion XlsParsers/ISParseris.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

class InformacineSitema
class InformacineSistema
{
public $kodas;
public $pavadinimas;
Expand Down
5 changes: 5 additions & 0 deletions XlsParsers/ParamosAdministravimasParseris.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@

class ParamosAdministravimasParseris
{
/*
return:
Padalinys{kodas, paramosPriemones}
paramosPriemone{priemonesKodas, administravimoSanaudos}
*/
static public function rastiAdministravimoSanaudas($xlsData, $sheetNr)
{
$res = array();
Expand Down
9 changes: 7 additions & 2 deletions XlsParsers/ParamosKiekiaiParseris.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<?php
require_once("ParamosKiekiai.php");
require_once("ParamosKiekis.php");

class ParamosKiekiaiParseris
{

/*
return:
ParamosKiekis[]{priemonesKodas, paramosNuo, paramosIki, kiekis}
*/
static public function rastiParamosKiekius($xlsData, $sheetNr)
{
$res = array();

for ($i = 2; $i <= $xlsData->rowcount($sheetNr); $i++){
$paramosKiekiai = new ParamosKiekiai();
$paramosKiekiai = new ParamosKiekis();
$paramosKiekiai->priemonesKodas = $xlsData->val($i, 1, $sheetNr);
$paramosKiekiai->paramosNuo = $xlsData->val($i, 2, $sheetNr);
$paramosKiekiai->paramosIki = $xlsData->val($i, 3, $sheetNr);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php
class ParamosKiekiai
class ParamosKiekis
{
public $priemonesKodas;
public $paramosNuo;
Expand Down
Binary file added psi.xls
Binary file not shown.

0 comments on commit f5a72fb

Please sign in to comment.