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); }
/** * 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'); }
/** * 获取配货单的接下来的配货区域 * @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; }