/** * pda_partitionCheckingAct::act_partitionChecking() * 对扫描分区编号的检查 * @author cxy * @return boolean */ public function act_partitionChecking() { $userId = $_SESSION['userId']; $packageId = intval(trim($_POST['partion_id'])); $no_express_delivery = array('俄速通平邮', '俄速通挂号', '中国邮政平邮', '中国邮政挂号', 'EUB', 'UPS美国专线', 'Global Mail', '香港小包平邮', '香港小包挂号', '德国邮政挂号', '新加坡小包挂号', '新加坡DHL GM平邮', '新加坡DHL GM挂号', '瑞士小包平邮', '瑞士小包挂号', 'USPS FirstClass', 'UPS SurePost', 'UPS Ground Commercia', '比利时小包EU'); if (empty($userId)) { self::$errCode = '0'; self::$errMsg = '系统登录超时,请先关闭浏览器 然后登录扫描!!'; return false; } //得到一维数组分区记录, $partion = WhOrderPartionPrintModel::get_OrderPartion($packageId); if (empty($partion)) { self::$errCode = '0'; self::$errMsg = '该分区编号不存在,请重新输入!'; return false; } if ($partion['status'] == 0) { self::$errCode = '0'; self::$errMsg = '该分区编号没有进行打包,请检查!'; return false; } $is_review = WhWaveOrderPartionScanReviewModel::get_shipping_review($packageId); if ($is_review) { self::$errCode = '205'; self::$errMsg = '该口袋编号已经复核过了,请确认是否要重新扫描!'; $res['res_info'] = $partion['partion']; $res['real_partion'] = $partion['partion']; $res['package_id'] = $packageId; return $res; } if (!empty($partion)) { self::$errCode = '200'; self::$errMsg = '请扫描该分区下的订单!'; $res['res_info'] = $partion['partion']; $res['real_partion'] = $partion['partion']; $res['package_id'] = $packageId; return $res; } }
/** * pda_shippingGroupReviewAct::act_outReview() * 扫描口袋编号通过AJAX传递口袋编号来对该编号进行操作 * @author cxy * @return boolean array */ public function act_outReview() { $userId = $_SESSION['userId']; $packageId = intval(trim($_POST['packageid'])); //得到发货单分区列表信息 $get_orderPartion = WhOrderPartionPrintModel::get_OrderPartion($packageId); if (empty($get_orderPartion)) { self::$errCode = '202'; self::$errMsg = '该口袋编号不存在分区列表中'; return false; } if ($get_orderPartion['status'] == 0) { self::$errCode = '202'; self::$errMsg = '该口袋编号还没有进行打包!'; return false; } //得到该口袋编号下的发货单 $all_order = WhOrderPartionRecordsModel::get_OrderPartionRecordsByPackageId($packageId); if ($all_order) { foreach ($all_order as $value) { $result_status = WhShippingOrderModel::get_order_info('orderStatus', array('id' => $value['shipOrderId'])); if ($result_status[0]['orderStatus'] != PKS_WAITING_SHIPPING_CHECKING) { self::$errCode = '202'; self::$errMsg = '该口袋编号下有发货单的状态不是在待发货组复核!'; return false; } } } //发货组复核信息 $get_groupReview = WhWaveOrderPartionShippingReviewModel::get_pocket($packageId); if ($get_groupReview) { self::$errCode = '211'; self::$errMsg = '该口袋编号已经在发货组复核中复核过了'; return true; } //分区复核的信息 $get_orderReview = WhWaveOrderPartionScanReviewModel::get_shippingNews($packageId); // print_r($get_orderReview); // echo $get_orderReview['review_weight'];exit; if ($get_orderPartion['totalWeight'] == $get_orderReview['review_weight'] && $get_orderPartion['totalNum'] == $get_orderReview['review_num']) { $is_error = 0; self::$errCode = '200'; self::$errMsg = '请随机扫描一个订单!'; $data = array('packageId' => $packageId, 'is_error' => $is_error, 'userId' => $userId, 'scantime' => time()); $partion_arr = array(); $review_arr = array(); //分区扫描得到的发货单 $get_orderPartion_detail = WhOrderPartionRecordsModel::get_OrderPartionRecordsByPackageId($packageId); //得到分区复核的发货单列表 $get_review_detail = WhWaveOrderPartionScanReviewModel::get_shipping_review($packageId); foreach ($get_orderPartion_detail as $v) { $partion_arr[$v['shipOrderId']] = $v; } foreach ($get_review_detail as $v) { $review_arr[$v['shipOrderId']] = $v; } $diversity_a = array_diff_key($partion_arr, $review_arr); $diversity_b = array_diff_key($review_arr, $partion_arr); if (!empty($diversity_a) || !empty($diversity_b)) { self::$errCode = '500'; self::$errMsg = '分区的发货单与分区复核的发货单不符合'; $order_str = ''; if ($diversity_a) { foreach ($diversity_a as $k => $val) { $order_str .= $k . ','; } } elseif ($diversity_b) { foreach ($diversity_b as $k => $val) { $order_str .= $k . ','; } } return trim($order_str, ','); } $res = array(); WhBaseModel::begin(); $result = WhWaveOrderPartionShippingReviewModel::insert($data); if ($result) { foreach ($get_review_detail as $ks => $val) { //更新发货操作记录表 $update = WhWaveOrderPartionShippingReviewModel::updateOrderRecords($val['shipOrderId'], $userId); if (!$update) { self::$errCode = '206'; self::$errMsg = '更新操作记录失败,请联系负责人!'; WhBaseModel::rollback(); return false; } //更新发货表状态 $ostatus = WhWaveOrderPartionScanReviewModel::updateShippingOrderStatus($val['shipOrderId'], $status = PKS_WAITING_LOADING); if (!$ostatus) { self::$errCode = 608; self::$errMsg = "更新发货单状态失败!"; WhBaseModel::rollback(); return false; } WhPushModel::pushOrderStatus($val['shipOrderId'], 'PKS_WAITING_LOADING', $_SESSION['userId'], time()); //状态推送,需要改为装车扫描(订单系统提供状态常量) } self::$errCode = '200'; self::$errMsg = '该口袋编号正确,请复核下该口袋编号下的发货单!'; $get_orderPartion['totalWeight'] = round($get_orderPartion['totalWeight'] / 1000, 3); $get_orderReview['review_weight'] = round($get_orderReview['review_weight'] / 1000, 3); $res['partion_data'] = $get_orderPartion; $res['review_data'] = $get_orderReview; $res['packageid'] = $packageId; } else { self::$errCode = '206'; self::$errMsg = '该发货组复核口袋编号失败,请联系负责人!'; WhBaseModel::rollback(); return false; } WhBaseModel::commit(); return $res; } else { self::$errCode = '201'; self::$errMsg = '分区和分区复核的数据不一致!'; } $res['partion_data'] = $get_orderPartion; $res['review_data'] = $get_orderReview; $res['packageid'] = $packageId; return $res; }
<?php $nums = isset($_POST['nums']) ? intval($_POST['nums']) : 0; $partionId = isset($_POST['partions']) ? intval($_POST['partions']) : 0; if (empty($partionId)) { echo "请先选择分区"; exit; } $partion = WhTransportPartitionModel::find($partionId); if (!$partion) { echo "分区不存在"; exit; } $partionName = $partion['title']; for ($j = 0; $j < $nums; $j++) { $data = array('partitionId' => $partion['id'], 'totalWeight' => 0, 'totalNum' => 0, 'partion' => $partion['title'], 'status' => 0, 'printUserId' => $_SESSION['userId'], 'printTime' => time(), 'modifyTime' => 0); $id = WhOrderPartionPrintModel::insert($data); //$userId = $_SESSION['userId']; //echo $userId; //$msg = orderPartionModel::insertPrintRecord($partionName,$userId); if ($id) { //$id = $msg; ?> <div class="main"> <div class="text" style="font-weight:bold;"> <p style="padding-left: 155px; padding-top: 0px;font-size: 22px;">赛维</p> <p style="padding-left: <?php echo strlen($partionName) > 30 ? '70' : 130; ?> px;padding-top: 2px;"><?php echo $partionName;
public function view_savepacket() { $packageid = intval($_POST['packageid']); $packet = WhOrderPartionPrintModel::find($packageid, 'status,partion,partitionId'); if (!$packet) { $result = array('status' => 0, 'msg' => '口袋编号不存在'); echo json_encode($result); exit; } $status = $packet['status']; $partion = $packet['partion']; $partionId = $packet['partitionId']; unset($packet); if ($status != 0) { $result = array('status' => 0, 'msg' => '该包裹已使用,请更换包裹编号!'); echo json_encode($result); exit; } if (!$_SESSION['userId']) { $result = array('status' => 0, 'msg' => '请先登录系统'); echo json_encode($result); exit; } $record = WhOrderPartionRecordsModel::getPartionRecords($partionId, $_SESSION['userId']); $totalnum = $record['totalnum']; $totalweight = $record['totalweight']; if (!$totalnum && !$totalweight) { $result = array('status' => 0, 'msg' => '该包裹分区下没有订单'); echo json_encode($result); exit; } //更新口袋分区 $data = array('packageId' => $packageid, 'modifyTime' => time()); WhOrderPartionRecordsModel::update($data, "partitionId='" . $partionId . "' AND packageId=0 AND scanUserId='" . $_SESSION['userId'] . "'"); //更新口袋打包 $packet_data = array('totalWeight' => $totalweight, 'totalNum' => $totalnum, 'status' => 1, 'modifyTime' => time()); WhOrderPartionPrintModel::update($packet_data, $packageid); $result = array('status' => 1, 'totalWeight' => round($totalweight / 1000, 3), 'totalNum' => $totalnum, 'msg' => '口袋打包成功'); //更新订单状态 $orders = WhOrderPartionRecordsModel::select("partitionId='" . $partionId . "' AND packageId='" . $packageid . "' AND scanUserId='" . $_SESSION['userId'] . "'"); foreach ($orders as $val) { $orderIds[] = $val['shipOrderId']; WhPushModel::pushOrderStatus($val['shipOrderId'], 'PKS_DISTRICT_CHECKING', $_SESSION['userId'], time()); //状态推送,需要改为待分区复核(订单系统提供状态常量) } $data = array('orderStatus' => PKS_DISTRICT_CHECKING); WhShippingOrderModel::update($data, array('id in' => $orderIds)); echo json_encode($result); }