3 require_once 'Pman/Core/ExcelToJson.php';
5 class Pman_Xtuple_Import_Transfer extends Pman_Core_ExcelToJson
9 if (HTML_FlexyFramework::get()->cli) {
12 return parent::getAuth();
20 function importCsv($csv)
22 $ret = parent::importCsv($csv);
26 $ret['data'] =$ret['extra'];
28 // can not handle extra data.. .as image calls back with result.data...
31 $lc = DB_DataObject::factory('location');
32 if(!empty($ret['extra']['From']) && $lc->get('location_name', $ret['extra']['From'])){
33 $ret['data']['invhist_transfer_from'] = $lc->pid();
34 $ret['data']['invhist_transfer_from_location_name'] = $lc->location_name;
38 $lt = DB_DataObject::factory('location');
39 if(!empty($ret['extra']['To']) && $lt->get('location_name', $ret['extra']['To'])){
40 $ret['data']['invhist_transfer_to'] = $lt->pid();
41 $ret['data']['invhist_transfer_to_location_name'] = $lt->location_name;
44 $ourdb = substr($lt->database(), -2);
46 $ltc = ($lt->location_id && $lt->location_cust_id ) ? $lt->customer()->char('INTERNALCOMPANY') : '';
48 $ret['data']['isInter'] = 0;
49 if(strlen($ltc) && $ourdb != $ltc){
50 $ret['data']['isInter'] = 1;
55 foreach ($data as $r){
56 $itemsite = DB_DataObject::factory('itemsite');
57 $itemsite->autoJoin();
58 $itemsite->whereAdd("UPPER(join_itemsite_item_id_item_id.item_number) = UPPER('{$itemsite->escape(trim($r['ITEM CODE']))}')");
59 if(!$itemsite->find(true)){
60 $errmsg[] = $r['ITEM CODE'];
63 $r['UNIT PRICE'] = isset($r['UNIT PRICE'] ) ? $r['UNIT PRICE'] : '';
64 $ret['data']['items'][] = array(
65 'itemsite_item_id' => $itemsite->itemsite_item_id,
66 'itemsite_id' => $itemsite->pid(),
67 'itemsite_item_id_item_number' => trim($r['ITEM CODE']),
68 'itemsite_item_id_item_descrip1' => !empty($r['DESCRIPTION']) ? $r['DESCRIPTION'] : $itemsite->itemsite_item_id_item_descrip1,
69 'itemsite_qty' => $r['QUANTITY'],
70 'unit_price' => (strlen($ltc) && $ourdb != $ltc) ? $r['UNIT PRICE'] : ''
75 $this->jerr("MISSING \n" . implode("\n", $errmsg));