ExcelToJson.php
[Pman.Core] / ExcelToJson.php
index 059ed0e..b844fee 100644 (file)
@@ -17,7 +17,7 @@ class Pman_Core_ExcelToJson extends Pman_Roo
         $this->transObj = DB_DataObject::Factory('invhist_transfer');
         
         $this->transObj->query('BEGIN');
-        print_r('run');exit;
+        
         PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
         
         $img = DB_DataObject::Factory('images');
@@ -42,13 +42,27 @@ class Pman_Core_ExcelToJson extends Pman_Roo
             $this->jerr("invalid file");
         }
         
+        $req = array(
+            'LINE', 'ITEM CODE', 'DESCRIPTION', 'QUANTITY'
+        );
         
         $cols = false;
+        $header = false;
         $rows = array();
+        $ret = array();
         
         while(false !== ($n = fgetcsv($fh,10000, ',', '"'))) {
-            if (!$cols) {
-                
+            if(!array_filter($n)){
+                $header = true;
+                continue;
+            }
+            
+            if(!$header){
+               $rows[strtoupper($n[0])] = $n[1];
+               continue;
+            }
+            
+            if(!$cols){
                 $cols = array();
                 foreach($n as $k) {
                     $cols[] = strtoupper(trim($k));
@@ -57,6 +71,7 @@ class Pman_Core_ExcelToJson extends Pman_Roo
                 if (empty($cols)) {
                     continue;
                 }
+               
                 foreach($req as $r) {
                     if (!in_array($r,$cols)) {
                         $cols = false;
@@ -65,10 +80,12 @@ class Pman_Core_ExcelToJson extends Pman_Roo
                 }
                 continue;
             }
+            
             foreach($cols as $i=>$k) {
                 $row[$k] = $n[$i];
             }
-            $rows[] = $row;
+            $rows['TRANSFER ITEMS'][] = $row;
+            
         }
         
         if (empty($cols)) {
@@ -77,6 +94,26 @@ class Pman_Core_ExcelToJson extends Pman_Roo
         
         fclose($fh);
         
+        foreach ($rows['TRANSFER ITEMS'] as $r){
+            $itemsite = DB_DataObject::factory('itemsite');
+            $itemsite->autoJoin();
+            $itemsite->whereAdd("join_itemsite_item_id_item_id.item_number = '{$itemsite->escape($r['ITEM CODE'])}'");
+            if(!$itemsite->find(true)){
+                $this->jerr("error occur on getting item with reference " . $r['ITEM CODE']);
+            }
+            
+            $ret[] = array(
+                'itemsite_item_id' => $itemsite->itemsite_item_id,
+                'itemsite_id' => $itemsite->pid(),
+                'itemsite_item_id_item_number' => $r['ITEM CODE'],
+                'itemsite_item_id_item_descrip1' => $r['DESCRIPTION'],
+                'itemsite_qty' => $r['QUANTITY']
+            );
+        }
+        print_r($ret);exit;
+        $this->jok($ret);
+        
+        
         exit;
     }