/** * Pda_orderLoadingAct::act_orderLoading() * 装车扫描的时候对口袋编号进行改变状态,如果是快递的就扫描发货单号 * @author cxy * @return */ public function act_orderLoading() { $userId = $_SESSION['userId']; $packageId = trim($_POST['order_group']); //需要验证是否是口袋编号 //if(strlen($packageId)<7){ // $a = WhWaveAreaInfoModel::get_area_info(1,1,1); // echo $a ;exit; $group_sql = WhWaveOrderPartionShippingReviewModel::get_pocket($packageId); // print_r($group_sql);exit; if (empty($group_sql)) { self::$errCode = '003'; self::$errMsg = '该编号不在发货复核中,请重新输入!'; return false; } $ebay_id_all = WhWaveOrderPartionScanReviewModel::get_shipping_review($packageId); if (empty($ebay_id_all)) { self::$errCode = '003'; self::$errMsg = '该编号不在分区复核中,请重新输入!'; return false; } $data = array('packageId' => $packageId, 'scantime' => time(), 'userId' => $userId, 'isExpress' => 2); $select_loading = WhWaveOrderLoadingModel::select_loading($packageId); if ($select_loading) { self::$errCode = '003'; self::$errMsg = '该' . $packageId . '编号已经进行过装车扫描了!'; return false; } WhBaseModel::begin(); $insert_loading = WhWaveOrderLoadingModel::insert($data); if (empty($insert_loading)) { self::$errCode = '003'; self::$errMsg = '装车扫描失败,请联系负责人!'; WhBaseModel::rollback(); return false; } foreach ($ebay_id_all as $values) { $shipOrderId = $values['shipOrderId']; $result = WhWaveOrderPartionScanReviewModel::updateShippingOrderStatus($shipOrderId, $status = PKS_DONE); if (!$result) { self::$errCode = '003'; self::$errMsg = '更新' . $shipOrderId . '发货单号失败!'; WhBaseModel::rollback(); return false; } WhPushModel::pushOrderStatus($shipOrderId, 'PKS_DONE', $_SESSION['userId'], time()); //状态推送,需要改为已发货(订单系统提供状态常量) } self::$errCode = '200'; self::$errMsg = '扫描' . $packageId . '口袋编号成功!'; WhBaseModel::commit(); return true; // }else{ // } }
/** * 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; }