Exemplo n.º 1
0
 public function view_stoppicking()
 {
     $_POST['waveId'] = $_POST['waveId'] ? $_POST['waveId'] : $_GET['waveId'];
     $waveId = WhWaveInfoModel::number_decode($_POST['waveId']);
     if ($waveId) {
         $wave = WhWaveInfoModel::find($waveId);
     }
     if (!$waveId || !$wave) {
         $msg = array('status' => 'A00', 'waveStatus' => 'A00', 'msg' => '波次配货单不存在,参数错误');
         echo json_encode($msg);
     }
     //检查当前波次是否已分拣完结
     $list = WhWavePickRecordModel::getSkuPickRecord($waveId);
     if ($list) {
         //把未完结的发货记录手动完结,修改配货记录状态为手动完结
         $Pickmessage = '异常发货单:<br/>';
         foreach ($list as $val) {
             if (WhWavePickRecordModel::update(array('pickStatus' => 3), ' shipOrderId=' . $val['shipOrderId'] . ' AND pickStatus = 0 AND is_delete = 0')) {
                 //修改配货单的状态为待复核
                 if (WhShippingOrderModel::update(array('orderStatus' => PKS_UNUSUAL_SHIPPING_INVOICE), ' id=' . $val['shipOrderId'])) {
                     $Pickmessage .= "发货单:{$val['shipOrderId']}--桶号:{$val['pickLight']}<br/>";
                 }
             }
         }
         $msg = array('waveStatus' => 'A99', 'msg' => $Pickmessage);
     } else {
         $msg = array('status' => 'A00', 'waveStatus' => 'A99', 'msg' => '波次已完成分拣,不需要手动完结');
     }
     echo json_encode($msg);
 }
Exemplo n.º 2
0
 /**
  * WaveOrderPrintingView::view_prints()
  * 对配货单进行打印预览
  * @author cxy 
  * @return void
  */
 public function view_prints()
 {
     $shipOrderId = trim($_GET['shipOrderId']);
     $waveId = trim($_GET['waveId']);
     $wave = WhWaveInfoModel::find($waveId);
     if ($wave['waveType'] == 2) {
         //单料号的配货单
         //if($shipOrderId !='null'){
         //    echo $shipOrderId;
         //   	$orderlist = WhWaveScanRecordModel::getShipOrders($waveId, $shipOrderId);
         // }else{
         $orderlist = WhWaveScanRecordModel::getShipOrders($waveId);
         // }
         $onesku = true;
     } else {
         // if($shipOrderId !='null'){
         //    	$orderlist = WhWaveShippingRelationModel::getShipOrders($waveId, $shipOrderId);
         //}else{
         $orderlist = WhWaveShippingRelationModel::getShipOrders($waveId);
         // }
         $onesku = false;
     }
     if (!$orderlist) {
         $return = array('status' => 1, 'msg' => '该配货单下无此发货单,不能打印');
         echo $return;
         exit;
     }
     $carries = WhBaseModel::cache('trans.carrier.info.get');
     if (!$carries) {
         //接口获取快递运输方式
         require_once WEB_PATH . "html/api/include/opensys_functions.php";
         $paramArr = array('method' => 'trans.carrier.info.get', 'format' => 'json', 'v' => '1.0', 'username' => 'purchase', 'type' => 1);
         $result = json_decode(callOpenSystem($paramArr), true);
         $templist = $result['data'];
         if ($templist) {
             foreach ($templist as $val) {
                 $carries[$val['id']] = $val;
                 $carries['express_ids'][] = $val['id'];
             }
         }
         WhBaseModel::cache('trans.carrier.info.get', $carries);
     }
     foreach ($orderlist as $key => $val) {
         if ($val['transportId'] && in_array($val['transportId'], $carries['express_ids'])) {
             $val['isexpress'] = 1;
             $express_ordids[] = $val['shipOrderId'];
         } else {
             $val['isexpress'] = 0;
             $ordids[] = $val['shipOrderId'];
         }
         $orderlist[$key] = $val;
     }
     // var_dump($onesku);
     // print_r($orderlist);
     $this->smarty->assign('onesku', $onesku);
     $this->smarty->assign('orderlist', $orderlist);
     $this->smarty->display('waveOrderPrinting_startprint.htm');
 }
Exemplo n.º 3
0
 /**
  * 获取配货单的接下来的配货区域
  * @return string
  * @author czq
  */
 public static function act_orderPickRoute()
 {
     $invoiceNumber = isset($_POST['invoice']) ? trim($_POST['invoice']) : "";
     if (empty($invoiceNumber)) {
         self::$errCode = 502;
         self::$errMsg = "配货单号不能为空!";
         return false;
     }
     $waveId = WhWaveInfoModel::number_decode($invoiceNumber);
     //是否已完结
     $waveInfo = WhWaveInfoModel::find(array('id' => $waveId, 'is_delete' => 0), 'waveStatus');
     if ($waveInfo['waveStatus'] == WAVE_FINISH_GET_GOODS) {
         self::$errCode = 502;
         self::$errMsg = "此配货单已经完结!";
         return false;
     }
     //只获取未配货的三个路由区域
     $waveReceiveInfo = WhWaveReceiveRecordModel::getNextReceiveRoute($waveId);
     if (!$waveReceiveInfo) {
         self::$errCode = 502;
         self::$errMsg = "未找到收货区域!";
         return false;
     }
     $str = '未收货路由(显示部分):';
     $areas = array();
     foreach ($waveReceiveInfo as $wave) {
         $areas[] = $wave['area'];
     }
     $str .= implode('=>', $areas);
     self::$errCode = 200;
     self::$errMsg = "获取收货区域成功!";
     return $str;
 }