Beispiel #1
0
 /**
  * WhWaveInfoModel::getWaveList()
  * 获取用户负责区域的配货单列表
  * @param  $uid
  * @author cmf
  * @return
  */
 public static function getWaveList()
 {
     $uid = $_SESSION['userId'];
     $wavelist = array();
     /*$sql = "select a.id as waveId from wh_wave_info a 
     		left join wh_wave_receive_record b ON(a.id=b.waveId)
     		left join wh_wave_area_info c ON(c.areaName=b.area AND c.is_delete=0)
     		left join wh_wave_route_relation d ON(c.id=d.name AND d.is_delete=0)
     		left join wh_wave_area_user_relation e ON(e.userId='".$uid."' AND e.areaId=c.id)					
     		where b.scanStatus='0' AND b.is_delete=0 AND e.userId IS NOT NULL group by a.id order by a.printStorey DESC, d.route asc, a.id asc limit 20";*/
     $sql = "select a.id as waveId,a.number from wh_wave_info a \n\t\t\t\tleft join wh_wave_receive_record b ON(a.id=b.waveId)\n\t\t\t\tleft join wh_wave_area_info c ON(c.areaName=b.area AND c.is_delete=0)\n\t\t\t\tleft join wh_wave_route_relation d ON(c.areaName=d.name AND d.is_delete=0)\n\t\t\t\tleft join wh_wave_area_user_relation e ON(e.userId='" . $uid . "' AND e.areaId=c.id)\t\t\t\t\n\t\t\t\twhere b.scanStatus='0' AND b.is_delete=0 AND e.userId IS NOT NULL group by a.id order by a.printStorey DESC, d.route asc, a.id asc limit 20";
     $wavelist = WhWaveInfoModel::query($sql);
     //foreach($wavelist as $key => $val){
     //			$val['number'] = WhWaveInfoModel::number_encode($val['waveId']);
     //			$wavelist[$key] = $val;
     //		}
     return $wavelist;
 }
 /**
  * 发货单投放
  * @author czq
  */
 public function act_shipOrderpick()
 {
     $waveId = isset($_POST['waveId']) ? intval($_POST['waveId']) : '';
     $shipOrderId = isset($_POST['shipOrderId']) ? intval(trim($_POST['shipOrderId'])) : '';
     $waveId = WhWaveInfoModel::number_decode($waveId);
     if (!$waveId || !$shipOrderId) {
         $msg = array('status' => 'A00', 'waveStatus' => 'A00', 'msg' => '波次配货单不存在,参数错误');
         echo json_encode($msg);
         exit;
     }
     $pickRecord = WhWaveShippingPickRecordModel::getRecordInfoByShipOrderId($shipOrderId);
     if (!$pickRecord) {
         $msg = array('status' => 'A00', 'waveStatus' => 'A00', 'msg' => '此波次的发货单' . $shipOrderId . '不存在');
         echo json_encode($msg);
         exit;
     } else {
         if ($pickRecord[0]['pickStatus'] == 1) {
             $msg = array('status' => 'A00', 'waveStatus' => 'A00', 'msg' => '此发货单已投放过,桶号为:' . $pickRecord[0]['pickLight']);
             echo json_encode($msg);
             exit;
         }
     }
     //更新发货单投放记录表
     $data = array('pickStatus' => 1, 'pickUserId' => $_SESSION['userId'], 'pickTime' => time());
     WhWaveShippingPickRecordModel::update($data, ' shipOrderId=' . $shipOrderId);
     //检查当前发货单是否已完结分拣
     $ShipOrderpickrecord = WhWaveShippingPickRecordModel::select("waveId='" . $waveId . "' AND pickStatus=0 AND is_delete=0");
     if (!$ShipOrderpickrecord) {
         //最后一个投放
         $msg = array('status' => 'A' . ($pickRecord[0]['pickLight'] >= 10 ? $pickRecord[0]['pickLight'] : '0' . $pickRecord[0]['pickLight']), 'pickLight' => $pickRecord[0]['pickLight'] . '号桶', 'shipOrderId' => $pickRecord[0]['shipOrderId'], 'waveStatus' => 'A99', 'msg' => '发货单已投放完毕,请投放料号!');
     } else {
         $msg = array('status' => 'A' . ($pickRecord[0]['pickLight'] >= 10 ? $pickRecord[0]['pickLight'] : '0' . $pickRecord[0]['pickLight']), 'pickLight' => $pickRecord[0]['pickLight'] . '号桶', 'shipOrderId' => $pickRecord[0]['shipOrderId'], 'waveStatus' => 'A00', 'msg' => '');
     }
     echo json_encode($msg);
     exit;
 }
 function act_checkWave()
 {
     $userId = $_SESSION['userId'];
     $wave = trim($_POST['wave']);
     $waveId = WhBaseModel::number_decode($wave);
     if (!$waveId) {
         self::$errCode = "001";
         self::$errMsg = "请扫描配货单号!";
         return FALSE;
     }
     $waveInfo = WhWaveInfoModel::get_wave_info('storey', $waveId);
     //获取配货单所有楼层
     if (empty($waveInfo)) {
         self::$errCode = '002';
         self::$errMsg = '配货单号' . $wave . '不存在!';
         return FALSE;
     }
     $record = WhWaveFloorReceiveRecordModel::select('id', array('userId' => $userId, 'waveId' => $waveId, 'is_delete' => 0));
     if (empty($record)) {
         $data['waveId'] = $waveId;
         $data['userId'] = $userId;
         $data['time'] = time();
         $msg = WhWaveFloorReceiveRecordModel::insert($data);
         if (!$msg) {
             self::$errCode = '003';
             self::$errMsg = '插入接收记录失败!';
             return FALSE;
         }
     }
     $info = '该配货单需要配货楼层包括:<br />';
     $storeys = explode(',', $waveInfo[0]['storey']);
     foreach ($storeys as $v) {
         $info .= $v . '楼<br />';
     }
     return $info;
 }
 public function act_manualSortingCheck()
 {
     $userId = $_SESSION['userId'];
     $waveId = isset($_POST['waveId']) ? $_POST['waveId'] : "";
     $where = "number='{$waveId}'";
     $waveInfo = WhWaveInfoModel::get_wave_info("*", $where);
     if (!$waveInfo) {
         self::$errCode = 502;
         self::$errMsg = "此配货单号不存在!";
         return false;
     }
     if ($waveInfo[0]['waveStatus'] != WAVE_FINISH_GET_GOODS) {
         self::$errCode = 514;
         self::$errMsg = "此配货单不在【配货完成】状态,不能进行分拣操作!";
         return false;
     }
     if ($waveInfo[0]['waveType'] == 3) {
         self::$errCode = 518;
         self::$errMsg = "此配货单属于多SKU生成的配货单,不能进行人工分拣!";
         return false;
     }
     //一个发货单对应多个配货单的时候,发货单是唯一的,
     if ($waveInfo[0]['waveType'] == 1) {
         $waveId = $waveInfo[0]['id'];
         $result = WhWaveShippingRelationModel::select_not_scanning($waveId);
         $shipOrderId = $result[0]['shipOrderId'];
         if ($result[0]['pickUserId'] != 0) {
             self::$errCode = 520;
             self::$errMsg = "此配货单已经分拣过了!";
             return false;
         }
         WhShippingOrderModel::begin();
         $update = WhWaveShippingRelationModel::update(array('pickUserId' => $userId, 'pickTime' => time()), array('is_delete' => 0, 'waveId' => $waveId));
         if (!$update) {
             self::$errCode = 519;
             self::$errMsg = "扫描该配货单失败,请联系负责人!";
             WhShippingOrderModel::rollback();
             return false;
             // $result = WhWaveShippingRelationModel::getShippingOrderIdsByWaveId($waveId);
             //$shipOrderId = $result[0]['shipOrderId'];
             //查询还没有扫描的配货单
         }
         $select_not_scanning = WhWaveShippingRelationModel::select_not_scanning_by_id($shipOrderId);
         $not_scanning_waveId = '';
         //还没有分拣的配货单
         if ($select_not_scanning) {
             foreach ($select_not_scanning as $val) {
                 $not_scanning_waveId .= $val['waveId'] . ',';
             }
             self::$errMsg = "扫描该配货单'{$waveId}'成功,对应发货单'{$shipOrderId}'的配货单'{$not_scanning_waveId}'还没有分拣!";
         } else {
             self::$errMsg = "扫描该配货单'{$waveId}'成功,对应的发货单'{$shipOrderId}'已经分拣完成,请处理完成之后拿去复核!";
             //获取一个发货单对应多个配货单的每个配货单号
             $result = OmAvailableModel::getTNameList("wh_wave_shipping_relation", "waveId", "where shipOrderId='{$shipOrderId}'  and is_delete=0 ");
             $wave_all = '';
             foreach ($result as $values) {
                 $wave_all .= $values['waveId'] . ',';
             }
             $wave_all = trim($wave_all, ',');
             //得到该发货单下所有配货单的信息
             $scan_record = OmAvailableModel::getTNameList("wh_wave_scan_record", "waveId,sku,skuAmount,amount", "where waveId in ('{$wave_all}')  and scanStatus = 1  and is_delete=0 ");
             $picklist_all = array();
             foreach ($scan_record as $record) {
                 $data = array('waveId' => $record['waveId'], 'shipOrderId' => $shipOrderId, 'sku' => $record['sku'], 'skuAmount' => $record['skuAmount'], 'amount' => $record['amount'], 'pickStatus' => 1, 'pickUserId' => intval($_SESSION['userId']), 'pickTime' => time(), 'deleteUserId' => '0', 'deleteTime' => '0', 'is_delete' => '0');
                 $picklist_all[] = $data;
             }
             if (!WhWavePickRecordModel::insert($picklist_all, true)) {
                 WhShippingOrderModel::rollback();
                 self::$errCode = 517;
                 self::$errMsg = "该配货单插入分拣记录失败!";
                 return false;
             }
             $where = "id = '{$shipOrderId}' AND orderStatus='" . PKS_WAITING_SORTING . "'";
             if (!WhShippingOrderModel::update_shipping_order($where, "orderStatus='" . PKS_WIQC . "'")) {
                 WhShippingOrderModel::rollback();
                 self::$errCode = 516;
                 self::$errMsg = "此配货单所属发货单{$shipOrderId}更新状态失败!";
                 return false;
             }
         }
         WhPushModel::pushOrderStatus($shipOrderId, 'PKS_WIQC', $_SESSION['userId'], time());
         //状态推送,需要改为待复核单(订单系统提供状态常量)
         WhShippingOrderModel::commit();
         self::$errCode = 200;
         return true;
     }
     /*
     		if(empty($waveInfo[0]['sku'])){
     			self::$errCode = 515;
     			self::$errMsg = "此配货单不属于单SKU生成的配货单,不能进行人工分拣!";
     			return false;
     		}
     */
     $waveId = $waveInfo[0]['id'];
     //echo $waveId;
     $shippOrders = WhWaveShippingRelationModel::getShippingOrderIdsByWaveId($waveId);
     //var_dump($shippOrders);
     WhShippingOrderModel::begin();
     foreach ($shippOrders as $shippOrder) {
         $shipOrderId = $shippOrder['shipOrderId'];
         $where = "id = '{$shipOrderId}' AND orderStatus='" . PKS_WAITING_SORTING . "'";
         if (!WhShippingOrderModel::update_shipping_order($where, "orderStatus='" . PKS_WIQC . "'")) {
             WhShippingOrderModel::rollback();
             self::$errCode = 516;
             self::$errMsg = "此配货单所属发货单{$shipOrderId}更新状态失败!";
             return false;
         }
     }
     $pick = WhWavePickRecordModel::find("waveId='{$waveId}'");
     if (!$pick) {
         $picklist = array();
         $list = WhShippingOrderdetailModel::getShippingOrderSkuList($waveId);
         foreach ($list as $val) {
             $data = array('waveId' => $val['waveId'], 'shipOrderId' => $val['shipOrderId'], 'sku' => $val['sku'], 'skuAmount' => $val['amount'], 'amount' => 0, 'pickStatus' => 1, 'pickUserId' => intval($_SESSION['userId']), 'pickTime' => time(), 'deleteUserId' => '0', 'deleteTime' => '0', 'is_delete' => '0');
             $picklist[] = $data;
         }
         if (!WhWavePickRecordModel::insert($picklist, true)) {
             WhShippingOrderModel::rollback();
             self::$errCode = 517;
             self::$errMsg = "该配货单插入分拣记录失败!";
             return false;
         } else {
             foreach ($picklist as $lists) {
                 WhPushModel::pushOrderStatus($lists['shipOrderId'], 'PKS_WIQC', $_SESSION['userId'], time());
                 //状态推送,需要改为待复核单(订单系统提供状态常量)
             }
         }
     }
     WhShippingOrderModel::commit();
     self::$errCode = 200;
     self::$errMsg = "该配货单分拣成功,请处理完成之后拿去复核!";
     return true;
 }
