$this->transObj = DB_DataObject::Factory('invhist_transfer');
$this->transObj->query('BEGIN');
- $this->jerr('IN');
+
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
$img = DB_DataObject::Factory('images');
$this->jerr("invalid file");
}
-
+
$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){
+ $ret[preg_replace(array('/\s/', '/\:/'), '', $n[0])] = $n[1];
+ continue;
+ }
+
+ if(!$cols){
$cols = array();
foreach($n as $k) {
$cols[] = strtoupper(trim($k));
if (empty($cols)) {
continue;
}
- foreach($req as $r) {
- if (!in_array($r,$cols)) {
- $cols = false;
- break;
- }
- }
+
+
continue;
}
+
foreach($cols as $i=>$k) {
$row[$k] = $n[$i];
}
$rows[] = $row;
+
}
- 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;
}