/** *添加指定表记录,返回TRUE or FALSE */ public static function act_insertRow($tName, $set) { $ret = OmAvailableModel::insertRow($tName, $set); if ($ret !== FALSE) { return $ret; } else { self::$errCode = OmAvailableModel::$errCode; self::$errMsg = OmAvailableModel::$errMsg; return false; } }
require_once "scripts.comm.php"; $accountArr = UserCacheModel::getOpenSysApi("getaccount", array('add' => 1)); $platformArr = array("aliexpress" => 2, "cndirect" => 8, "DHgate" => 4, "dresslink" => 10, "ebay平台" => 1, "Newegg" => 15, "亚马逊" => 11, "出口通" => 3, "国内销售部" => 16, "天猫哲果" => 13, "天猫芬哲" => 12, "海外仓" => 14, "海外销售平台" => 1, "线下结算客户" => 9); foreach ($accountArr as $account) { $insertarr = array(); foreach ($platformArr as $key => $value) { if ($key == $account['ebay_platform']) { $platformId = $value; break; } } $insertarr['id'] = $account['id']; $insertarr['account'] = $account['ebay_account']; $insertarr['addTime'] = 0; $insertarr['addUser'] = $account['ebay_user']; $insertarr['platformId'] = $platformId; $insertarr['appname'] = $account['appname']; $insertarr['email'] = $account['mail']; $insertarr['suffix'] = $account['account_suffix']; $insertarr['token'] = $account['ebay_token']; $count = OmAvailableModel::getTNameList("fb_account", "id", " where id={$account['id']}"); $sql = array2sql($insertarr); if (!count($count) > 0) { if (OmAvailableModel::insertRow("fb_account", " set {$sql}")) { echo "{$account['id']} \n"; } else { echo "失败"; } } unset($insertarr); }
foreach ($v as $v0) { $sku_price += $v0['real_price']; $qty += $v0['qty']; } //$fedex_remark['ebay_ordersn'] = $order['ebay_ordersn']; $fedex_remark['price'] = round($sku_price / $qty, 2); $fedex_remark['amount'] = $qty; $fedex_remark['hamcodes'] = $v[0]['hamcodes']; if ($carrierList[$orderdata['transportId']] == 'DHL' || $carrierList[$orderdata['transportId']] == 'EMS') { $fedex_remark['price'] = round($sku_price, 2); } $fedex_remark['createdTime'] = time(); $fedex_remark['omOrderId'] = $omOrderId; $fedex_remark['creatorId'] = 253; //$insert_fedex_sql = "INSERT INTO fedex_remark set ".array2sql($fedex_remark); $info = OmAvailableModel::insertRow("om_express_remark", " set " . array2sql($fedex_remark)); if ($info) { //echo "----<font color=green> {$order['recordnumber']} 导入海关记录成功!</font><br>"; } else { //echo $insert_fedex_sql; echo "<br>"; //echo "----<font color=red>{$order['recordnumber']} 导入海关记录失败!</font><br>"; $fail_order[] = $orderdata['recordnumber']; } } //echo "订单".$ebay_id."抓取成功!<br>"; //baseModel::commit(); } if ($val['ACK'] != "Success") { if ($val['Errors']['ShortMessage'] != "") { echo "orderdetails ShortMessage:" . $val['Errors']['ShortMessage'] . "\n"; }
function updateNewPostion($sku, $location) { global $dbConn; $goodsinfos = OmAvailableModel::getTNameList("pc_goods", "sku,id", "where sku='{$sku}'"); $pId = $goodsinfos[0]['id']; //产品id if ($location) { $sql1 = "select * from `wh_position_distribution` where pName = '{$location}'"; $query = $dbConn->query($sql1); $wh_position_distribution = $dbConn->fetch_array($query); if ($wh_position_distribution) { $positionId = $wh_position_distribution['id']; //$postionId = OmAvailableModel::insertRow2("wh_position_distribution","set pName='$location',x_alixs=0,y_alixs=0,z_alixs=0,floor=0,is_enable=0,type=1,storeId=2"); if ($positionId) { $positioninfos = OmAvailableModel::getTNameList("wh_product_position_relation", "id", "where pId='{$pId}' and storeId = '{$wh_position_distribution['storeId']}'"); if (!empty($positioninfos)) { if ($data = OmAvailableModel::updateTNameRow("wh_product_position_relation", "set positionId='{$positionId}', storeId={$wh_position_distribution['storeId']}", " where pId='{$pId}' and storeId = '{$wh_position_distribution['storeId']}'")) { //echo "update <".$sku."> ===(".$positionId.") success\n"; return true; } else { return false; } } else { //$infos = OmAvailableModel::getTNameList("wh_sku_location","sku,actualStock","where sku='{$sku}'"); // $num = $info['actualStock']; $data = OmAvailableModel::insertRow("wh_product_position_relation", "set pId='{$pId}',positionId='{$positionId}', storeId={$wh_position_distribution['storeId']}"); } } else { return false; } } else { return false; } } }
public function act_whReturnSkuShelf() { //print_r($_POST); $sku = trim($_POST['sku']); $sku = get_goodsSn($sku); $nums = $_POST['nums']; $select_now_position = $_POST['select_now_position']; $select_now_store = $_POST['select_now_store']; $select_hope_position = $_POST['select_hope_position']; $select_hope_store = $_POST['select_hope_store']; if (empty($sku)) { self::$errCode = 401; self::$errMsg = "sku不能为空"; return false; } if (empty($select_now_position) && empty($select_now_store) && empty($select_hope_position) && empty($select_hope_store)) { self::$errCode = 401; self::$errMsg = "上架位置不能为空"; return false; } $where = "where sku='{$sku}' and status=0"; $tallying_list = PostReturnModel::getReturnList("*", $where); if (empty($tallying_list)) { self::$errCode = 402; self::$errMsg = "无该料号退回信息"; return false; } else { $tallying_num = 0; foreach ($tallying_list as $tallying) { $tallying_num += $tallying['ichibanNums'] - $tallying['shelvesNums']; } if ($nums > $tallying_num) { self::$errCode = 402; self::$errMsg = "上架数不能大于qc良品数[{$tallying_num}]"; return false; } } if ($nums < 1) { self::$errCode = 403; self::$errMsg = "入库数量不能小于1"; return false; } $where = " where sku = '{$sku}'"; $skuinfo = whShelfModel::selectSku($where); if (empty($skuinfo)) { self::$errCode = 404; self::$errMsg = "无该料号信息"; return false; } else { $skuId = $skuinfo['id']; $purchaseId = $skuinfo['purchaseId']; } $userId = $_SESSION['userId']; $in_positionId = 0; TransactionBaseModel::begin(); /***无料号对应仓位的关系时更新关系表***/ if ($select_hope_store != 0 || $select_hope_position != 0) { $type = 1; $positionId = $select_hope_position; if ($select_hope_store != 0) { $type = 2; $positionId = $select_hope_store; } $in_positionId = $positionId; $tname = "wh_product_position_relation"; $set = "set pId='{$skuId}',positionId='{$positionId}',nums='{$nums}',type='{$type}'"; $insert_relation = OmAvailableModel::insertRow($tname, $set); if (!$insert_relation) { self::$errCode = 408; self::$errMsg = "插入关系表失败!"; TransactionBaseModel::rollback(); return false; } //更新仓位使用状态 $update_position = OmAvailableModel::updateTNameRow("wh_position_distribution", "set is_enable=1", "where id={$positionId}"); if ($update_position === false) { self::$errCode = 409; self::$errMsg = "更新仓位使用状态失败!"; TransactionBaseModel::rollback(); return false; } } //更新指定仓位存货数量 if ($select_now_store != 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_store}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_store}'"); if (!$update_position) { self::$errCode = 410; self::$errMsg = "更新仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } if ($select_now_store == 0 && $select_hope_position == 0 && $select_hope_store == 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_position}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_position}'"); if (!$update_position) { self::$errCode = 411; self::$errMsg = "更新仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } /**** 更新总库存 *****/ $where = "where sku='{$sku}'"; $info = whShelfModel::updateStoreNumOnly($nums, $where); if (!$info) { self::$errCode = 412; self::$errMsg = "更新总库存失败!"; TransactionBaseModel::rollback(); return false; } /**** 插入出入库记录 *****/ $paraArr = array('sku' => $sku, 'amount' => $nums, 'positionId' => $in_positionId, 'purchaseId' => $purchaseId, 'ioType' => 2, 'ioTypeId' => 14, 'userId' => $userId, 'reason' => '退货料号入库'); $record = CommonModel::addIoRecores($paraArr); //出库记录 if (!$record) { self::$errCode = 413; self::$errMsg = "插入出入库记录失败!"; TransactionBaseModel::rollback(); return false; } //更新邮局退回记录状态 $where = "where sku='{$sku}' and status=0 and ichibanNums>0"; $list = PostReturnModel::getReturnList("*", $where); $i = 0; while ($list[$i] && $nums) { $need_nums = $list[$i]['ichibanNums'] - $list[$i]['shelvesNums']; if ($nums >= $need_nums) { //更改状态 $msg = PostReturnModel::updateReturnStatus($list[$i]['id'], $need_nums); if (!$msg) { self::$errCode = 413; self::$errMsg = "更新邮局退回记录状态失败!"; TransactionBaseModel::rollback(); return false; } $nums = $nums - $need_nums; } else { $msg = PostReturnModel::updateReturnShelfNum($list[$i]['id'], $nums); if (!$msg) { self::$errCode = 414; self::$errMsg = "更新邮局退回记录已上架数量失败!"; TransactionBaseModel::rollback(); return false; } $nums = 0; } $i++; } TransactionBaseModel::commit(); self::$errMsg = "料号[{$sku}]入库成功!"; return true; }
public static function showPrintPartionLabel($shipOrderId, $carrier, $countryName) { self::initDB(); $result = array(); $sz_array = $sz_namebiref_array = $sz_fromaddresshtml_array = array(); $partions = CommonModel::getChannelNameByIds('all'); foreach ($partions as $partion) { $sz_array[$partion['partitionCode']] = $partion['countries']; $sz_namebiref_array[$partion['partitionCode']] = $partion['partitionAli']; $sz_fromaddresshtml_array[$partion['partitionCode']] = htmlspecialchars_decode($partion['returnAddHtml']); } //匹配回邮地址 foreach ($sz_array as $sz_key => $sz_value) { $sz_value_arr = explode("],[", $sz_value); $sz_value_arr[0] = str_replace("[", "", $sz_value_arr[0]); $sz_value_arr[count($sz_value_arr) - 1] = str_replace("]", "", $sz_value_arr[count($sz_value_arr) - 1]); if (!empty($countryName) && in_array(trim($countryName), $sz_value_arr)) { $result = array($sz_namebiref_array[$sz_key], $sz_fromaddresshtml_array[$sz_key]); break; } } //增加因缺少国家直接为福七区的逻辑 add by guanyongjun 2014/03/07 if (!in_array($countryName, array('Australia', 'Australla')) && empty($result)) { $addUser = empty($_SESSION['sysUserId']) ? 0 : $_SESSION['sysUserId']; $tName = 'wh_no_country_partion'; $set = "SET shipOrderId='{$shipOrderId}',countryName='[{$countryName}]',userId='{$addUser}',createdTime='" . time() . "'"; $affectRow = OmAvailableModel::insertRow($tName, $set); $result = array($sz_namebiref_array[7], $sz_fromaddresshtml_array[7]); } return $result; // if(strpos($carrier, '中国邮政')!==false){ // if(in_array(trim($countryName), array('Albania','Algeria','Argentina','Egypt','Ethiopia','Estonia','Anguilla','Austria','Bahrain','Panama','Belarus','Bulgaria','Benin','Belgium','Iceland','Bosnia and Herzegovina','Bolivia','Botswana','Burkina Faso','Burundi','Denmark','Togo','Dominica','Russian Federation','Ecuador','Falkland Islands(Malvinas)','Gambia','Colombia','Costa Rica','Greenland','Georgia','Guyana','Haiti','Djibouti','Guinea','Guinea','Ghana','Cambodia','Czech Republic','Zimbabwe','Cameroon','Qatar','Cote d Ivoire (Ivory Coast)','Kuwait','Kenya','Latvia','Lesotho','Laos','Lebanon','Lithuania','Liberia','Libya','Rwanda','Romania','Madagascar','Malta','Malawi','Mali','Mauritania','Mongolia','Bangladesh','Peru','Morocco','Mozambique','Namibia','Nepal','Niger','Nigeria','Palau','Portugal','Sweden','Senegal','Cyprus','Seychelles','Slovakia','Sudan','Suriname','Tanzania','Trinidad and Tobago','Tunisia','Turkey','Venezuela','Uganda','Uruguay','Western Sahara','Greece','Hungary','Syria','Jamaica','Armenia','Yemen','Iraq','Iran','India','Zambia','Zaire','Chad','Chile','Cuba,Republic of','Congo, Republic of the','Congo, Democratic Republic of the','Russia','Azerbaijan Republic','Azerbaijan','Dominica','Dominican Republic','Equatorial Guinea','Gabon Republic','Papua New Guinea'))/* || $ebay_carrierstyle == 1*/){ // return array($sz_namebiref_array[7], $sz_fromaddresshtml_array[7]); // }else{ // $mailways = self::getOrderGoodsMailwayIds($shipOrderId); // if(in_array(2,$mailways) || in_array(5,$mailways)){ // foreach($sz_array as $sz_key => $sz_value){ // $sz_value_arr = explode("],[",$sz_value); // $sz_value_arr[0] = str_replace("[","",$sz_value_arr[0]); // $sz_value_arr[count($sz_value_arr)-1] = str_replace("]","",$sz_value_arr[count($sz_value_arr)-1]); // if(!empty($countryName) && in_array(trim($countryName),$sz_value_arr)){ // return array($sz_namebiref_array[$sz_key], $sz_fromaddresshtml_array[$sz_key]); // break; // } // } // }else if(in_array(1,$mailways)){ // return array($sz_namebiref_array[7], $sz_fromaddresshtml_array[7]); // } // } // } }
public function view_index() { /*$OmAccountAct = new OmAccountAct(); $ebayAccountList = $OmAccountAct->act_getEbayAccountList(); print_r($ebayAccountList);*/ //print_r($_SESSION); $orderid = isset($_GET['orderid']) ? $_GET['orderid'] : ""; if (isset($_POST['orderid'])) { $orderid = $_POST['orderid']; $where = " where omOrderId ={$orderid}"; $details = OmAvailableModel::getTNameList("om_unshipped_order_detail", "*", $where); $order = OmAvailableModel::getTNameList("om_unshipped_order", "*", "where id={$orderid}"); $accountId = $order[0]['accountId']; $message = ""; foreach ($details as $detail) { $sql_arr = array(); $sql_arr['omOrderId'] = $orderid; $sql_arr['sku'] = $detail['sku']; $sql_arr['amount'] = $detail['amount']; $sql_arr['accountId'] = $accountId; $app = $detail['sku'] . "*app"; $reason1 = $detail['sku'] . "*reason1"; $reason2 = $detail['sku'] . "*reason2"; $remark = $detail['sku'] . "*remark"; $sql_arr['type'] = $_POST[$app]; $sql_arr['reason1'] = $_POST[$reason1]; $sql_arr['reason2'] = $_POST[$reason2]; $sql_arr['remark'] = $_POST[$remark]; $sql_arr['userId'] = $_SESSION['sysUserId']; $sql_arr['createdTime'] = time(); if ($sql_arr['type'] == "" && $sql_arr['reason1'] == "" && $sql_arr['reason2'] == "" && $sql_arr['remark'] == "") { continue; } elseif ($sql_arr['type'] != "" && ($sql_arr['reason1'] != "" || $sql_arr['reason2'] != "")) { $set = array2sql($sql_arr); $where = " where omOrderId={$orderid} and sku='{$detail['sku']}'"; $order_appraise = OmAvailableModel::getTNameList("om_order_detail_appraisal", "*", $where); if ($order_appraise) { $msg = OmAvailableModel::updateTNameRow("om_order_detail_appraisal", " set " . $set, $where); if (!$msg) { $message .= "<font color='red'>料号{$detail['sku']}数据保存失败!</font><br>"; } else { $message .= "<font color='green'>料号{$detail['sku']}数据保存成功!</font><br>"; } } else { $msg = OmAvailableModel::insertRow("om_order_detail_appraisal", " set " . $set); if (!$msg) { $message .= "<font color='red'>料号{$detail['sku']}数据保存失败!</font><br>"; } else { $message .= "<font color='green'>料号{$detail['sku']}数据保存成功!</font><br>"; } } } else { $message .= "<font color='red'>请将料号{$detail['sku']}的数据填写完整!</font><br>"; } } $this->smarty->assign("message", $message); } $where = " where omOrderId ={$orderid}"; $details = OmAvailableModel::getTNameList("om_unshipped_order_detail", "*", $where); $reasons = OmAvailableModel::getTNameList("om_order_refund_reason", "*", " where typeId=3"); $reason = array(); foreach ($reasons as $value) { $reason[$value['id']] = $value['reason']; } $appraise = array(); $i = 0; foreach ($details as $detail) { $where = " where omOrderId={$orderid} and sku='{$detail['sku']}'"; $order_appraise = OmAvailableModel::getTNameList("om_order_detail_appraisal", "*", $where); if ($order_appraise) { foreach ($order_appraise as $key => $value) { $appraise[$i]['reason1'] = $value['reason1']; $appraise[$i]['reason2'] = $value['reason2']; $appraise[$i]['type'] = $value['type']; $appraise[$i]['sku'] = $detail['sku']; $appraise[$i]['remark'] = $value['remark']; } } else { $appraise[$i]['reason1'] = ""; $appraise[$i]['reason2'] = ""; $appraise[$i]['type'] = ""; $appraise[$i]['sku'] = $detail['sku']; $appraise[$i]['remark'] = ""; } $i++; } //print_r($appraise); $this->smarty->assign("skuinfoList", $appraise); $this->smarty->assign("reasonList", $reason); $this->smarty->assign("orderid", $orderid); $this->smarty->assign("ebayAccountList", $ebayAccountList); $this->smarty->assign('toptitle', '添加B2B中差评'); $this->smarty->display("negativeFeedback.htm"); }
public function act_modifyOrder() { if (isset($_POST) && !empty($_POST)) { //$OrderModifyAct->act_modifyOrder(); $orderid = isset($_POST['orderid']) ? $_POST['orderid'] : ''; $ostatus = isset($_POST['edit_ostatus']) ? $_POST['edit_ostatus'] : $_POST['ostatus']; $otype = isset($_POST['edit_otype']) ? $_POST['edit_otype'] : $_POST['otype']; $update_order = array(); $update_userinfo = array(); $update_tracknumber = array(); //$orderid = $_POST['orderid']; //var_dump($_POST); exit; $updatestatus = false; if (!empty($_POST['data'])) { $data = $_POST['data']; } if (isset($data['username'])) { $update_userinfo['username'] = $data['username']; } if (isset($data['orderStatus'])) { $update_order['orderStatus'] = $data['orderStatus']; } if (isset($data['orderType'])) { $update_order['orderType'] = $data['orderType']; $updatestatus = true; } if (isset($data['street'])) { $update_userinfo['street'] = $data['street']; } if (isset($data['platformUsername'])) { $update_userinfo['platformUsername'] = $data['platformUsername']; } if (isset($data['address2'])) { $update_userinfo['address2'] = $data['address2']; } if (isset($data['actualShipping'])) { $update_order['actualShipping'] = $data['actualShipping']; } if (isset($data['city'])) { $update_userinfo['city'] = $data['city']; } if (isset($data['state'])) { $update_userinfo['state'] = $data['state']; } if (isset($data['countryName'])) { $update_userinfo['countryName'] = $data['countryName']; } if (isset($data['zipCode'])) { $update_userinfo['zipCode'] = $data['zipCode']; } if (isset($data['landline'])) { $update_userinfo['landline'] = $data['landline']; } if (isset($data['phone'])) { $update_userinfo['phone'] = $data['phone']; } if (isset($data['transportId'])) { $update_order['transportId'] = $data['transportId']; } if (isset($data['update_notes'])) { $update_note = $data['update_notes']; } if (isset($data['note_new'])) { $add_note = $data['note_new']; } if ($data['edit_tracknumber']) { $update_tracknumber['omOrderId'] = $orderid; $update_tracknumber['tracknumber'] = $data['edit_tracknumber']; $update_tracknumber['addUser'] = $_SESSION['sysUserId']; $update_tracknumber['createdTime'] = time(); //var_dump($update_tracknumber); exit; } BaseModel::begin(); //开始事务 if ($update_order) { //$sql = "UPDATE om_unshipped_order set ".array2sql($update_order)." WHERE id = ".$orderid; //$msg = commonModel::orderLog($orderid,$update_order['orderStatus'],$update_order['orderType'],$sql); if (OrderindexModel::updateOrder('om_unshipped_order', $update_order, ' WHERE id = ' . $orderid)) { if ($updatestatus) { $ProductStatus = new ProductStatus(); if (!$ProductStatus->updateSkuStatusByOrderStatus(array($orderid), $batch_ostatus_val, $batch_otype_val)) { BaseModel::rollback(); } } $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "001"; self::$errMsg = "更新订单信息失败!"; BaseModel::rollback(); return false; } } if ($update_userinfo) { //var_dump($update_userinfo); if (OrderindexModel::updateOrder('om_unshipped_order_userInfo', $update_userinfo, ' WHERE omOrderId = ' . $orderid)) { $modify_showerrorinfo = "<font color='green'>更新成功</font>"; } else { self::$errCode = "002"; self::$errMsg = "更新订单用户信息失败!"; BaseModel::rollback(); return false; } } if ($update_tracknumber) { //echo $msg; if (!OrderAddModel::insertOrderTrackRow($update_tracknumber)) { self::$errCode = "003"; self::$errMsg = "更新订单跟踪号插入失败!"; BaseModel::rollback(); return false; } } if ($update_note) { foreach ($update_note as $key => $value) { $notes = explode("###", $value); $where = " where content='{$notes[0]}' and omOrderId={$orderid}"; $set = "set content='{$notes[1]}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::updateTNameRow("om_order_notes", $set, $where); if (!$msg) { self::$errCode = "004"; self::$errMsg = "更新订单备注失败!"; BaseModel::rollback(); return false; } } } if ($add_note) { foreach ($add_note as $key => $value) { $set = "set omOrderId={$orderid},content='{$value}',userId={$_SESSION['sysUserId']},createdTime=" . time(); $msg = OmAvailableModel::insertRow("om_order_notes", $set); if (!$msg) { self::$errCode = "005"; self::$errMsg = "插入订单备注失败!"; BaseModel::rollback(); return false; } } } self::$errCode = "200"; self::$errMsg = "整个订单信息更新成功!"; BaseModel::commit(); BaseModel::autoCommit(); } }
public function act_whShelf() { //print_r($_POST); $userCnName = $_SESSION['userCnName']; $sku = trim($_POST['sku']); $sku = get_goodsSn($sku); $nums = $_POST['nums']; $select_now_position = $_POST['select_now_position']; $select_now_store = $_POST['select_now_store']; $select_hope_position = $_POST['select_hope_position']; $select_hope_store = $_POST['select_hope_store']; if (empty($sku)) { self::$errCode = 401; self::$errMsg = "sku不能为空"; return false; } if (empty($select_now_position) && empty($select_now_store) && empty($select_hope_position) && empty($select_hope_store)) { self::$errCode = 401; self::$errMsg = "上架位置不能为空"; return false; } /* $where = "where sku='{$sku}' and tallyStatus=0"; $tallying_list = packageCheckModel::selectList($where); if(empty($tallying_list)){ self::$errCode = 402; self::$errMsg = "无该料号点货信息"; return false; }else{ $tallying_num = 0; foreach($tallying_list as $tallying){ $tallying_num += $tallying['ichibanNums']-$tallying['shelvesNums']; } if($nums>$tallying_num){ self::$errCode = 402; self::$errMsg = "上架数不能大于点货良品数[{$tallying_num}]"; return false; } } */ if ($nums < 1) { self::$errCode = 403; self::$errMsg = "上架数量不能小于1"; return false; } $where = " where sku = '{$sku}'"; $skuinfo = whShelfModel::selectSku($where); if (empty($skuinfo)) { self::$errCode = 404; self::$errMsg = "无该料号信息"; return false; } else { $skuId = $skuinfo['id']; $purchaseId = $skuinfo['purchaseId']; } /* $purInfo = CommonModel::endPurchaseOrder($sku,$nums); //api获取采购订单处理情况 if($purInfo!=0){ self::$errCode = 405; self::$errMsg = "完结采购订单出错,上架失败"; return false; } //更新旧erp库存 $update_onhand = CommonModel::updateOnhand($sku,$nums); if($update_onhand==0){ self::$errCode = 415; self::$errMsg = "更新erp库存失败"; return false; }*/ $return_num = $nums; $in_positionId = 0; $userId = $_SESSION['userId']; TransactionBaseModel::begin(); /****插入采购未订单记录****/ /* if($return_num>0){ $where = " where sku = '{$sku}' and tallyStatus=0"; $list = whShelfModel::selectList($where); $purchaseId = $list[0]['purchaseId']; $totalNums = 0; foreach($list as $key=>$value){ $totalNums += $value['num']; } if ($return_num==$nums){ $reach_note = "sku[{$sku}]到货{$nums}个,未找到该料号的订单,请物料点货确认和采购补单!"; }else{ $reach_note = "sku[{$sku}]到货{$nums}个,入库完毕后还多余{$return_num}个,请物料点货确认和采购补单!"; } $msg = whShelfModel::insertNoOrder($sku,$return_num,$totalNums,$purchaseId,$userId,$reach_note); if(!$msg){ self::$errCode = whShelfModel::$errCode; self::$errMsg = whShelfModel::$errMsg; return false; } } */ /***无料号对应仓位的关系时更新关系表***/ if ($select_hope_store != 0 || $select_hope_position != 0) { $type = 1; $positionId = $select_hope_position; if ($select_hope_store != 0) { $type = 2; $positionId = $select_hope_store; } $in_positionId = $positionId; $tname = "wh_product_position_relation"; $set = "set pId='{$skuId}',positionId='{$positionId}',nums='{$nums}',type='{$type}',storeId=2"; $insert_relation = OmAvailableModel::insertRow($tname, $set); if (!$insert_relation) { self::$errCode = 408; self::$errMsg = "插入关系表失败!"; TransactionBaseModel::rollback(); return false; } //更新仓位使用状态 $update_position = OmAvailableModel::updateTNameRow("wh_position_distribution", "set is_enable=1", "where id={$positionId}"); if ($update_position === false) { self::$errCode = 409; self::$errMsg = "更新仓位使用状态失败!"; TransactionBaseModel::rollback(); return false; } } //更新指定仓位存货数量 if ($select_now_store != 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_store}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_store}'"); if (!$update_position) { self::$errCode = 410; self::$errMsg = "更新仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } if ($select_now_store == 0 && $select_hope_position == 0 && $select_hope_store == 0) { $positioninfo = whShelfModel::selectRelation("where id={$select_now_position}"); $in_positionId = $positioninfo[0]['positionId']; $update_position = whShelfModel::updateProductPositionRelation($nums, "where id='{$select_now_position}'"); if (!$update_position) { self::$errCode = 411; self::$errMsg = "更新仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } /**** 更新总库存 *****/ $actualStock = whShelfModel::selectSkuNums($sku, 2); if (!empty($actualStock)) { $where = "where sku='{$sku}' and storeId=2"; $info = whShelfModel::updateStoreNum($nums, $where); if (!$info) { self::$errCode = 412; self::$errMsg = "更新总库存失败!"; TransactionBaseModel::rollback(); return false; } } else { $info = packageCheckModel::insertStore($sku, $nums, 2); if (!$info) { self::$errCode = 412; self::$errMsg = "更新总库存失败!"; TransactionBaseModel::rollback(); return false; } } /**** 插入出入库记录 *****/ $paraArr = array('sku' => $sku, 'amount' => $nums, 'positionId' => $in_positionId, 'purchaseId' => $purchaseId, 'ioType' => 2, 'ioTypeId' => 13, 'userId' => $userId, 'reason' => '上架入库', 'storeId' => 2); $record = CommonModel::addIoRecores($paraArr); //出库记录 if (!$record) { self::$errCode = 413; self::$errMsg = "插入出入库记录失败!"; TransactionBaseModel::rollback(); return false; } /* //更新点货记录状态 $where = "where sku='{$sku}' and tallyStatus=0 and ichibanNums>0"; $list = packageCheckModel::selectList($where); $i = 0; while($list[$i]&&$nums){ $need_nums = $list[$i]['ichibanNums']-$list[$i]['shelvesNums']; if($nums >= $need_nums){ //更改状态 $msg = whShelfModel::updateTallyStatus($list[$i]['id'],$need_nums); if(!$msg){ self::$errCode = 413; self::$errMsg = "更新点货记录状态失败!"; TransactionBaseModel :: rollback(); return false; } $nums = $nums-$need_nums; }else{ $msg = whShelfModel::updateShelfNum($list[$i]['id'],$nums); if(!$msg){ self::$errCode = 414; self::$errMsg = "更新点货记录已上架数量失败!"; TransactionBaseModel :: rollback(); return false; } $nums = 0; } $i++; } */ /* $purInfo = CommonModel::endPurchaseOrder($sku,$return_num); //api获取采购订单处理情况 if($purInfo!=0){ self::$errCode = 405; self::$errMsg = "完结采购订单出错,上架失败"; TransactionBaseModel :: rollback(); return false; } //更新旧erp库存 $position_info = PositionModel::getPositionList("pName","where id={$in_positionId}"); $update_onhand = CommonModel::updateOnhand($sku,$return_num,$userCnName,$position_info[0]['pName']); if($update_onhand==0){ self::$errCode = 415; self::$errMsg = "更新旧erp库存失败"; TransactionBaseModel :: rollback(); return false; } */ TransactionBaseModel::commit(); self::$errMsg = "料号[{$sku}]上架成功!"; return true; }
public function view_dresslinkOrderImport() { include_once WEB_PATH . "lib/PHPExcel.php"; //phpexcel include_once WEB_PATH . "conf/scripts/script.ebay.config.php"; $toptitle = 'dresslink线下订单导入'; //头部title $this->smarty->assign('toptitle', $toptitle); $this->smarty->assign('toplevel', 2); $this->smarty->assign('secondlevel', 210); $OmAccountAct = new OmAccountAct(); $dresslinkAccountList = $OmAccountAct->act_dresslinkaccountAllList(); //$dresslinkAccountList = array(array('id'=>8,'account'=>'dresslink.com'),array('id'=>10,'account'=>'cndirect.com')); $this->smarty->assign("dresslinkAccountList", $dresslinkAccountList); if (isset($_FILES['cndlFile']['tmp_name']) && isset($_POST['cndlAccount'])) { $filePath = $_FILES['cndlFile']['tmp_name']; $account = $_POST['cndlAccount']; $PHPExcel = new PHPExcel(); $PHPReader = new PHPExcel_Reader_Excel2007(); if (!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if (!$PHPReader->canRead($filePath)) { echo 'no Excel'; return; } } $PHPExcel = $PHPReader->load($filePath); $currentSheet = $PHPExcel->getSheet(0); $allRow = $currentSheet->getHighestRow(); /**从第二行开始输出,因为excel表中第一行为列名*/ /**取得最大的列号*/ $allColumn = $currentSheet->getHighestColumn(); $orderData = array(); $cndlAccounts = array(); $transportation = CommonModel::getCarrierList(); //所有的 $transportationList = array(); foreach ($transportation as $tranValue) { $transportationList[$tranValue['id']] = $tranValue['carrierNameCn']; } //账号对应 foreach ($dresslinkAccountList as $accounts) { $cndlAccounts[$accounts['id']] = $accounts['account']; } $c = 2; $dresslinks = array(); $ebay_fedex_remark = array(); $ChineseDescs = array(); for ($c = 2; $c <= $allRow; $c++) { $aa = 'A' . $c; $bb = 'B' . $c; $cc = 'C' . $c; $dd = 'D' . $c; $ee = 'E' . $c; $ff = 'F' . $c; $gg = 'G' . $c; $hh = 'H' . $c; $ii = 'I' . $c; $jj = 'J' . $c; $kk = 'K' . $c; $ll = 'L' . $c; $mm = 'M' . $c; $nn = 'N' . $c; $oo = 'O' . $c; $pp = 'P' . $c; $qq = 'Q' . $c; $rr = 'R' . $c; $ss = 'S' . $c; $tt = 'T' . $c; $uu = 'U' . $c; $vv = 'V' . $c; $ww = 'W' . $c; $xx = 'X' . $c; $yy = 'Y' . $c; $zz = 'Z' . $c; $aaa = 'AA' . $c; $abb = 'AB' . $c; $acc = 'AC' . $c; $add = 'AD' . $c; $aee = 'AE' . $c; $aff = 'AF' . $c; $agg = 'AG' . $c; $ahh = 'AH' . $c; $aii = 'AI' . $c; $ajj = 'AJ' . $c; $akk = 'AK' . $c; $all = 'AL' . $c; $amm = 'AM' . $c; $ann = 'AN' . $c; $aww = 'AW' . $c; $recordnumber = trim($currentSheet->getCell($aa)->getValue()); //订单号 $recordNumber = $recordnumber; $is_order = intval($currentSheet->getCell($bb)->getValue()); //1代表为订单,0代表订单明细 if (empty($recordnumber)) { $message .= "<font color=red> 第{$c}行recordnumber为空!</font><br>"; break; } /***************判断订单是否已存在***************/ $where = "where recordnumber='{$recordnumber}'"; $orderinfo = cndlModel::selectOrder($where); if ($orderinfo) { if ($is_order != 0) { $message .= "<font color='blue'>订单 {$recordnumber}已存在!</font><br>"; } continue; } /**************/ if ($is_order != 0) { if ($cndlAccounts[$account] == "dresslink.com") { $str = substr($recordnumber, 0, 2); if ($str !== "DL") { $message .= "<font color=red> {$recordnumber}不在账号{$cndlAccounts[$account]}中!</font><br>"; continue; } } elseif ($cndlAccounts[$account] == "cndirect.com") { $str = substr($recordnumber, 0, 2); if ($str !== "CN") { $message .= "<font color=red> {$recordnumber}不在账号{$cndlAccounts[$account]}中!</font><br>"; continue; } } $platformUsername = mysql_real_escape_string(trim($currentSheet->getCell($cc)->getValue())); $email = mysql_real_escape_string(trim($currentSheet->getCell($dd)->getValue())); $transId = mysql_real_escape_string(trim($currentSheet->getCell($ee)->getValue())); $ordersTime = (array) PHPExcel_Shared_Date::ExcelToPHPObject(trim($currentSheet->getCell($ll)->getValue())); $paymentTime = (array) PHPExcel_Shared_Date::ExcelToPHPObject(trim($currentSheet->getCell($mm)->getValue())); $shippingFee = round_num(trim($currentSheet->getCell($oo)->getValue()), 2); $calcWeight = round_num(trim($currentSheet->getCell($ahh)->getValue()), 3); $actualTotal = round_num(trim($currentSheet->getCell($pp)->getValue()), 2); $onlineTotal = round_num(trim($currentSheet->getCell($aff)->getValue()), 2); $currency = mysql_real_escape_string(trim($currentSheet->getCell($qq)->getValue())); //$orders['ebay_orderqk'] = round_num(trim($currentSheet->getCell($rr)->getValue()), 2); $note = mysql_real_escape_string(trim($currentSheet->getCell($ss)->getValue())); $username = mysql_real_escape_string(trim($currentSheet->getCell($tt)->getValue())); $countryName = mysql_real_escape_string(trim($currentSheet->getCell($uu)->getValue())); $state = mysql_real_escape_string(trim($currentSheet->getCell($vv)->getValue())); $city = mysql_real_escape_string(trim($currentSheet->getCell($ww)->getValue())); $street = mysql_real_escape_string(trim($currentSheet->getCell($xx)->getValue())); $address2 = mysql_real_escape_string(trim($currentSheet->getCell($yy)->getValue())); $zipCode = mysql_real_escape_string(trim($currentSheet->getCell($zz)->getValue())); $phone = mysql_real_escape_string(trim($currentSheet->getCell($abb)->getValue())); $landline = mysql_real_escape_string(trim($currentSheet->getCell($aaa)->getValue())); if ($account == "dresslink.com") { $feedback = mysql_real_escape_string(trim($currentSheet->getCell($ann)->getValue())); } elseif ($account == "cndirect.com") { $feedback = mysql_real_escape_string(trim($currentSheet->getCell($akk)->getValue())); } $carrierNameCn = strtolower(mysql_real_escape_string(trim($currentSheet->getCell($kk)->getValue()))); $carrierNameCn = cndlModel::carrier($carrierNameCn); $payment_method = mysql_real_escape_string(trim($currentSheet->getCell($ff)->getValue())); $payment_module = mysql_real_escape_string(trim($currentSheet->getCell($gg)->getValue())); $bank_account = mysql_real_escape_string(trim($currentSheet->getCell($hh)->getValue())); $bank_country = mysql_real_escape_string(trim($currentSheet->getCell($ii)->getValue())); $shipping_method = mysql_real_escape_string(trim($currentSheet->getCell($jj)->getValue())); $shipping_module = mysql_real_escape_string(trim($currentSheet->getCell($kk)->getValue())); $dresslinks['payment_method'] = $payment_method; $dresslinks['payment_module'] = $payment_module; $dresslinks['bank_account'] = $bank_account; $dresslinks['bank_country'] = $bank_country; $dresslinks['shipping_method'] = $shipping_method; $dresslinks['shipping_module'] = $shipping_module; $PayPalPaymentId = $transId; /***************BEGIN 订单表数据***************/ $orderData[$recordNumber]['orderData']['recordNumber'] = $recordnumber; if ($cndlAccounts[$account] == "dresslink.com") { $orderData[$recordNumber]['orderData']['platformId'] = 10; $orderData[$recordNumber]['orderData']['accountId'] = $account; } elseif ($cndlAccounts[$account] == "cndirect.com") { $orderData[$recordNumber]['orderData']['platformId'] = 8; $orderData[$recordNumber]['orderData']['accountId'] = $account; } $orderData[$recordNumber]['orderData']['orderStatus'] = C('STATEPENDING'); $orderData[$recordNumber]['orderData']['orderType'] = C('STATEPENDING_INITIAL'); $orderData[$recordNumber]['orderData']['ordersTime'] = strtotime($ordersTime['date']); //平台下单时间 $orderData[$recordNumber]['orderData']['paymentTime'] = strtotime($paymentTime['date']); $orderData[$recordNumber]['orderData']['onlineTotal'] = $onlineTotal; //线上总金额 $orderData[$recordNumber]['orderData']['actualTotal'] = $actualTotal; //付款总金额 $orderData[$recordNumber]['orderData']['isFixed'] = 1; $orderData[$recordNumber]['orderData']['calcShipping'] = $shippingFee; //物流费用 $orderData[$recordNumber]['orderData']['orderAddTime'] = time(); $orderData[$recordNumber]['orderData']['isNote'] = empty($note) ? 0 : 1; foreach ($transportation as $tranValue) { if ($tranValue['carrierNameCn'] == $carrierNameCn) { $orderData[$recordNumber]['orderData']['transportId'] = $tranValue['id']; //运输方式id break; } } /***************END 订单表数据***************/ /***************BEGIN 订单扩展表数据***************/ $orderData[$recordNumber]['orderExtenData']['paymentStatus'] = "Complete"; $orderData[$recordNumber]['orderExtenData']['transId'] = $transId; $orderData[$recordNumber]['orderExtenData']['PayPalPaymentId'] = $PayPalPaymentId; $orderData[$recordNumber]['orderExtenData']['paymentMethod'] = $payment_method; $orderData[$recordNumber]['orderExtenData']['paymentModule'] = $payment_module; $orderData[$recordNumber]['orderExtenData']['shippingMethod'] = $shipping_method; $orderData[$recordNumber]['orderExtenData']['ShippingModule'] = $shipping_module; $orderData[$recordNumber]['orderExtenData']['currency'] = $currency; $orderData[$recordNumber]['orderExtenData']['feedback'] = $feedback; //客户留言 /***************END 订单扩展表数据***************/ /***************BEGIN 订单用户表数据***************/ $orderData[$recordNumber]['orderUserInfoData']['username'] = $username; $orderData[$recordNumber]['orderUserInfoData']['platformUsername'] = $platformUsername; $orderData[$recordNumber]['orderUserInfoData']['email'] = $email; $orderData[$recordNumber]['orderUserInfoData']['countryName'] = $countryName; $orderData[$recordNumber]['orderUserInfoData']['currency'] = $currency; $orderData[$recordNumber]['orderUserInfoData']['state'] = $state; // 省 $orderData[$recordNumber]['orderUserInfoData']['city'] = $city; // 市 $orderData[$recordNumber]['orderUserInfoData']['street'] = $street; $orderData[$recordNumber]['orderUserInfoData']['address2'] = $address2; $orderData[$recordNumber]['orderUserInfoData']['landline'] = $landline; // 座机电话 $orderData[$recordNumber]['orderUserInfoData']['phone'] = $phone; // 手机 $orderData[$recordNumber]['orderUserInfoData']['zipCode'] = $zipCode; // 邮编 /*************END 订单用户表数据***************/ //note信息 if (!empty($note)) { $orderData[$recordNumber]['orderNote'][$c]['content'] = $note; $orderData[$recordNumber]['orderNote'][$c]['userId'] = $_SESSION['sysUserId']; } } else { $sku = mysql_real_escape_string(trim($currentSheet->getCell($acc)->getValue())); $itemTitle = mysql_real_escape_string(trim($currentSheet->getCell($add)->getValue())); $itemPrice = round_num(trim($currentSheet->getCell($aff)->getValue()), 2); $amount = intval(trim($currentSheet->getCell($agg)->getValue())); $shipingfee = round_num(trim($currentSheet->getCell($ahh)->getValue()), 2); /***************BEGIN 订单详细数据***************/ $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']['recordNumber'] = $recordnumber; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']['sku'] = $sku; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']['itemPrice'] = $itemPrice; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']['amount'] = $amount; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']["shippingFee"] = $shipingfee; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailData']['createdTime'] = time(); /*************END 订单详细数据***************/ /***************BEGIN 订单详细扩展表数据***************/ $orderData[$recordNumber]['orderDetail'][$c]['orderDetailExtenData']['itemTitle'] = $itemTitle; $orderData[$recordNumber]['orderDetail'][$c]['orderDetailExtenData']['transId'] = $transId; //$orderData['orderDetail']['orderDetailExtenData']['note'] = $value[10]; $categoryName = trim($currentSheet->getCell($ajj)->getValue()); $customCode = trim($currentSheet->getCell($akk)->getValue()); $material = trim($currentSheet->getCell($all)->getValue()); $ShenBaoQuantity = trim($currentSheet->getCell($amm)->getValue()); $ShenBaoUnitPrice = trim($currentSheet->getCell($ann)->getValue()); $ChineseDesc = trim($currentSheet->getCell($aww)->getValue()); //$salePrice = round_num(mysql_real_escape_string(trim($detail['SalePrice'])), 2); //实际SKU付款价 /*************END 订单详细扩展表数据***************/ $ebay_fedex_remark[$recordNumber][$categoryName][] = array('real_price' => $ShenBaoUnitPrice, 'qty' => $ShenBaoQuantity, 'hamcodes' => $customCode, 'detail' => $material); $orderData[$recordNumber]['fedexRemark'] = $ebay_fedex_remark[$recordNumber]; $orderData[$recordNumber]['dresslinkInfo'] = $dresslinks; $ChineseDescs[$recordNumber][$categoryName] = $ChineseDesc; } } if ($orderData) { foreach ($orderData as $id => $order) { $msg = commonModel::checkOrder($id); if ($msg) { $message .= "<font color='red'>订单{$id}已存在!</font><br>"; continue; } //计算订单属性 if (count($order['orderDetail']) == 1) { $detail = current($order['orderDetail']); if ($detail['orderDetailData']['amount'] == 1) { $orderData[$id]['orderData']['orderAttribute'] = 1; } else { $orderData[$id]['orderData']['orderAttribute'] = 2; } } else { $orderData[$id]['orderData']['orderAttribute'] = 3; } //计算订单重量及包材 $obj_order_detail_data = array(); foreach ($order['orderDetail'] as $sku => $detail) { $obj_order_detail_data[] = $detail['orderDetailData']; } $weightfee = commonModel::calcOrderWeight($obj_order_detail_data); $orderData[$id]['orderData']['calcWeight'] = $weightfee[0]; $orderData[$id]['orderData']['pmId'] = $weightfee[1]; //计算运费 $calcShippingInfo = CommonModel::calcAddOrderShippingFee($insertOrder, $orderData[$id]['orderData']['isFixed']); //计算运费 $orderData[$id]['orderData']['channelId'] = $calcShippingInfo['fee']['channelId']; $orderData[$id]['orderData']['calcShipping'] = $calcShippingInfo['fee']; $ChineseDescs_arr = array_filter(array_unique($ChineseDescs[$id])); $orderData[$id]['orderNote'] = array('content' => join(' ', $ChineseDescs_arr), 'userId' => $_SESSION['sysUserId'], 'createdTime' => time()); /*//缺货拦截 $orderData[$id] = AutoModel :: auto_contrast_intercept($orderData[$id]); //$orderData[$id] = cndlModel :: auto_contrast_intercept($orderData[$id]);*/ //插入订单OrderAddModel::insertAllOrderRow($orderData[$id],'cndl'); //调用旧系统接口,先插入数据到旧系统 //echo "<pre>"; var_dump($orderData[$id]); exit; $rtn = OldsystemModel::orderErpInsertorder($orderData[$id]); //echo "<pre>";print_r($rtn);exit; $insertData = array(); if (empty($rtn)) { $message .= "<font color='red'>订单{$id}同步ERP发生异常,跳过!</font><br>"; continue; } if ($rtn['errcode'] == 200) { $rtn_data = $rtn['data']; $orderId = $rtn_data['orderId']; $message .= "<font color='green'>插入老系统成功,订单编号 [{$orderId}]</font><br>"; $pmId = $rtn_data['pmId']; $totalweight = $rtn_data['totalweight']; $shipfee = $rtn_data['shipfee']; $carrier = $rtn_data['carrier']; $carrierId = $rtn_data['carrierId']; $status = $rtn_data['status']; $orderData[$id]['orderData']['id'] = $orderId; //赋予新系统订单编号,一切数据已老系统返回的为准 if ($orderData[$id]['orderData']['calcWeight'] != $totalweight) { $insertData['old_totalweight'] = $totalweight; $insertData['new_totalweight'] = $orderData[$id]['orderData']['calcWeight']; $orderData[$id]['orderData']['calcWeight'] = $totalweight; } if ($orderData[$id]['orderData']['pmId'] != $pmId) { $insertData['old_pmId'] = $pmId; $insertData['new_pmId'] = $orderData[$id]['orderData']['pmId']; $orderData[$id]['orderData']['pmId'] = $pmId; } if ($orderData[$id]['orderData']['calcShipping'] != $shipfee) { $insertData['old_shippfee'] = $shipfee; $insertData['new_shippfee'] = $orderData[$id]['orderData']['calcShipping']; $orderData[$id]['orderData']['calcShipping'] = $shipfee; } if ($orderData[$id]['orderData']['transportId'] != $carrierId) { $insertData['old_carrierId'] = $carrierId; $insertData['new_carrierId'] = $orderData[$id]['orderData']['transportId']; $orderData[$id]['orderData']['transportId'] = $carrierId; } if (!empty($insertData)) { $insertData['ebay_id'] = $orderId; $insertData['addtime'] = time(); OldsystemModel::insertTempSyncRecords($insertData); // 插入临时对比记录表 } //缺货拦截 $orderData[$id] = AutoModel::auto_contrast_intercept($orderData[$id]); //插入订单 $info = OrderAddModel::insertAllOrderRowNoEvent($orderData[$id]); if ($info) { $dresslinkinfos = $orderData[$id]['dresslinkInfo']; $dresslinkinfos['omOrderId'] = $orderId; if (DresslinkinfoModel::insertDresslinkinfoList($dresslinkinfos)) { $message .= "<font color='green'>订单{$id}上传dresslinkInfo成功!</font><br>"; } else { $message .= "<font color='red'>订单{$id}上传dresslinkInfo失败!</font><br>"; } $message .= "<font color='green'>新系统订单{$id}添加成功!</font><br>"; } else { $message .= "<font color='red'>新系统订单{$id}添加失败!</font><br>"; } } else { $message .= "<font color='red'>添加失败,原因为:{$rtn['msg']}!</font><br>"; } if ($orderId) { foreach ($ebay_fedex_remark[$id] as $k => $v) { $fedex_remark = array(); $fedex_remark['description'] = trim("[No Brand]" . $k . "{$v[0]['detail']}"); if (in_array($transportationList[$order['orderData']['transportId']], array('FedEx'))) { //$fedex_remark['description'] = "[No Brand]". $k."({$v[0]['detail']})"; $fedex_remark['type'] = 1; } else { if (in_array($transportationList[$order['orderData']['transportId']], array('DHL', 'EMS', 'UPS美国专线'))) { //$fedex_remark['description'] = trim($k); $fedex_remark['type'] = 2; } else { continue; } } $sku_price = 0; $qty = 0; foreach ($v as $v0) { $sku_price += $v0['real_price']; $qty += $v0['qty']; } //$fedex_remark['ebay_ordersn'] = $order['ebay_ordersn']; $fedex_remark['price'] = round($sku_price / $qty, 2); $fedex_remark['amount'] = $qty; $fedex_remark['hamcodes'] = $v[0]['hamcodes']; if (in_array($transportationList[$order['orderData']['transportId']], array('DHL', 'EMS', 'UPS美国专线'))) { $fedex_remark['price'] = round($sku_price, 2); } $fedex_remark['createdTime'] = time(); $fedex_remark['omOrderId'] = $orderId; $fedex_remark['creatorId'] = $_SESSION['sysUserId']; //$insert_fedex_sql = "INSERT INTO fedex_remark set ".array2sql($fedex_remark); $info = OmAvailableModel::insertRow("om_express_remark", " set " . array2sql_bak($fedex_remark)); if ($info) { $message .= "<font color=green> {$id} 导入海关记录成功!</font><br>"; //echo "----<font color=green> {$order['recordnumber']} 导入海关记录成功!</font><br>"; } else { //echo $insert_fedex_sql; echo "<br>"; $message .= "<font color=green> {$id} 导入海关记录失败!</font><br>"; //echo "----<font color=red>{$order['recordnumber']} 导入海关记录失败!</font><br>"; //$fail_order[] = $order['orderData']['recordnumber']; } } } } } $this->smarty->assign("showerrorinfo", $message); } $this->smarty->display('dresslinkOrderImport.htm'); }
public function act_shiftLibrary() { $sku = trim($_POST['sku']); $sku = get_goodsSn($sku); $oldposition = trim($_POST['oldposition']); $newposition = trim($_POST['newposition']); $nums = intval(trim($_POST['nums'])); if (empty($sku)) { self::$errCode = 401; self::$errMsg = "sku不能为空"; return false; } if (empty($oldposition)) { self::$errCode = 402; self::$errMsg = "旧仓位号不能为空"; return false; } if (empty($newposition)) { self::$errCode = 403; self::$errMsg = "新仓位号不能为空"; return false; } if ($oldposition == $newposition) { self::$errCode = 404; self::$errMsg = "新旧仓位号不能相同"; return false; } $where = " where sku = '{$sku}'"; $skuinfo = whShelfModel::selectSku($where); if (empty($skuinfo)) { self::$errCode = 404; self::$errMsg = "无该料号信息"; return false; } else { $skuId = $skuinfo['id']; } $old_positon_info = OmAvailableModel::getTNameList("wh_position_distribution", "id", "where pName='{$oldposition}' and storeId in(1,2)"); if (empty($old_positon_info)) { self::$errCode = 405; self::$errMsg = "无旧仓位号信息"; return false; } else { $old_location = $old_positon_info[0]['id']; } $new_positon_info = OmAvailableModel::getTNameList("wh_position_distribution", "id,type", "where pName='{$newposition}' and storeId in(1,2)"); if (empty($new_positon_info)) { self::$errCode = 406; self::$errMsg = "无新仓位号信息"; return false; } else { $new_location = $new_positon_info[0]['id']; } $old_sku_pos_info = OmAvailableModel::getTNameList("wh_product_position_relation", "*", "where pId='{$skuId}' and positionId='{$old_location}' and storeId in(1,2) and is_delete=0"); if (empty($old_sku_pos_info)) { self::$errCode = 407; self::$errMsg = "无sku对应的旧仓位号信息"; return false; } $new_sku_pos_info = OmAvailableModel::getTNameList("wh_product_position_relation", "*", "where pId='{$skuId}' and positionId='{$new_location}' and storeId in(1,2) and is_delete=0"); if ($nums > $old_sku_pos_info[0]['nums'] || empty($nums)) { $change_nums = $old_sku_pos_info[0]['nums']; } else { $change_nums = $nums; } OmAvailableModel::begin(); if (!empty($new_sku_pos_info)) { if (empty($nums)) { $tname_old = "wh_product_position_relation"; $set_old = "set nums=0,is_delete=1"; $where_old = "where id={$old_sku_pos_info[0]['id']}"; $update_old = OmAvailableModel::updateTNameRow($tname_old, $set_old, $where_old); if (!$update_old) { self::$errCode = 408; self::$errMsg = "更新旧仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } else { $tname_old = "wh_product_position_relation"; $set_old = "set nums=nums-{$change_nums}"; $where_old = "where id={$old_sku_pos_info[0]['id']}"; $update_old = OmAvailableModel::updateTNameRow($tname_old, $set_old, $where_old); if (!$update_old) { self::$errCode = 409; self::$errMsg = "更新旧仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } $tname_new = "wh_product_position_relation"; $set_new = "set nums=nums+{$change_nums}"; $where_new = "where id={$new_sku_pos_info[0]['id']}"; $update_new = OmAvailableModel::updateTNameRow($tname_new, $set_new, $where_new); if (!$update_new) { self::$errCode = 410; self::$errMsg = "更新新仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } else { if (empty($nums)) { $tname_old = "wh_product_position_relation"; $set_old = "set nums=0,is_delete=1"; $where_old = "where id={$old_sku_pos_info[0]['id']}"; $update_old = OmAvailableModel::updateTNameRow($tname_old, $set_old, $where_old); if (!$update_old) { self::$errCode = 411; self::$errMsg = "更新旧仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } else { $tname_old = "wh_product_position_relation"; $set_old = "set nums=nums-{$change_nums}"; $where_old = "where id={$old_sku_pos_info[0]['id']}"; $update_old = OmAvailableModel::updateTNameRow($tname_old, $set_old, $where_old); if (!$update_old) { self::$errCode = 412; self::$errMsg = "更新旧仓位库存失败!"; TransactionBaseModel::rollback(); return false; } } $tname_insert = "wh_product_position_relation"; $set_insert = "set pId='{$skuId}',positionId='{$new_location}',nums='{$change_nums}',type={$new_positon_info[0]['type']}"; $relation_insert = OmAvailableModel::insertRow($tname_insert, $set_insert); if (!$relation_insert) { self::$errCode = 413; self::$errMsg = "插入关系表失败!"; TransactionBaseModel::rollback(); return false; } /* //更新仓位使用状态 $update_position = OmAvailableModel::updateTNameRow("wh_position_distribution","set is_enable=1","where id=$new_location"); if(!$update_position){ self::$errCode = 414; self::$errMsg = "更新仓位使用状态失败!"; TransactionBaseModel :: rollback(); return false; } */ } //全部转移到新仓位,则将仓位同步到老ERP if (!$nums) { $info = CommonModel::updateSkuLocation($sku, $newposition); //print_r($info);exit; if ($info['res_code'] != 200) { self::$errCode = 414; self::$errMsg = '同步旧ERP仓位失败!'; return FALSE; } } OmAvailableModel::commit(); self::$errMsg = "料号[{$sku}]移库成功!"; return true; }
function act_applyEUBTrackNumber() { // global $memc_obj; //调用memcache获取sku信息 $addUser = $_SESSION['sysUserId']; $omData = isset($_POST['omData']) ? $_POST['omData'] : ''; if (empty($omData)) { self::$errCode = '1000'; self::$errMsg = "订单ID参数为空"; return false; } $omOrderId = $omData; $tName = 'om_unshipped_order'; $select = '*'; $where = "WHERE id='{$omOrderId}'"; $unShippedOrderList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($unShippedOrderList)) { //订单号在未发货表中不存在 self::$errCode = '0001'; self::$errMsg = "empty unShippedOrderList"; return 1; } $platformId = $unShippedOrderList[0]['platformId']; $tName = 'om_platform'; $select = 'platform'; $where = "WHERE id='{$platformId}'"; $platformList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($platformList)) { self::$errCode = '0002'; self::$errMsg = "empty platformList"; return 2; } $platform = $platformList[0]['platform']; if (strcasecmp(trim($platform), 'ebay') != 0) { //订单所在平台不是ebay时 self::$errCode = '0003'; self::$errMsg = "is not a ebay order"; return 3; } //这里还要判断一下运输方式是不是EUB //////////////////////////////// //return 4; //////////////////////////////// $accountId = $unShippedOrderList[0]['accountId']; //订单中的账号id $tName = 'om_eub_account'; $select = '*'; $where = "WHERE accountId='{$accountId}'"; $accountList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($accountList)) { self::$errCode = '0005'; self::$errMsg = "orderAccountId is not in EubAccount"; return 5; } if (!in_array($accountList[0]['account'], array('eshoppingstar75', 'ishoppingclub68', 'newcandy789', 'mysoulfor', 'estore456'))) { self::$errCode = '0006'; self::$errMsg = "目前只有 eshoppingstar75,ishoppingclub68,newcandy789,mysoulfor,estore456 可以执行线上申请跟踪号"; return false; } //print_r($accountList); $APIDevUserID = $accountList[0]['account']; //API参数 $APISellerUserID = $accountList[0]['dev_id']; //API参数 $APIPassword = $accountList[0]['dev_sig']; //API参数 //揽货地址 $pname = $accountList[0]['pname']; $pcompany = $accountList[0]['pcompany']; $pcountry = $accountList[0]['pcountry']; $pprovince = $accountList[0]['pprovince']; $pcity = $accountList[0]['pcity']; $pdis = $accountList[0]['pdis']; $pstreet = $accountList[0]['pstreet']; $pzip = $accountList[0]['pzip']; $ptel = $accountList[0]['ptel']; $pte1 = $accountList[0]['pte1']; $pemail = $accountList[0]['pemail']; //寄件人地址 $dname = $accountList[0]['dname']; $dcompany = $accountList[0]['dcompany']; $dcountry = $accountList[0]['dcountry']; $dprovince = $accountList[0]['dprovince']; $dcity = $accountList[0]['dcity']; $ddis = $accountList[0]['ddis']; $dstreet = $accountList[0]['dstreet']; $dzip = $accountList[0]['dzip']; $dtel = $accountList[0]['dtel']; $demail = $accountList[0]['demail']; $shiptype = $accountList[0]['shiptype']; //EMS派送类型,上门或自送 //退货地址 $rname = $accountList[0]['rname']; $rcompany = $accountList[0]['rcompany']; $rcountry = $accountList[0]['rcountry']; $rprovince = $accountList[0]['rprovince']; $rdis = $accountList[0]['rdis']; $rstreet = $accountList[0]['rstreet']; $rcity = $accountList[0]['rcity']; //收件人地址 $tName = 'om_unshipped_order_userInfo'; $select = '*'; $where = "WHERE omOrderId='{$omOrderId}'"; $userInfoList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($userInfoList)) { self::$errCode = '0006'; self::$errMsg = "empty userInfoList"; return 6; } $tusername = $userInfoList[0]['username']; //收件人 $tstreet = $userInfoList[0]['street']; //街道 $tcity = $userInfoList[0]['city']; //城市 $tstate = $userInfoList[0]['state']; //省份 $tcountry = $userInfoList[0]['countryName']; //国家名称 $tcountryCode = $userInfoList[0]['countrySn']; //国家简称 $tpostcode = $userInfoList[0]['zipCode']; //邮编 $tphone = $userInfoList[0]['phone'] ? $userInfoList[0]['phone'] : $userInfoList[0]['landline']; //固话,手机号为空时,用座机号 $temail = $userInfoList[0]['email']; //电邮 //置入参数数组中 $PickUpAddress = array('Contact' => $pname, 'Company' => $pcompany, 'Street' => $pstreet, 'District' => $pdis, 'City' => $pcity, 'Province' => $pprovince, 'Postcode' => $pzip, 'Country' => $pcountry, 'Email' => $pemail, 'Mobile' => $ptel, 'Phone' => $pte1); $ShipFromAddress = array("Contact" => $dname, "Company" => $dcompany, "Street" => $dstreet, "District" => $ddis, "City" => $dcity, "Province" => $dprovince, "Postcode" => $dzip, "Country" => $dcountry, "Email" => $demail, "Mobile" => $dtel); $ReturnAddress = array('Contact' => $rname, 'Company' => $rcompany, 'Street' => $rstreet, 'District' => $rdis, 'City' => $rcity, 'Province' => $rprovince, 'Postcode' => $pzip, 'Country' => '中国'); $ShipToAddress = array('Email' => $temail, 'Company' => '', 'Contact' => $tusername, 'Phone' => $tphone, 'Street' => $tstreet, 'City' => $tcity, 'Province' => $tstate, 'Postcode' => $tpostcode, 'Country' => $tcountry, 'CountryCode' => $tcountryCode); //////////////////////////// //Item参数 //orderDetail $omOrderDetailIds = OmEUBTrackNumberModel::getOrderDetailIds($omOrderId); //print_r($omOrderDetailIds); if (count($omOrderDetailIds) == 1) { $info = $omOrderDetailIds[0]['id']; } else { $info = array(); foreach ($omOrderDetailIds as $value) { $info[] = $value['id']; } $info = implode(",", $info); } $tName = 'om_unshipped_order_detail_extension_ebay'; $select = '*'; $where = "WHERE omOrderdetailId in ({$info})"; $ebayOrderDetailList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($ebayOrderDetailList)) { self::$errCode = '0007'; self::$errMsg = "empty ebayOrderDetailList"; return 7; } //print_r($ebayOrderDetailList); $tName = 'om_unshipped_order_extension_ebay'; $select = '*'; $where = "WHERE omOrderId='{$omOrderId}'"; $ebayShippedOrderList = OmAvailableModel::getTNameList($tName, $select, $where); if (empty($ebayShippedOrderList)) { self::$errCode = '0008'; self::$errMsg = "empty ebayShippedOrderList"; return 8; } //查询订单下的货品数量 $tName = 'om_unshipped_order_detail'; $select = 'count(amount) amount'; $where = "WHERE omOrderId='{$omOrderId}'"; $amountList = OmAvailableModel::getTNameList($tName, $select, $where); $amounts = $amountList[0]['amount']; if (empty($amounts)) { self::$errCode = '0009'; self::$errMsg = "empty amounts"; return 9; } $Item = array(); /*foreach ($ebayOrderDetailList as $ebayOrderDetail) { print_r($ebayShippedOrderList); $EBayItemID = $ebayOrderDetail['itemId']; //API参数,物品号 $EBayTransactionID = $ebayOrderDetail['transId']; //API参数,交易号,拍卖物品为0 $EBayBuyerID = $userInfoList[0]['platformUsername']; //API参数,买家ID $email = $userInfoList[0]['email']; //API参数,买家ID $PostedQTY = $amounts; //寄货数量 $currency = $ebayShippedOrderList[0]['currency']; $omOrderdetailId = $ebayOrderDetail['omOrderdetailId']; $tName = 'om_unshipped_order_detail'; $select = '*'; $where = "WHERE id='$omOrderdetailId'"; $omOrderDetailList = OmAvailableModel :: getTNameList($tName, $select, $where); if (empty ($omOrderDetailList)) { self :: $errCode = '0010'; self :: $errMsg = "empty omOrderDetailList"; return 10; } $sku = $omOrderDetailList[0]['sku']; $amount = $omOrderDetailList[0]['amount']; $skuInfo = $memc_obj->get_extral("sku_info_" . $sku); $DeclaredValue = $skuInfo['goods_sbjz'] * $amount ? $skuInfo['goods_sbjz'] * $amount : 1; //申报价值 $Weight = $skuInfo['goods_weight'] * $amount ? $skuInfo['goods_weight'] * $amount : 0.01; //重量 $CustomsTitleCN = $skuInfo['goods_zysbmc'] ? $skuInfo['goods_zysbmc'] : $sku; //中文申报名称 $CustomsTitleEN = $skuInfo['goods_ywsbmc'] ? $skuInfo['goods_ywsbmc'] : $sku; //英文申报名称 $OriginCountryCode = 'CN'; //原产地简码 //echo "##".$EBayItemID."##"; /*if((!in_array($ebay_itemid.'-'.$ebay_tid, $unique_item_tid))){ $unique_item_tid[] = $ebay_itemid.'-'.$ebay_tid; $item[$i] = array( 'CurrencyCode' => $ebay_currency, 'EBayEmail' => $ebay_usermail, 'EBayBuyerID' => $ebay_userid, 'EBayItemID' => $ebay_itemid, 'EBayItemTitle' => $ebay_itemtitle, 'EBayMessage' => $ebay_note, 'EBaySiteID' => "0", 'EBayTransactionID' => $ebay_tid, 'Note' => $ebay_noteb, 'OrderSalesRecordNumber' => $recordnumber, 'PaymentDate' => $ebay_paidtime, 'PayPalEmail' => "0", 'PayPalMessage' => $ebay_note, 'PostedQTY' => $ebay_amount, 'ReceivedAmount' => $ebay_total, 'SalesRecordNumber' => $recordnumber1, 'SoldDate' => $ebay_createdtime, 'SoldPrice' => $ebay_itemprice, 'SoldQTY' => $ebay_amount, 'SKU' =>array( 'SKUID' => $sku, 'Weight' => $weight * $ebay_amount, 'CustomsTitleCN' => $goods_zysbmc, 'CustomsTitleEN' => $goods_ywsbmc.' '.$sku, 'DeclaredValue' => $goods_sbjz*$ebay_amount, 'OriginCountryName' => "China", 'OriginCountryCode' => "CN", ) ); }*/ $where = "WHERE omOrderId='{$omOrderId}'"; $orderarr = OrderindexModel::showSearchOrderList("om_unshipped_order", $where); //print_r($orderarr); $unique_item_tid = array(); foreach ($orderarr as $key => $order) { foreach ($order['orderDetail'] as $k => $detail) { $sku = $detail['orderDetailData']['sku']; $amount = $detail['orderDetailData']['amount']; //$goods = ExportsToXlsModel::getGoods($detail['orderDetailData']['sku']); $skus = GoodsModel::get_realskuinfo($detail['orderDetailData']['sku']); foreach ($skus as $k => $v) { $goods = GoodsModel::getSkuList($k); if (!in_array($detail['orderDetailExtenData']['itemId'] . '-' . $detail['orderDetailExtenData']['transId'], $unique_item_tid)) { $unique_item_tid[] = $detail['orderDetailExtenData']['itemId'] . '-' . $detail['orderDetailExtenData']['transId']; $Item[] = array('EBayBuyerID' => $order['orderUserInfoData']['platformUsername'], 'EBayItemID' => $detail['orderDetailExtenData']['itemId'], 'EBayEmail' => $order['orderUserInfoData']['email'], 'EBayTransactionID' => $detail['orderDetailExtenData']['transId'], 'PostedQTY' => $detail['orderDetailData']['amount'], 'EBaySiteID' => "0", 'PayPalEmail' => "0", 'EBayItemTitle' => $detail['orderDetailExtenData']['itemTitle'], 'OrderSalesRecordNumber' => $order['orderData']['recordNumber'], 'EBayMessage' => $order['orderExtenData']['feedback'], 'CurrencyCode' => $order['orderExtenData']['currency'], 'SoldDate' => date("Y-m-d", $order['orderData']['ordersTime']), 'SoldPrice' => $detail['orderDetailData']['itemPrice'], 'SoldQTY' => $detail['orderDetailData']['amount'], 'ReceivedAmount' => $order['orderData']['actualTotal'], 'PayPalMessage' => $order['orderExtenData']['feedback'], 'PaymentDate' => date("Y-m-d", $order['orderData']['paymentTime']), 'SalesRecordNumber' => $order['orderData']['recordNumber'], 'Note' => isset($order['orderNote'][0]['content']) ? $order['orderNote'][0]['content'] : "", 'SKU' => array('SKUID' => $detail['orderDetailData']['sku'], 'Weight' => $goods['goodsWeight'] * $amount * $v, 'CustomsTitleCN' => $goods['goodsName'], 'CustomsTitleEN' => $sku, 'DeclaredValue' => $detail['orderDetailData']['itemPrice'] * $amount * $v, 'OriginCountryName' => "China", 'OriginCountryCode' => "CN")); } } } } $url_test = "http://epacketws.pushauction.net/v3/orderservice.asmx?WSDL"; $url = "http://shippingapi.ebay.cn/production/v3/orderservice.asmx?wsdl"; $soapclient = new soapclient($url); $params = array('Version' => "3.0.0", 'APIDevUserID' => $APIDevUserID, 'APIPassword' => $APIPassword, 'APISellerUserID' => $APISellerUserID, "OrderDetail" => array("PickUpAddress" => $PickUpAddress, "ShipFromAddress" => $ShipFromAddress, "ShipToAddress" => $ShipToAddress, "ItemList" => array("Item" => $Item), "EMSPickUpType" => $shiptype, "ReturnAddress" => $ReturnAddress)); try { //print_r($params); $functions = $soapclient->AddAPACShippingPackage(array("AddAPACShippingPackageRequest" => $params)); //echo "dfg"; foreach ($functions as $value) { $bb = (array) $value; $ack = $bb['Ack']; if ($ack == 'Success') { $TrackCode = $bb['TrackCode']; //这里插入记录到records表中 $tName = 'om_order_tracknumber'; $set = "SET omOrderId='{$omOrderId}',addUser='******',tracknumber='{$TrackCode}',createdTime='" . time() . "'"; $affectRow = OmAvailableModel::insertRow($tName, $set); if ($affectRow) { self::$errCode = '200'; self::$errMsg = "success"; return 200; } else { self::$errCode = '0011'; self::$errMsg = "添加跟踪号失败"; return 11; } } else { $tName = 'om_order_notes'; $set = "SET omOrderId='{$omOrderId}',content='{$bb['Message']}',userId='{$addUser}',createdTime='" . time() . "'"; $affectRow = OmAvailableModel::insertRow($tName, $set); self::$errCode = '0012'; self::$errMsg = $bb['Message']; return 12; } } } catch (Exception $e) { self::$errCode = '0013'; self::$errMsg = $e->getMessage(); return 0; } }