Skip to content

Commit

Permalink
xls parseriai
Browse files Browse the repository at this point in the history
  • Loading branch information
povilasb committed Nov 22, 2011
1 parent 5d27e75 commit 6328f1f
Show file tree
Hide file tree
Showing 10 changed files with 1,979 additions and 0 deletions.
37 changes: 37 additions & 0 deletions XlsParsers/ISParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

class InformacineSitema
{
public $kodas;
public $pavadinimas;

public function __construct($kodas, $pavadinimas){
$this->kodas = $kodas;
$this->pavadinimas = $pavadinimas;
}
}

/*
Informaciiniø sistemø parseris
$xlsData Spreadsheet_Excel_Reader klasës objektas
*/
class ISParseris
{
static public function rastiIS($xlsData, $sheetNr){
$res = array();

for ($i = 2; $i <= $xlsData->rowcount($sheetNr); $i++){
$IS = new InformacineSistema($xlsData->val($i, 1, $sheetNr), $xlsData->val($i, 2, $sheetNr));
$res[] = $IS;
}

return($res);
}

/*Bandoma nustatyti ar dokumentas yra tikrai padaliniø sarasas*/
static function validuotiDokumenta(){
return(TRUE);
}
}

?>
30 changes: 30 additions & 0 deletions XlsParsers/IS_PadaliniaiParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php
require_once("Padalinys.php");

class IS_PadaliniaiParseris
{
static public function rastiIS_Padalinius($xlsData, $sheetNr){
$res = array();

for ($i = 2; $i <= $xlsData->colcount($sheetNr) - 1; $i++){
$padalinioKodas = $xlsData->val(3, $i, $sheetNr);
$padalinys = new Padalinys($padalinioKodas, "");
$res[] = $padalinys;

for ($j = 4; $j <= $xlsData->rowcount($sheetNr) - 1; $j++){
$isKodas = $xlsData->val($j, 1, $sheetNr);
if ($xlsData->val($j, $i, $sheetNr) == "1"){
$padalinys->naudojamosIS[] = $isKodas;
}
}
}

return($res);
}

/*Bandoma nustatyti ar dokumentas yra tikrai padaliniø sarasas*/
static public function validuotiDokumenta(){
return(TRUE);
}
}
?>
23 changes: 23 additions & 0 deletions XlsParsers/PadaliniaiParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php
require_once("Padalinys.php");

class PadaliniaiParseris
{
static public function rastiPadalinius($xlsData, $sheetNr){
$res = array();

for ($i = 2; $i <= $xlsData->rowcount($sheetNr); $i++){
$padalinys = new Padalinys($xlsData->val($i, 1, $sheetNr), $xlsData->val($i, 2, $sheetNr));
$res[] = $padalinys;
}

return($res);
}

/*Bandoma nustatyti ar dokumentas yra tikrai padaliniø sarasas*/
static public function validuotiDokumenta(){
return(TRUE);
}
}

?>
14 changes: 14 additions & 0 deletions XlsParsers/Padalinys.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?php
class Padalinys
{
public $kodas;
public $pavadinimas;
public $naudojamosIS = array(); //informaciniu sistemu kodai
public $paramosPriemones = array(); //ParamosPriemone objektu masyvas

public function __construct($kodas, $pavadinimas){
$this->kodas = $kodas;
$this->pavadinimas = $pavadinimas;
}
}
?>
30 changes: 30 additions & 0 deletions XlsParsers/ParamosAdministravimasParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php
require_once("ParamosPriemone.php");

class ParamosAdministravimasParseris
{
static public function rastiAdministravimoSanaudas($xlsData, $sheetNr)
{
$res = array();

for ($i = 2; $i <= $xlsData->colcount($sheetNr) - 1; $i++){
$padalinys = new Padalinys($xlsData->val(3, $i, $sheetNr), "");
$res[] = $padalinys;

for ($j = 4; $j <= $xlsData->rowcount($sheetNr) - 1; $j++){
$paramosPriemonesKodas = $xlsData->val($j, 1, $sheetNr);
$paramosPriemone = new ParamosPriemone($paramosPriemonesKodas, "");
$paramosPriemone->administravimoSanaudos = (float)$xlsData->val($j, $i, $sheetNr);
$padalinys->paramosPriemones[] = $paramosPriemone;
}
}

return $res;
}

/*Bandoma nustatyti ar dokumentas yra tikrai paramos priemoniu sarasas*/
static public function validuotiDokumenta(){
return(TRUE);
}
}
?>
9 changes: 9 additions & 0 deletions XlsParsers/ParamosKiekiai.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php
class ParamosKiekiai
{
public $priemonesKodas;
public $paramosNuo;
public $paramosIki;
public $kiekis;
}
?>
27 changes: 27 additions & 0 deletions XlsParsers/ParamosKiekiaiParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php
require_once("ParamosKiekiai.php");

class ParamosKiekiaiParseris
{
static public function rastiParamosKiekius($xlsData, $sheetNr)
{
$res = array();

for ($i = 2; $i <= $xlsData->rowcount($sheetNr); $i++){
$paramosKiekiai = new ParamosKiekiai();
$paramosKiekiai->priemonesKodas = $xlsData->val($i, 1, $sheetNr);
$paramosKiekiai->paramosNuo = $xlsData->val($i, 2, $sheetNr);
$paramosKiekiai->paramosIki = $xlsData->val($i, 3, $sheetNr);
$paramosKiekiai->kiekis = $xlsData->val($i, 4, $sheetNr);
$res[] = $paramosKiekiai;
}

return($res);
}

/*Bandoma nustatyti ar dokumentas yra tikrai paramos priemoniu sarasas*/
static public function validuotiDokumenta(){
return(TRUE);
}
}
?>
13 changes: 13 additions & 0 deletions XlsParsers/ParamosPriemone.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php
class ParamosPriemone
{
public $kodas;
public $pavadinimas;
public $administravimoSanaudos;

public function __construct($kodas, $pavadinimas){
$this->kodas = $kodas;
$this->pavadinimas = $pavadinimas;
}
}
?>
43 changes: 43 additions & 0 deletions XlsParsers/ParamosPriemonesParseris.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?php
require_once("ParamosPriemone.php");

class ParamosPriemoniuKryptis
{
public $pavadinimas;
public $paramosPriemones = array();
}

class ParamosPriemonesParseris
{

/*
Ið "Paramos priemoniø" xls failo iðparsina visas kryptis, paramos priemones ir gràþina jas masyve.
Masyvas yra klasiø ParamosPriemoniuKryptis tipo.
*/
static public function rastiKryptis($xlsData, $sheetNr){
$res = array();

for ($i = 2; $i <= $xlsData->rowcount($sheetNr); $i++){
$line = $xlsData->val($i, 2, $sheetNr);

if (strpos($line, "KRYPTIS") !== FALSE){
$pavadinimas = explode("KRYPTIS", $line);
$kryptis = new ParamosPriemoniuKryptis();
$kryptis->pavadinimas = $pavadinimas[1];
$res[] = $kryptis;
}
else{
$pavadinimas = explode(".", $line);
$paramosPriemone = new ParamosPriemone($xlsData->val($i, 1, $sheetNr), $pavadinimas[1]);
$res[sizeof($res) - 1]->paramosPriemones[] = $paramosPriemone;
}
}
return($res);
}

/*Bandoma nustatyti ar dokumentas yra tikrai paramos priemoniu sarasas*/
static public function validuotiDokumenta(){
return(TRUE);
}
}
?>
Loading

0 comments on commit 6328f1f

Please sign in to comment.