/**
  * 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;
 }
Exemple #3
0
<?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;
Exemple #4
0
 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);
 }