Пример #1
0
 /**
  * WaveOrderPrintingView::view_print_all()
  * 对配货单进行判断是否符合要求
  * @author cxy
  * @return void
  */
 public function view_print_all()
 {
     $_POST['waveId'] = $_POST['waveId'] ? $_POST['waveId'] : $_GET['waveId'];
     $_POST['waveIds'] = $_POST['waveIds'] ? $_POST['waveIds'] : $_GET['waveIds'];
     $_POST['shipOrderId'] = $_POST['shipOrderId'] ? $_POST['shipOrderId'] : $_GET['shipOrderId'];
     $confirm = $_GET['confirm'] ? true : false;
     // print_r($_POST);exit;
     $waveId = WhWaveInfoModel::number_decode($_POST['waveId']);
     if (!$waveId) {
         $return = array('status' => 0, 'msg' => '配货单不存在,请检查是否输入正确');
         echo json_encode($return);
         exit;
     }
     $wave = array();
     if ($waveId) {
         $wave = WhWaveInfoModel::find($waveId);
     }
     //波次配货单状态
     $waveTypes = array('many' => array(5, 6), 'one' => array(2, 3, 4), 'order' => array(1));
     if (!$wave) {
         //	echo '该配货单不存在,不能打印';
         $return = array('status' => 1, 'msg' => '该配货单不存在,不能打印');
         echo json_encode($return);
         exit;
     } else {
         if ($wave['waveStatus'] < 3 && !$confirm) {
             $return = array('status' => 1, 'msg' => '该配货单未完成配货,不能打印');
             echo json_encode($return);
             exit;
         }
         if (in_array($wave['waveType'], $waveTypes['order'])) {
             //单发货单,检查是否被拆分多波次,验证全部波次
             $vo = WhWaveShippingRelationModel::find("waveId='" . $waveId . "' AND is_delete=0");
             if (!$vo) {
                 $return = array('status' => 1, 'msg' => '该配货单下无发货单,不能打印');
                 echo json_encode($return);
                 exit;
             }
             $orders = WhWaveShippingRelationModel::select("shipOrderId='" . $vo['shipOrderId'] . "'");
             //已收到波次
             $temp_waveIds = explode(',', $_POST['waveIds']);
             $waveIds = array();
             foreach ($temp_waveIds as $val) {
                 if ($val) {
                     $waveIds[] = WhWaveInfoModel::number_decode($val);
                 }
             }
             $notWaveIds = array();
             foreach ($orders as $val) {
                 if (!in_array($val['waveId'], $waveIds)) {
                     $notWaveIds[] = $val['waveId'];
                 }
             }
             if ($notWaveIds) {
                 $return = array('status' => 1, 'msg' => '该波次为单发货单拆分波次,请连续扫描多个配货单后再打印');
                 echo json_encode($return);
                 exit;
             }
         }
     }
     /*
         	if(in_array($wave['waveType'], $waveTypes['one'])){
         		//单料号的配货单
         		$orderlist = WhWaveScanRecordModel::getShipOrders($waveId, $_POST['shipOrderId']);
         $onesku = true ;
         	//	$this->smarty->assign('onesku', true);
         	}else{
         		$orderlist = WhWaveShippingRelationModel::getShipOrders($waveId, $_POST['shipOrderId']);	
         		//$this->smarty->assign('onesku', false);
          $onesku = false ;
         	}
            // echo $_POST['shipOrderId'];
           //  print_r($orderlist);exit;
     
         	if(!$orderlist){
         	    $return = array(
         			'status'	=> 1,
         			'msg'		=> '该配货单下无发货单,不能打印',
         	    	);
             echo json_encode($return);
         	      	exit; 
     	    //	echo '该配货单下无发货单,不能打印';
       //   echo "<script>alert('该配货单下无发货单,不能打印');</script>";
        //         redirect_to("index.php?mod=waveOrderPrinting&act=index");
     	    //	exit;
         	}
         	//if(!in_array($wave['waveType'], $waveTypes['many'])){
         		//非多料号波次,更新状态为待复核
         		//WhWaveInfoModel::update(array('waveStatus' => 6), $wave['id']);
         	//}
         	$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	//0非快递,1-快递,2-全部
     			);
     	    	$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;
         	}
     */
     $return = array('status' => 200, 'msg' => '请打印', 'waveId' => $_POST['waveId'], 'shipOrderId' => $_POST['shipOrderId']);
     echo json_encode($return);
     exit;
 }
Пример #2
0
 public function view_orderdelivery()
 {
     $toptitle = "发货单投放";
     $this->smarty->assign('toptitle', $toptitle);
     $this->smarty->assign("action", $toptitle);
     if ($_POST['shipOrderId']) {
         $shipOrderId = trim($_POST['shipOrderId']);
         $order = WhWaveShippingRelationModel::find("shipOrderId='{$shipOrderId}'");
         if ($order) {
             $return = array('status' => '1', 'msg' => $order['pickLight'] . '号筒');
         } else {
             $return = array('status' => '0', 'msg' => '发货单[' . $_POST['shipOrderId'] . ']不存在');
         }
         echo json_encode($return);
         exit;
     } else {
         $this->smarty->display('pda_waveScanRecord_orderdelivery.htm');
     }
 }