/** * * @author cxy * @return */ public function act_pda_Tracking() { $userId = $_SESSION['userId']; $ebay_id = trim($_POST['ebay_id']); if (empty($userId)) { self::$errCode = '0'; self::$errMsg = '系统登录超时,请先关闭浏览器 然后登录扫描!!'; return false; } if (empty($ebay_id)) { self::$errCode = 0; self::$errMsg = '请填写单号!'; return; } $where = "where id={$ebay_id}"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg = $ebay_id . '发货单不存在!'; return false; } if ($order[0]['orderStatus'] != PKS_PRINT_SHIPPING_INVOICE) { self::$errCode = 0; self::$errMsg = $ebay_id . '此发货单状态不是在待打印面单状态!'; return false; } $array = array('shipOrderId' => $ebay_id, 'is_delete' => 0); //根据发货单号获取快递需要的箱子和跟踪号数量 $result_tracking_count = WhWaveTrackingBoxModel::select_by_shipOrderId($ebay_id); $count_binding = WhOrderTracknumberModel::count($array); //发货单已经绑定跟踪号的数量 if (empty($result_tracking_count)) { if ($count_binding > 0) { self::$errCode = 211; self::$errMsg = $ebay_id . "该发货单已经绑定好跟踪号了!"; return true; } } else { $result_tracking_count = $result_tracking_count['trackingCount']; //发货单需要绑定跟踪号的数量 if ($result_tracking_count <= $count_binding) { self::$errCode = 212; self::$errMsg = $ebay_id . "该发货单已经绑定好跟踪号了!"; return true; } } self::$errCode = 200; self::$errMsg = $ebay_id . "发货单号正确,请扫描该发货单的跟踪号,注意跟踪号的数量!"; return true; }
public function act_pda_loading_express() { $userId = $_SESSION['userId']; $packageId = trim($_POST['order_group']); //发货单号1000013 //这里是装车扫描快递的 $shipOrderId = $packageId; $where = "where id ='{$shipOrderId}'"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg = "此发货单不存在!"; return false; } if ($order[0]['isExpressDelivery'] == 0) { self::$errCode = 10; self::$errMsg = "此发货单为非快递单号!"; return false; } //运输方式 $shipping = CommonModel::getShipingNameById($order[0]['transportId']); $no_express_delivery = array('俄速通平邮', '俄速通挂号', '中国邮政平邮', '中国邮政挂号', 'EUB', 'UPS美国专线', 'Global Mail', '香港小包平邮', '香港小包挂号', '德国邮政挂号', '新加坡小包挂号', '新加坡DHL GM平邮', '新加坡DHL GM挂号', '瑞士小包平邮', '瑞士小包挂号', 'USPS FirstClass', 'UPS SurePost', 'UPS Ground Commercia', '比利时小包EU'); if (in_array($shipping, $no_express_delivery)) { self::$errCode = 604; self::$errMsg = "此发货单不是快递!"; return false; } if ($order[0]['orderStatus'] != PKS_WAITING_LOADING) { self::$errCode = 0; self::$errMsg = "此发货单状态不是在待装车扫描状态!"; return false; } self::$errCode = '400'; self::$errMsg = '扫描' . $packageId . '成功!'; $res['shipOrderId'] = $shipOrderId; return $res; }
public function initDB() { global $dbConn; self::$dbConn = $dbConn; mysql_query('SET NAMES UTF8'); }
</style> </head> <body style="font-family:Arial;font-size:18px"> <?php $partion = trim($_REQUEST['partions']); $num = trim($_REQUEST['nums']); $HAWB = trim($_REQUEST['HAWB']); if (!$num) { echo "<script type='text/javascript'>alert('没有输入数量!');window.history.go(-1);</script>"; exit; } $userId = $_SESSION['userId']; for ($j = 0; $j < $num; $j++) { $id = orderPartionModel::insertPrintRecord($partion, $userId); if ($id) { ?> <div class="main"> <div class="text" style="font-weight:bold;height:80px;"> <span style="padding-left: 100px; padding-top: 0px;font-size: 22px;">赛维博</span> <span style="padding-left: 10px;padding-top: 2px;"><?php echo $partion; ?> </span> <p style="font-size:16px;">HAWB#:<?php echo $HAWB ? $HAWB : ''; ?> </p> <p style="float:left;font-size:16px;">CTN NO. <?php echo $id;
/** * pda_shippingGroupReviewAct::Act_orderReview() * 对随机扫描的发货单号进行判断 * @author cxy * @return */ public function Act_orderReview() { $userId = $_SESSION['userId']; $packageId = intval(trim($_POST['packageid'])); $shipOrderId = trim($_POST['ebay_id']); //先核对订单 //兼容 EUB或者 包裹 扫描的是 trackno 而非ebayid $p_real_ebayid = '#^\\d+$#'; $p_trackno_eub = '#^(LK|RA|RI|RL|RB|RC|RD|RM|RR|RF|LN|LM|AG)\\d+(CN|HK|DE200)$#'; $p_trackno_ups = '#^(1ZR)\\d+$#'; $p_trackno_bpost = '#^(BLVS)\\d+$#'; $is_eub_package_type = false; if (preg_match($p_real_ebayid, $shipOrderId)) { } else { if (preg_match($p_trackno_eub, $shipOrderId)) { $is_eub_package_type = true; } else { if (preg_match($p_trackno_ups, $shipOrderId)) { $is_eub_package_type = true; } else { if (preg_match($p_trackno_bpost, $shipOrderId)) { $is_eub_package_type = true; } else { if (strlen($shipOrderId) > 11) { $is_eub_package_type = true; } else { self::$errCode = '001'; self::$errMsg = '订单号[' . $shipOrderId . ']格式有误'; return false; } } } } } if ($is_eub_package_type == true) { //$is_eub_package_type是真的时候$ebay_id是跟踪号 $info = orderWeighingModel::selectOrderId($shipOrderId); if (!$info) { self::$errCode = 501; self::$errMsg = "此跟踪号不存在!"; return false; } //得到发货单号 $shipOrderId = $info[0]['shipOrderId']; } //得到发货单明细 $order_records = WhOrderPartionRecordsModel::get_OrderPartionRecords($shipOrderId); if (empty($order_records)) { self::$errCode = 0; self::$errMsg = "此跟踪号/发货单号还没有进行分区!"; return false; } if ($order_records['packageId'] != $packageId) { self::$errCode = 0; self::$errMsg = "此跟踪号/发货单号应该在{$order_records['packageId']}口袋编号中!"; return false; } $where = "where id={$shipOrderId}"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg = "此发货单不存在!"; return false; } if ($order[0]['orderStatus'] != PKS_WAITING_LOADING) { self::$errCode = 0; self::$errMsg = "此发货单没有在待装车扫描状态下!"; return false; } $order_str = $shipOrderId; $result_group_review = WhWaveOrderPartionShippingReviewModel::get_pocket($packageId); if (empty($result_group_review)) { self::$errCode = 0; self::$errMsg = "此口袋编号没有进行过分区复核!"; return false; } else { if ($result_group_review['orders'] != 0) { $order_str .= ',' . $result_group_review['orders']; $order_str = trim($order_str, ','); $order_str = explode(',', $order_str); $order_str = array_unique($order_str); $order_str = implode(',', $order_str); } $update_group_shipping = WhWaveOrderPartionShippingReviewModel::update_shipping_review($packageId, $order_str); if ($update_group_shipping) { self::$errCode = '200'; self::$errMsg = "请复核下一个发货单或者下一个口袋编号"; return true; } else { self::$errCode = '20'; self::$errMsg = "扫描发货单号失败,请联系负责人"; return false; } } }
public function act_orderPartionPack() { $partion = isset($_POST['partion']) ? trim($_POST['partion']) : ""; $packageId = isset($_POST['packageid']) ? trim($_POST['packageid']) : ""; $userId = $_SESSION['userId']; $msg = orderPartionModel::selectPartionPack($packageId); if ($msg[0]['partion'] != $partion) { self::$errCode = 608; self::$errMsg = "选择的分区与扫描口袋的分区不匹配!"; return false; } TransactionBaseModel::begin(); $where = " where partion='{$partion}' and scanUserId={$userId} and packageid is null"; $data = orderPartionModel::selectData($where); if ($data[0]['totalNum'] == 0) { self::$errCode = 611; self::$errMsg = "已打包!"; return false; } $result1 = orderPartionModel::updatePartionRecord($partion, $userId, $packageId); if (!$result1) { self::$errCode = 609; self::$errMsg = "更新分区记录失败!"; TransactionBaseModel::rollback(); return false; } $result2 = orderPartionModel::updatePartionPack($packageId, $data[0]['totalNum'], $data[0]['totalWeight'], $userId); if (!$result1) { self::$errCode = 610; self::$errMsg = "更新口袋记录失败!"; TransactionBaseModel::rollback(); return false; } TransactionBaseModel::commit(); return true; }
/** * printAct::act_abnormalRestore() * 异常发货单恢复 * @return */ public function act_abnormalRestore() { $userId = $_SESSION['userId']; $orderids = isset($_POST['orderids']) ? trim($_POST['orderids']) : ''; if (empty($userId)) { self::$errCode = 0; self::$errMsg = '请重新登录!'; return false; } if (empty($orderids)) { self::$errCode = 0; self::$errMsg = '请选择发货单号!'; return false; } $order_arr = explode(',', $orderids); foreach ($order_arr as $shipOrderId) { $where = "where id={$shipOrderId}"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg .= "此发货单'{$shipOrderId}'不存在!"; continue; } else { $status = PKS_WIQC; $update_result = WhShippingOrderModel::update_shipping_order_by_id("id = '{$shipOrderId}' and is_delete = 0", "orderStatus = '{$status}'"); if ($update_result) { self::$errMsg .= "此发货单'{$shipOrderId}'状态还原为待复核状态!"; } else { self::$errMsg .= "此发货单'{$shipOrderId}'异常恢复失败!"; } } } self::$errCode = 200; self::$errMsg .= '操作完成'; return true; }
public function view_pda_orderPartion() { //$this->smarty->template_dir = WEB_PATH.'pda/html/'; $userId = $_SESSION['userId']; $type = isset($_GET['type']) ? trim($_GET['type']) : ""; if ($type == "pack") { $this->smarty->assign("successLog", "打包成功!"); $this->smarty->assign("lists", array()); } if ($type == "scan") { $partion = isset($_GET['partion']) ? urldecode(trim($_GET['partion'])) : ""; $orderid = isset($_GET['orderid']) ? trim($_GET['orderid']) : ""; $where = " where partion='{$partion}' and scanUserId={$userId} and packageid is null"; $lists = orderPartionModel::selectData($where); $lists[0]['partion'] = $partion; $this->smarty->assign("successLog", "扫描成功!" . "(" . $orderid . ")"); $this->smarty->assign("orderid", $orderid); $this->smarty->assign("partion", $partion); $this->smarty->assign("lists", $lists); } /*$channel_list = $memc_obj->get_extral('trans_system_channelinfo'); //print_r($channel_list); $this->smarty->assign("channel_list",$channel_list); $partion_list = $memc_obj->get_extral('trans_system_carrierinfo'); foreach($partion_list as $key=> $value_arr){ foreach($value_arr as $key1=> $value){ $partion[$key1] = $value; $carrierId = $key; $carrier_list = $memc_obj->get_extral('trans_system_carrier'); //print_r($carrier_list); foreach($carrier_list as $carrier_value){ if($carrierId == $carrier_value['id']){ $partion[$key1]['carrierName'] = $carrier_value['carrierNameCn']; } } } } //print_r($partion); $this->smarty->assign("partion",$partion);*/ $where = " where scanUserId='{$userId}' and packageid is null"; $ret = orderPartionModel::selectUserPartion($where); /* foreach($ret as $key=>$ret_value){ foreach($partion_list as $key=> $value_arr){ foreach($value_arr as $key1=> $value){ if($ret_value['partionId']==$value['partionId']){ $ret[$key]['partionName'] = $value['partitionName']; } } } }*/ $toptitle = '分区扫描'; $this->smarty->assign('toptitle', $toptitle); $this->smarty->assign('action', $toptitle); $this->smarty->assign("partionuser", $ret); $this->smarty->display('pda_orderPartion.htm'); }
/** * pda_ExpressWeighingAct::act_trackingCount() * @author cxy *快递箱子和跟踪号数量添加到数据库 * @return */ public function act_trackingCount() { $userId = $_SESSION['userId']; $ebay_id = trim($_POST['ebay_id']); $count_box = trim(intval($_POST['count_box'])); $tracking_count = trim(intval($_POST['tracking'])); $weighing = trim($_POST['weighing']); $weighing = $weighing * 1000; if (empty($userId)) { self::$errCode = '0'; self::$errMsg = '系统登录超时,请先关闭浏览器 然后登录扫描!!'; return false; } if (empty($ebay_id)) { self::$errCode = 0; self::$errMsg = '请填写单号!'; return; } if ($count_box <= 1) { self::$errCode = 0; self::$errMsg = '请输入正确的箱子数量,最小是2!'; return false; } if ($tracking_count < 1) { self::$errCode = 0; self::$errMsg = '请输入正确的跟踪号数量,最小是1!'; return false; } if ($weighing <= 0) { self::$errCode = 0; self::$errMsg = '请输入正确的重量!'; return; } $where = "where id={$ebay_id}"; $order = orderPartionModel::selectOrder($where); if ($order[0]['transportId'] == 48) { //顺丰快递的跟踪号值能是一个 $tracking_count = 1; } else { if ($tracking_count != $count_box) { self::$errCode = 0; self::$errMsg = '跟踪号数量与箱子数量不相等!'; return; } } //逻辑删除以前称重的记录 $update = WhWaveTrackingBoxModel::update(array('is_delete' => 1), array('shipOrderId' => $ebay_id)); $data = array('boxCount' => $count_box, 'trackingCount' => $tracking_count, 'shipOrderId' => $ebay_id, 'weighTime' => time()); $result = WhWaveTrackingBoxModel::insert($data); if ($result) { WhBaseModel::begin(); $status = PKS_PRINT_SHIPPING_INVOICE; $result = WhShippingOrderModel::update_shipping_order_by_id("id = '{$ebay_id}' and is_delete = 0", "orderStatus = '{$status}',orderWeight = '{$weighing}'"); if (!$result) { WhBaseModel::rollback(); self::$errCode = 0; self::$errMsg = '称重添加失败,请联系负责人'; return false; } $msg = orderWeighingModel::insertRecord($ebay_id, $userId); if (!$msg) { self::$errCode = 511; self::$errMsg = "插入称重记录失败!"; WhBaseModel::rollback(); return false; } $msg_update = orderWeighingModel::updateRecord($ebay_id, $weighing, $userId); if (!$msg_update) { self::$errCode = 512; self::$errMsg = "更新操作记录表失败!"; WhBaseModel::rollback(); return false; } WhPushModel::pushOrderStatus($ebay_id, 'PKS_PRINT_SHIPPING_INVOICE', $_SESSION['userId'], time()); //状态推送,需要改为待打印面单(订单系统提供状态常量) WhBaseModel::commit(); self::$errCode = 200; self::$errMsg = '操作成功,请称重下一个发货单号'; return true; } else { self::$errCode = 211; self::$errMsg = '操作失败,请联系IT部门'; return false; } }
public function view_formDataImport() { // $tir_obj = new TrackInfoRecordModel(); $ebay_id = $_POST['order'][1]; $tracking = $_POST['express'][1]; if (empty($ebay_id) && empty($tracking)) { $data = array("data" => array('发货单和跟踪号不能是空!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); } $where = "where id={$ebay_id}"; $order = orderPartionModel::selectOrder($where); if (!$order) { $data = array("data" => array('发货单不存在!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } if ($order[0]['orderStatus'] != PKS_PRINT_SHIPPING_INVOICE) { $data = array("data" => array($ebay_id . '此发货单状态不是在待打印面单状态!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } $array = array('shipOrderId' => $ebay_id, 'is_delete' => 0); //根据发货单号获取快递需要的箱子和跟踪号数量 $result_tracking_count = WhWaveTrackingBoxModel::select_by_shipOrderId($ebay_id); $count_binding = WhOrderTracknumberModel::count($array); //发货单已经绑定跟踪号的数量 if (empty($result_tracking_count)) { if ($count_binding > 0) { $data = array("data" => array($ebay_id . "该发货单已经绑定好跟踪号了!"), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } } else { $result_tracking_count = $result_tracking_count['trackingCount']; //发货单需要绑定跟踪号的数量 if ($result_tracking_count <= $count_binding) { $data = array("data" => array($ebay_id . "该发货单已经绑定好跟踪号了!"), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } } //查询扫描的跟踪号是否已经扫描过了的 $result_select = WhOrderTracknumberModel::select_ByTracknumber($tracking); if ($result_select) { $data = array("data" => array('该跟踪号已经绑定' . $result_select['shipOrderId'] . ',请检查!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } $data_insert = array('tracknumber' => $tracking, 'shipOrderId' => $ebay_id, 'createdTime' => time()); $array_count = array('shipOrderId' => $ebay_id, 'is_delete' => 0); //根据发货单号获取快递需要的箱子和跟踪号数量 $result_tracking_count = WhWaveTrackingBoxModel::select_by_shipOrderId($ebay_id); //说明该快递单只有一个箱子和一个跟踪号,所以不需要在wh_wave_tracking_box "快递单号的箱子与跟踪号数量表"添加记录 if (empty($result_tracking_count)) { $count_binding = WhOrderTracknumberModel::count($array_count); //发货单已经绑定跟踪号的数量 if ($count_binding > 0) { $data = array("data" => array('该发货单号已经绑定好跟踪号了,不在需要和这个跟踪号绑定!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } WhBaseModel::begin(); $result_insert = WhOrderTracknumberModel::insert($data_insert); if (!$result_insert) { WhBaseModel::rollback(); $data = array("data" => array('跟踪号绑定失败,请联系负责人!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } //更新发货表状态 $ostatus = WhWaveOrderPartionScanReviewModel::updateShippingOrderStatus($ebay_id, $status = PKS_WAITING_LOADING); if (!$ostatus) { WhBaseModel::rollback(); $data = array("data" => array('更新发货单状态失败,请联系负责人!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } WhPushModel::pushOrderStatus($ebay_id, 'PKS_WAITING_LOADING', $_SESSION['userId'], time()); //状态推送,需要改为待装车扫描(订单系统提供状态常量) WhBaseModel::commit(); $data = array("data" => array('绑定成功,请扫描另外一个发货单!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goOkMsgPage($data); } else { $result_tracking_count = $result_tracking_count['trackingCount']; //发货单需要绑定跟踪号的数量 $count_binding = WhOrderTracknumberModel::count($array_count); //发货单已经绑定跟踪号的数量 if ($result_tracking_count > $count_binding) { WhBaseModel::begin(); $result_insert = WhOrderTracknumberModel::insert($data_insert); if (!$result_insert) { WhBaseModel::rollback(); $data = array("data" => array('跟踪号绑定失败,请联系负责人!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } $num = $result_tracking_count - $count_binding - 1; if ($num == 0) { //更新发货表状态 $ostatus = WhWaveOrderPartionScanReviewModel::updateShippingOrderStatus($ebay_id, $status = PKS_WAITING_LOADING); if (!$ostatus) { WhBaseModel::rollback(); $data = array("data" => array('更新发货单状态失败,请联系负责人!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } WhPushModel::pushOrderStatus($ebay_id, ' ', $_SESSION['userId'], time()); //状态推送,需要改为待装车扫描(订单系统提供状态常量) WhBaseModel::commit(); $data = array("data" => array('绑定成功,该发货单不需要绑定跟踪号了!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); } else { WhBaseModel::commit(); $data = array("data" => array('绑定成功,该发货单还需要绑定' . $num . '个跟踪号!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goOkMsgPage($data); } } else { $data = array("data" => array('绑定失败,绑定的跟踪号已经够' . $result_tracking_count . '个,请扫描另外一个发货单!'), 'link' => 'index.php?mod=expressRecheck&act=trackNumberInput'); goErrMsgPage($data); exit; } } $navlist = array(array('url' => '', 'title' => '出库'), array('url' => 'index.php?mod=expressRecheck&act=ExpressList', 'title' => '快递待复核'), array('url' => '', 'title' => '快递待复核数据导入 ')); $this->smarty->assign('navlist', $navlist); $toptitle = '待复核'; // 顶部链接 $this->smarty->assign('toptitle', $toptitle); $toplevel = 2; // 顶层菜单 $this->smarty->assign('toplevel', $toplevel); $secondlevel = '28'; // 当前的二级菜单 $this->smarty->assign('secondlevel', $secondlevel); $this->smarty->assign('secnev', 3); // 二级导航 $this->smarty->assign('list', TrackInfoRecordModel::$data); $this->smarty->display('tracknumimport.htm'); }
/** * pda_partitionCheckingAct::act_scanOrderReview() * 在PDA扫描分区编号后对订单号进行分区复核 * @author cxy * @return boolean */ public function act_scanOrderReview() { $userId = $_SESSION['userId']; $ebay_id = trim($_POST['ebay_id']); $ebay_id = substr($ebay_id, -22); $partion = trim($_POST['partion']); $package_id = intval(trim($_POST['package_id'])); if (empty($userId)) { self::$errCode = '0'; self::$errMsg = '系统登录超时,请先关闭浏览器 然后登录扫描!!'; return false; } //先核对订单 //兼容 EUB或者 包裹 扫描的是 trackno 而非ebayid 拿LN229773466CN追踪号对应1012970发货单号测试 $p_real_ebayid = '#^\\d+$#'; $p_trackno_eub = '#^(LK|RA|RI|RL|RB|RM|RC|RD|RR|RF|LN|LM|AG)\\d+(CN|HK|DE200)$#'; $p_trackno_ups = '#^(BLVS|1ZR)\\d+$#'; $p_ups = '/^(1ZA)/'; $is_eub_package_type = false; if (preg_match($p_real_ebayid, $ebay_id)) { } else { if (preg_match($p_trackno_eub, $ebay_id)) { $is_eub_package_type = true; } else { if (preg_match($p_trackno_ups, $ebay_id)) { $is_eub_package_type = true; } else { if (preg_match($p_ups, $ebay_id)) { $is_eub_package_type = true; } else { self::$errCode = '001'; self::$errMsg = '订单号[' . $ebay_id . ']格式有误'; return false; } } } } if (strlen($ebay_id) > 20) { $is_eub_package_type = true; } if ($is_eub_package_type == true) { //$is_eub_package_type是真的时候$ebay_id是跟踪号 $info = orderWeighingModel::selectOrderId($ebay_id); if (!$info) { self::$errCode = 501; self::$errMsg = "此跟踪号不存在!"; return false; } //得到发货单号 $shipOrderId = $info[0]['shipOrderId']; } else { $shipOrderId = $ebay_id; } //得到发货单明细 $order_records = WhOrderPartionRecordsModel::get_OrderPartionRecords($shipOrderId); if (empty($order_records)) { self::$errCode = 0; self::$errMsg = "此跟踪号/发货单号还没有进行分区!"; return false; } if ($order_records['packageId'] != $package_id) { self::$errCode = 0; self::$errMsg = "此跟踪号/发货单号应该在{$order_records['packageId']}口袋编号中!"; return false; } if ($order_records['partion'] != $partion) { self::$errCode = 0; self::$errMsg = "此跟踪号/发货单号没有在{$partion}分区中!"; return false; } $where = "where id={$shipOrderId}"; $order = orderPartionModel::selectOrder($where); if (!$order) { self::$errCode = 0; self::$errMsg = "此发货单不存在!"; return false; } if ($order[0]['orderStatus'] != PKS_DISTRICT_CHECKING) { self::$errCode = 0; self::$errMsg = "此发货单状态不是在待分区复核!"; return false; } $review_list = WhWaveOrderPartionScanReviewModel::get_reviewById($shipOrderId); if (!empty($review_list)) { self::$errCode = 0; self::$errMsg = "此发货单已经分区复核过了!"; return false; } else { WhBaseModel::begin(); $data = array('shipOrderId' => $shipOrderId, 'partion' => $partion, 'userId' => $userId, 'scantime' => time(), 'packageId' => $package_id); $result = WhWaveOrderPartionScanReviewModel::insert($data); if ($result) { $update = WhWaveOrderPartionScanReviewModel::updateOrderRecords($shipOrderId, $userId); if (!$update) { self::$errCode = '206'; self::$errMsg = '更新操作记录失败,请联系负责人!'; WhBaseModel::rollback(); return false; } //更新发货表状态 $ostatus = WhWaveOrderPartionScanReviewModel::updateShippingOrderStatus($shipOrderId, $status = PKS_PRINT_SHIPPING_INVOICE); if (!ostatus) { self::$errCode = 608; self::$errMsg = "更新发货单状态失败!"; WhBaseModel::rollback(); return false; } WhPushModel::pushOrderStatus($shipOrderId, 'PKS_PRINT_SHIPPING_INVOICE', $_SESSION['userId'], time()); //状态推送,需要改为待打印面单(订单系统提供状态常量) } else { self::$errCode = '206'; self::$errMsg = '该订单分区复核失败,请联系负责人!'; WhBaseModel::rollback(); return false; } self::$errCode = '200'; self::$errMsg = '该订单分区正确,请复核下一订单!'; WhBaseModel::commit(); return true; } }