Beispiel #5
0
Core::getInstance();
global $dbConn;
$userName = $_SESSION['userName'];
$ids = $_GET['ids'];
$ids = explode(',', $ids);
$create_time = date('Y-m-d');
$waveTypes = array(1 => '单发货单', 2 => '单料号', 3 => '多料号');
$waveZones = array(1 => '同区域', 2 => '同楼层跨区域', 3 => '跨楼层');
$color_config = self::get_color_config();
//颜色配置
$update = WhWaveInfoModel::update_wave_info(array('waveStatus' => 2), array('id in' => $ids, 'waveStatus' => 1));
if (!$update) {
    echo '更新配货单状态失败!请重新打印!';
    exit;
}
$wave_info = WhWaveInfoModel::get_wave_info('id, number, waveType, waveZone,startArea, printStorey', array('id in' => $ids));
if (!empty($wave_info)) {
    $total_nums = count($wave_info);
    foreach ($wave_info as $key => $wave) {
        $receive_info = array();
        //区域路由
        /*$receive_area   =   WhWaveReceiveRecordModel::select(array('waveId'=>$wave['id'], 'order by'=> 'id asc'), 'area');
          if(!empty($receive_area)){
              foreach($receive_area as $v){
                  $receive_info   .=  " {$v['area']} =>";
              }
              $receive_info   =   trim($receive_info, '=>');
          }*/
        $page_num = 35;
        $scan_record = WhWaveScanRecordModel::get_scan_record_union_area($wave['id']);
        //获取配货记录及区域负责人id
 /**
  * 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');
 }
Beispiel #7
0
 /**
  * WaveBuildAct::make_multi_wave()
  * 批量生成多料号配货单 
  * @param $time 操作时间
  * @author Gary
  * @return void
  */
 public function make_multi_wave($time)
 {
     //$area_index     =  WhWaveAreaIndexModel::select('', '*');
     //        $indexs         =   array();
     //        foreach($area_index as $val){
     //            $indexs[$val['areaInfo']]   =   $val['id']; //区域索引集合
     //        }
     //        unset($area_index);
     //获取多料号订单集合
     $time = $time ? $time : time();
     $multi_shipOrders = whWaveMultiShipAreaRecordModel::get_multi_ship_records('*', array('addTime <=' => $time, 'is_wave' => 0, 'is_delete' => 0));
     //var_dump($multi_shipOrders);exit;
     $new_orders = array();
     //经过排序后的多料号订单集合
     if (empty($multi_shipOrders)) {
         self::$errCode = 100;
         self::$errMsg = '暂无可配货多料号订单';
         return FALSE;
     }
     foreach ($multi_shipOrders as $val) {
         $area_count = substr_count($val['area'], ',') + 1;
         $area_id_count = self::get_area_ids_count($val['area']);
         //获取该订单所有区域ID索引值的总和
         $new_orders[$area_count][$area_id_count][] = $val;
     }
     ksort($new_orders);
     //按照订单区域数从小到大排列
     $success = array();
     //生成成功发货单
     $fail = array();
     //生成失败发货单
     foreach ($new_orders as $val) {
         ksort($val);
         //按照区域id综合从小到大排序
         //print_r($val);exit;
         foreach ($val as $v) {
             //print_r($v);exit;
             foreach ($v as $order) {
                 //print_r($order);exit;
                 $wave_id = WhWaveInfoModel::get_wave_info('id', array('waveType' => 3, 'waveStatus' => 0, 'is_delete' => 0));
                 $wave_id = empty($wave_id) ? 0 : $wave_id[0]['id'];
                 $info = self::make_wave($order['shipOrderId'], $wave_id, 0, '', 3);
                 if ($info) {
                     $success[] = $order['shipOrderId'];
                 } else {
                     $fail[] = array('shipOrderId' => $order['shipOrderId'], 'reason' => self::$errMsg);
                 }
             }
         }
     }
     //var_dump($fail);exit;
     return array('success' => $success, 'fail' => $fail);
 }
 public function view_savescan()
 {
     $id = intval($_POST['id'] ? $_POST['id'] : $_GET['id']);
     $waveId = WhWaveInfoModel::number_decode($_POST['waveId'] ? $_POST['waveId'] : $_GET['waveId']);
     $neednum = $_POST['neednum'] ? $_POST['neednum'] : $_GET['neednum'];
     $readynum = $_POST['readynum'] ? $_POST['readynum'] : $_GET['readynum'];
     $sku = get_goodsSn($_POST['sku'] ? $_POST['sku'] : $_GET['sku']);
     $record = WhWaveScanRecordModel::find($id);
     if (!$readynum) {
         $return = array('status' => 0, 'msg' => '配货数量不能为0');
         echo json_encode($return);
         exit;
     }
     if (!$record) {
         $return = array('status' => 0, 'msg' => '错误料号信息,料号不存在');
         echo json_encode($return);
         exit;
     }
     if ($waveId != $record['waveId']) {
         $return = array('status' => 0, 'msg' => '配货单号与系统记录不符');
         echo json_encode($return);
         exit;
     }
     if (strtoupper($sku) != strtoupper($record['sku'])) {
         $return = array('status' => 0, 'msg' => '料号与系统记录不符');
         echo json_encode($return);
         exit;
     }
     if ($readynum > $record['skuAmount']) {
         $return = array('status' => 0, 'msg' => '配货数量不能大于总配货数');
         echo json_encode($return);
         exit;
     }
     $amount = $record['amount'] + $readynum;
     if ($amount > $record['skuAmount']) {
         $return = array('status' => 0, 'msg' => '当前配货数量超过待配货数');
         echo json_encode($return);
         exit;
     }
     $data = array('amount' => $amount, 'scanStatus' => $amount == $record['skuAmount'] ? 1 : 0);
     if ($data['scanStatus']) {
         $data['scanTime'] = time();
     }
     $result = WhWaveScanRecordModel::update($data, $id);
     if ($result) {
         if ($data['scanStatus']) {
             //检查当前配货单在当前区域已否已配完
             $waveId = $record['waveId'];
             $area = $record['area'];
             $wave_area = WhWaveScanRecordModel::find("waveId='{$waveId}' AND area='{$area}' AND scanStatus=0 AND is_delete=0");
             if (!$wave_area) {
                 //当前区域已配完
                 $update_data = array('scanStatus' => 1);
                 WhWaveReceiveRecordModel::update($update_data, "waveId='{$waveId}' AND area='{$area}' AND is_delete=0");
                 $wave = WhWaveScanRecordModel::find("waveId='{$waveId}' AND scanStatus=0 AND is_delete=0");
                 if (!$wave) {
                     /*//当前波次已配完
                     		$update_data = array(
                     			'waveStatus' => 3,
                     		);
                     		WhWaveInfoModel::update($update_data, "id='$waveId' AND is_delete=0");*/
                 }
             }
         }
         $return = array('status' => 1, 'msg' => '配货成功');
         echo json_encode($return);
     } else {
         $return = array('status' => 0, 'msg' => '配货失败,未知错误');
         echo json_encode($return);
     }
 }
 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);
 }
