}
$req = array(
- 'LINE', 'ITEM CODE', 'DESCRIPTION', 'QUANTITY', 'AA'
+ 'LINE', 'ITEM CODE', 'DESCRIPTION', 'QUANTITY'
);
- $cols[] = false;
- $rows = array();
+ $cols = false;
$header = false;
+ $rows = array();
+ $ret = array();
while(false !== ($n = fgetcsv($fh,10000, ',', '"'))) {
if(!array_filter($n)){
}
if(!$header){
- $rows[$n[0]] = $n[1];
+ $ret[preg_replace(array('/\s/', '/\:/'), '', $n[0])] = $n[1];
continue;
}
- print_r($n);exit;
+
if(!$cols){
$cols = array();
foreach($n as $k) {
$cols[] = strtoupper(trim($k));
}
- print_r($cols);exit;
+
if (empty($cols)) {
continue;
}
- print_r($cols);exit;
+
foreach($req as $r) {
if (!in_array($r,$cols)) {
- print_r($r);
$cols = false;
break;
}
$rows[] = $row;
}
- exit;
+
if (empty($cols)) {
$this->jerr("could not find a row with " . implode(' / ', $req));
}
fclose($fh);
+ $lc = DB_DataObject::factory('location');
+ if($lc->get('location_name', $ret['From'])){
+ $this->jerr('error occur on getting location with reference ' . $ret['From']);
+ }
+ $ret['invhist_transfer_from'] = $lc->pid();
+ $ret['invhist_transfer_from_location_name'] = $lc->location_name;
+
+ $lt = DB_DataObject::factory('location');
+ if($lt->get('location_name', $ret['To'])){
+ $this->jerr('error occur on getting location with reference ' . $ret['From']);
+ }
+ $ret['invhist_transfer_to'] = $lt->pid();
+ $ret['invhist_transfer_to_location_name'] = $lt->location_name;
+
+ foreach ($rows 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['data'][] = 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']
+ );
+ }
+
+ $this->jok($ret);
+
+
exit;
}