Beispiel #10
0
 /**
  * WaveInfoManageView::makeSingleWave()
  * 生成单料号及单发货单配货单
  * @author Gary 
  * @return void
  */
 public function makeSingleWave($time)
 {
     $update = array('createUserId' => $_SESSION['userId'], 'createTime' => time(), 'waveStatus' => 1);
     $where = array('waveType in' => array(1, 2), 'createTime <=' => $time, 'createUserId' => 0, 'is_delete' => 0);
     $waveinfo = WhWaveInfoModel::get_wave_info('id', $where);
     //获取所有符合条件的配货单号
     WhBaseModel::begin();
     //更新配货单状态
     $info = WhWaveInfoModel::update_wave_info($update, $where);
     if (!$info) {
         WhBaseModel::rollback();
         return $info;
     }
     $waveIds = get_filed_array('id', $waveinfo);
     $waveIds = empty($waveIds) ? array(0) : $waveIds;
     $shipOrderIds = WhWaveShippingRelationModel::select(array('waveId in' => $waveIds), 'shipOrderId');
     //print_r($waveIds);exit;
     $shipOrderIds = get_filed_array('shipOrderId', $shipOrderIds);
     $shipOrderIds = empty($shipOrderIds) ? array(0) : $shipOrderIds;
     $info = WhShippingOrderModel::update(array('orderStatus' => PKS_PROCESS_GET_GOODS), array('id in' => $shipOrderIds));
     if (!$info) {
         WhBaseModel::rollback();
         return $info;
     }
     $info = WhBaseModel::affected_rows();
     WhBaseModel::commit();
     return $info;
 }
Beispiel #11
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;
 }