load->library('session');
		$this->load->_model('Model_whlabel','whlabel');
		$this->load->_model('Model_warehouse','warehouse');
		$this->load->_model('Model_productprice','productprice');
		$this->load->_model('Model_excel','excel');
		$this->load->_model('Model_fullorder','fullorder');
		$this->load->_model('Model_fullordertt','fullordertt');
		$this->load->_model('Model_fullorderamz','fullorderamz');
		$this->load->_model('Model_fullordersmt','fullordersmt');
		$this->load->_model('Model_outbound','outbound');
		$this->load->_model('Model_express','express');
		$this->load->_model('Model_shop','shop');
		$this->load->_model('Model_typeclass','typeclass');
		$this->load->_model('Model_country','country');
		$this->load->_model('Model_kdniao','kdniao');
		$this->load->_model('Model_notice','notice');
		$this->load->_model('Model_dhl','dhl');
		$this->load->_model('Model_dhlhz','dhlhz');
		$this->load->_model('Model_usps','usps');
		$this->load->_model('Model_fedex','fedex');
		$this->load->_model('Model_fedex_cby','fedex_cby');
		$this->load->_model('Model_ups','ups');
		$this->load->_model('Model_ali','ali');
		$this->load->_model('Model_dpd','dpd');
		$this->load->_model('Model_shop','shop');
		$this->load->_model('Model_user','user');
		$this->load->_model('Model_whlabel','whlabel');
		$this->load->_model('Model_specialstock','specialstock');
		$this->load->_model('Model_ck','ck');
		$this->load->_model('Model_whlabellabel','whlabellabel');
		$this->load->_model('Model_apiyy','apiyy');
		$this->load->helper('url');
		$this->load->_model('Model_whlabel_fc','whlabel_fc');
		$this->load->_model('Model_systemtransfer','systemtransfer');
		$this->load->_model('Model_classid','classid');
		$this->load->_model('Model_allocation','allocation');
		$this->load->_model('Model_fullorderxw','fullorderxw');
		$this->load->_model('Model_fullorderpaypal','fullorderpaypal');
		$this->load->_model("Model_logic_ding","logic_ding");
		$this->load->_model("Model_fedexv1",'fedexv1');
		$this->load->_model("Model_zzquque_u9","zzquque_u9");
		$this->load->_model("Model_customsdeclaration","customsdeclaration");
	}
	//定义方法的调用规则 获取URI第二段值
    public function _remap($arg,$arg_array)
    {
		if($arg == 'fedexhz')
        {
             $this->_fedexhz();
        }
		else if($arg == 'fout')
        {
             $this->_fout($arg_array);
        }
		else if($arg == 'fouthb')//合并出库的
        {
             $this->_fouthb($arg_array);
        }
		else if($arg == 'excel')
        {
             $this->_excel($arg_array);
        }
		else if($arg == 'cpexcel')
        {
             $this->_cpexcel($arg_array);
        }
		else if($arg == 'orderyz')
        {
             $this->_orderyz();
        }
		else if($arg == 'hwyz')
        {
             $this->_hwyz();
        }
		else if($arg == 'outnumber')
        {
             $this->_outnumber();
        }
		else if($arg == 'hb')
        {
             $this->_hb();
        }
		else if($arg == 'indexmc'){
			$this->_indexmc();
		}
		else
		{
			 $this->_index();
		}
    }
	public function _index()
	{
		$post = $this->input->post(NULL, TRUE);
		$xw = '';
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$wid="";$wtype="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			$userwh = explode('|',trim($user['warehouse'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			foreach ($userwh as $value) 
		    {
				$wid .= " id = ".$value." or";
				$wtype .= " type = ".$value." or";
			}
			if($user['userid'] == 'xw')
			{
				$xw = 1;
			}
		}
		if(isset($post['page']))  
		{
		    $page = $this->input->post('page',true);
		    $perpage = $this->input->post('perpage',true);
			$timetk = $this->input->post('timetk',true);
			$timetj = $this->input->post('timetj',true);
			$shop = $this->input->post('shop',true);
			$source = $this->input->post('source',true);
			$orderinfo = $this->input->post('orderinfo',true);
			$number = $this->input->post('number',true);
			$library = $this->input->post('library',true);
			$waybill = $this->input->post('waybill',true);
			$express = $this->input->post('express',true);
			$type = $this->input->post('type',true);
			$lowe = $this->input->post('lowe',true);
			$so = $this->input->post('so',true);
			$is_jiaji = $this->input->post('is_jiaji',true);
			$librarytime = $this->input->post('librarytime',true);
			$timetk = strtotime($timetk);
			$timetj = strtotime($timetj);
			$cxtime = 'id';
			$where = "library!=3 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")";
			if($timetk && $timetj && $library == 1)
            {
				$tmp_timetj = time();
				//$cxtime = 'reviewtime';
                $where  .= "  and printtime > '$timetk - 180*24*3600' and printtime < '$tmp_timetj '";
				$where  .= " and state != 217";
				
            }
			else if($timetk && $timetj && $library == 2)
            {
				$cxtime = 'librarytime';
                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			if($shop)
            {
                $where  .= " and shop = '$shop'";
            }
			if($number)
            {
                $where  .= " and number = '$number'";
            }
			if($library)
            {
                $where  .= " and library = '$library'";
            }
			if($waybill)
            {
                $where  .= " and waybill = '$waybill'";
            }
			if($express)
            {
				$where  .= " and express = '$express'";
            }
			if($orderinfo)
            {
                $where  .= " and orderinfo = '$orderinfo'";
            }
			if($type)
            {
                $where  .= " and type = '$type'";
            }
			if($lowe)
            {
                $where  .= " and shipremarks like '%$lowe%'";
            }
			if($so)
            {
                $where  .= " and shipremarks like '%$so%'";
            }
			if($is_jiaji >-1){
				$where .= " and is_jiaji = ".$is_jiaji." ";
			}
            //数据排序
            $order_str = $cxtime." desc";
            if(empty($page))
		    {
                $start = 0;
		    	$perpage = 1;
            }
		    else
		    {
                $start = ($page - 1)*$perpage;
            }
            //取得信息列表
            $info_list = $this->fullorder->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_list as $key=>$value)
		    {
				$shop = $this->shop->read($value['shop']);
				$info_list[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_list[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_list[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_list[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_list[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_list[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_list[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_list[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_list[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_list[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_list[$key]['librarytime'] = '';
				}
				else
				{
					$info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).'';
				}
				$info_list[$key]['shipremarks'] = str_replace(array('<','>'),array('<','>'),$value['shipremarks']);
            }
            
			$info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listtt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listtt[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listtt[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listtt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listtt[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listtt[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listtt[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listtt[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listtt[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listtt[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listtt[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listtt[$key]['librarytime'] = '';
				}
				else
				{
					$info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
            }
            
            $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listamz as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listamz[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listamz[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listamz[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listamz[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listamz[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listamz[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listamz[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listamz[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listamz[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listamz[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listamz[$key]['librarytime'] = '';
				}
				else
				{
					$info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
            }
            
            
			$info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listxw as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listxw[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listxw[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listxw[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listxw[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listxw[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listxw[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listxw[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listxw[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listxw[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listxw[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listxw[$key]['librarytime'] = '';
				}
				else
				{
					$info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
            }
			$info_listsmt = $this->fullordersmt->find_all($where." and mergeid = '0'",'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listsmt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listsmt[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listsmt[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listsmt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listsmt[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listsmt[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listsmt[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listsmt[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listsmt[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listsmt[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listsmt[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listsmt[$key]['librarytime'] = '';
				}
				else
				{
					$info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
            }
		    $total = $this->fullorder->find_count($where);
			$total += $this->fullordertt->find_count($where);
			$total += $this->fullorderamz->find_count($where);
			$total += $this->fullorderxw->find_count($where);
			$total += $this->fullordersmt->find_count($where);
		    $pagenum = ceil($total/$perpage);
		    $over = $total-($start+$perpage);
		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>(array_merge($info_list,$info_listamz,$info_listtt,$info_listxw,$info_listsmt)));
		    echo json_encode($rows);exit;
		}
		if(isset($_SESSION['api']))
		{
			$wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or'));
			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");
		    $this->data['wlshop'] = $wlshop;
		    $this->data['warehouse'] = $warehouse;
		}
		$this->data['xw'] = $xw;
		$this->_Template('systemfout',$this->data);
	}
	public function _indexmc()
	{
		$post = $this->input->post(NULL, TRUE);
		$xw = '';
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$wid="";$wtype="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			$userwh = explode('|',trim($user['warehouse'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			foreach ($userwh as $value) 
		    {
				$wid .= " id = ".$value." or";
				$wtype .= " type = ".$value." or";
			}
			if($user['userid'] == 'xw')
			{
				$xw = 1;
			}
		}
		if(isset($_SESSION['api']))
		{
			$wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or'));
			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");
		    $this->data['wlshop'] = $wlshop;
		    $this->data['warehouse'] = $warehouse;
		}else{
			//未登录不允许访问
			header("location:/");
			exit;
		}
		$this->data['xw'] = $xw;
		$this->_Template('systemfoutmc',$this->data);
	}
	public function _fout()
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['order']))  
		{
			$time = time();
			$order = $this->input->post('order',true);
			$weight = $this->input->post('weight',true);
			if(!isset($weight))//测试没问题后可以删
			{
				$weight = '';
			}
			if(substr($order,0,3) == '788' && substr($order,-4,4) == '0430')//Fedex联邦
			{
				$order = substr($order,0,12);
			}
			if(strlen($order) == '34')//联邦杭州超长运单截取
			{
			    $str  = substr($order, 0,3);
			    if($str == "420"){
			        $order = substr($order,12);
			    }else{
			        $order = substr($order,22,12);
			    }
				
			}
			if(!$order)
			{
				echo json_encode(array('msg'=>'出库信息不能为空!','success'=>false));exit;
			}
			if(strlen($order) == 30)
			{
				$order = substr($order, 8);
			}
			$fullorder_name = 'fullorder';$outtype = 1;
			$y = $this->fullorder->get_waybill($order);
			// $this->logic_ding->sendToDing("排查五次数据的原有".$order);
			// $this->logic_ding->sendToDing("排查五次数据的订单".json_encode($y));
			if(!$y)
			{
				$y = $this->fullorder->get_number($order);
				$outtype = 2;
				// $this->logic_ding->sendToDing("排查五次数据的原有".$order);
				// $this->logic_ding->sendToDing("排查五次数据的订单".json_encode($y));
				if(!$y)
				{
					$fullorder_name = 'fullordersmt';$outtype = 1;
					$y = $this->fullordersmt->get_waybill($order);
					if(!$y)
				    {
						$y = $this->fullordersmt->get_number($order);
						$outtype = 2;
						if(!$y)
						{
							$fullorder_name = 'fullordertt';$outtype = 1;
							$y = $this->fullordertt->get_waybill($order);
							if(!$y)
				    		{
								$y = $this->fullordertt->get_number($order);
								$outtype = 2;
								if(!$y)
				        			{
				        			    $fullorder_name = 'fullorderamz';$outtype = 1;
            							$y = $this->fullorderamz->get_waybill($order);
            							if(!$y)
            				    		{
            				    		    $y = $this->fullorderamz->get_number($order);
								            $outtype = 2;
								            if(!$y){
								                
								                $fullorder_name = 'fullorderxw';$outtype = 1;
            										$y = $this->fullorderxw->get_waybill($order);
            										if(!$y)
            				    					{
            											$y = $this->fullorderxw->get_number($order);
            											$outtype = 2;
            											if(!$y)
            				        					{
															$this->logic_ding->sendToDing("排查五次数据的原有".$order);
            												echo json_encode(array('msg'=>'无此数据','success'=>false));exit;
            											}
            										}
								            }
            				    		}
										
										
										
										
										
										
									}
							}
						}
						
					}
				}
			}
			if($y['mergeid'] == '1')
			{
				$y = $this->$fullorder_name->read($y['merge']);
			}
			//云尚-FedEx普货专线 如果出库时打印的快递面单超过6天,不允许出库
			// if($y['express'] == 75 ){
			// 	$printtime =	$y['printtime'];
			// 	$set_time = 24 * 60 * 60 * 6;
			// 	$time = time();
			// 	if(($time - $set_time) > $printtime){
			// 		//允许出库状态  
			// 		if($y['libraryconfirm'] == 2){
			// 			echo json_encode(array('msg'=>"该单超时,请重新打印后再出库。".$y['number'],'success'=>false));exit;
			// 		}else{
			// 			echo json_encode(array('msg'=>"该单超时且禁止出库,请联系梦体做后续处理!".$y['number'],'success'=>false));exit;
			// 		}
					
			// 	}
			// }
			// 66  云途(欧洲)  67  云途(欧洲)-带保险    如果是欧洲云途 需要检擦出库时间是否超过15天
			if(in_array($y['express'],[66,67])){
				if((time() - $y['printtime']) >= (14*24*3600)){
					echo json_encode(array('msg'=>'运单超时!请联系梦体处理!','success'=>false));exit;
				}
			}
			$express = $this->express->read($y['express']);
			if($y['state'] == 216 && $fullorder_name == 'fullordersmt')
			{
				$y['librarynot'] = '客户已取消!';
			}
			if($y['print'] != 3 || $y['libraryconfirm'] == 1 || $y['state'] == 214 || $y['state'] == 217 || $y['state'] == 283 || $y['state'] == 206 || $y['state'] == 205 || $y['state'] == 204 || $y['state'] == 210 || $y['state'] == 211 || $y['state'] == 212 || ($y['state'] == 216 && $fullorder_name == 'fullordersmt'))//独立站216先关了
			{
				echo json_encode(array('msg'=>'禁止出库!'.$y['librarynot'],'success'=>false));exit;
			}
			if($y['library'] > 1)
			{
				echo json_encode(array('msg'=>'此数据 '.date('Y-m-d H:i:s',$y['librarytime']).' 已操作','success'=>false));exit;
			}
			if($express['out'] != 3)
			{
				if($express['out'] != $outtype)
				{
					$smlx = ($express['out']=='1')?'运单':'发货单';
					echo json_encode(array('msg'=>'扫描类型错误!此单需要扫描'.$smlx,'success'=>false));exit;
				}
			}
			if($y['type'] != 7 && $y['waybill'] != '' && $y['printtype'] == '1')
			{
				$y['waybill'] = trim($y['waybill'],' ');
			    if(strlen($y['waybill']) == 12 && $y['express'] != 24 && $y['express'] != 31 && $y['express'] != 38 && $y['express'] != 41 && $y['express'] != 6 && $y['express'] != 43 && $y['express'] != 48 && $y['express'] != 50  && $y['express'] != 51 && $y['express'] != 63 && $y['express'] != 70 && $y['express'] != 71 &&  $y['express'] != 73  &&  $y['express'] !=  74   &&  $y['express'] !=  75 && $y['express'] != 78 && $y['express'] != 79)
				{
					echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-1','success'=>false));exit;
				}
				else if(strlen($y['waybill']) == 10 && $y['express'] != 1 && $y['express'] != 37 && $y['express'] != 49 && $y['express'] != 42 && $y['express'] != 69  && $y['express'] != 78  && $y['express'] != 79)
				{
					echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-2','success'=>false));exit;
				}
				else if(strlen($y['waybill']) == 18 && $y['express'] != 3 && $y['express'] != 66 && $y['express'] != 67 && $y['express'] != 72 && $y['express'] != 2)
				{
					echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-3','success'=>false));exit;
				}
				else if(strlen($y['waybill']) == 16 && $y['express'] != 76 && $y['express'] != 77 && $y['express'] != 80 )
				{
					echo json_encode(array('msg'=>'出库物流和系统不匹配,请联系梦体解决'.$y['express'].'-4','success'=>false));exit;
				}
			}
			if(stripos($weight,',') !== false){
               $tmp_arr = explode(",",$weight);
                $weight = end($tmp_arr);
                
                $numweight = (float)$weight;
                $weight = $numweight."kg";
            }
			$numweight = str_replace('kg','',$weight);
// 			if(($y['express'] == '24' || $y['express'] == '3' || $y['express'] == '28' || $y['express'] == '33' || $y['express'] == '42') && $y['type'] != 6)//杭州除外
// 			{
// 				if($weight == '' || $numweight < '0.1' || !is_numeric($numweight))
// 				{
// 					echo json_encode(array('msg'=>'此单需要称重!','success'=>false));exit;
// 				}
// 				$yzweight = explode('.',$numweight);
// 				if($yzweight[0] == '')
// 				{
// 					echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit;
// 				}
// 				if($numweight < ($y['jweight']/1000))
// 				{
// 					echo json_encode(array('msg'=>'重量小于净重,请重新称重!','success'=>false));exit;
// 				}
// 				if($numweight -($y['jweight']/1000) > 0.9 && $y['number'] != 'QQS-30401-002')
// 				{
// 					echo json_encode(array('msg'=>'称重重量和净重相差过大,请找成会或梦体处理!','success'=>false));exit;
// 				}
// 				if($numweight > '0.98' &&  $y['express'] == '3')
// 				{
// 					echo json_encode(array('msg'=>'UPS大于0.98公斤需要拆包!','success'=>false));exit;
// 				}
// 				if($numweight > '2' &&  $y['express'] == '37')
// 				{
// 					echo json_encode(array('msg'=>'杭州DHL大于2公斤需要联系店员!','success'=>false));exit;
// 				}
// 				if($numweight >= '10' && ($y['express'] == '24' || $y['express'] == '31'))
// 				{
// 					echo json_encode(array('msg'=>'联邦不能大于10公斤!','success'=>false));exit;
// 				}
// 			}
            
            //根据要求 USPS-USA  2  FEDEX-US2 63 USPS-US2 64  这三个快递方式除外的所有快递都需要称重再发货  或者说是【国内发货】的都需要称重
            //还有翔文仓库的 不执行
            //源代码是 
          	//所有快递必须称重		
        	//所有快递必须称重	翔文除外
            
        	
        	//$this->logic_ding->sendToDing("检测订单".$y['number']."称重".$numweight."快递公司".$y['express']."-".$weight."[".$numweight."]");
			if(!in_array($y['express'],[2,8,39,43,44,45,47,48,49,55,61,63,64,65,74])){
				if($weight == '' || $numweight < '0.1' || !is_numeric($numweight))
				{
					echo json_encode(array('msg'=>'此单需要称重!','success'=>false));exit;
				}
				$yzweight = explode('.',$numweight);
				if($yzweight[0] == '')
				{
					echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit;
				}
				if(empty($numweight)){
				    echo json_encode(array('msg'=>'此单需要称重2!','success'=>false));exit;
				}
				//$this->logic_ding->sendToDing("检测订单---------------------标记需要认证的东西".$y['number']);
			}	
			//$this->logic_ding->sendToDing("检测订单".$y['number']."称重".$numweight."快递公司".$y['express']);
			$express_info = $this->express->read($y['express']);
			if(empty($express_info)){
				echo json_encode(array('msg'=>'该快递信息异常,请联系技术!','success'=>false));exit;
			}
    		$weight_limit = $express_info['weight_limit']*1;
	        if($weight_limit  > 0   && $y['type'] != 5){
                
    				$yzweight = explode('.',$numweight);
    				if($yzweight[0] == '')
    				{
    					echo json_encode(array('msg'=>'重量错误,请重新称重!','success'=>false));exit;
    				}
                    if($numweight < ($y['jweight']/1000)){
        			    echo json_encode(array('msg'=>'重量小于净重,请重新称重!','success'=>false));exit;
        			}
    				//Fedex(杭州),UPS,DHL官方-美国 需要判断实际重量和净重差 其他快递不需要
    				if(in_array($y['express'],[3,24,42])){
    				   	//规定实际重量不允许超过 净重为1kg
        				if($numweight -($y['jweight']/1000) > 1 )
        				{
        					echo json_encode(array('msg'=>'称重重量和净重相差过大,请找成会处理!','success'=>false));exit;
        				}
    				}
    			
    				if($weight_limit < $numweight){
    					echo json_encode(array('msg'=>$express['servicename'].'大于'.$weight_limit.'公斤需要拆包!','success'=>false));exit;
    				}
            }
			
			
			if(((time() - $y['printtime']) > (15*24*3600) || $y['printtime'] < 1590211800) && $y['express'] == '24' && $y['type'] != 6)//杭州店铺除外
			{
				//echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit;
			}
			if((time() - $y['printtime']) > (6*24*3600) && $y['express'] == '3' && $y['type'] != 6)//杭州店铺除外
			{
				//echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit;
				echo json_encode(array('msg'=>'此运单过期无法出库,请联系成会处理!','success'=>false));exit;
			}
			if((time() - $y['printtime']) > (7*24*3600) && $y['express'] == '37' && $y['type'] != 6)//杭州店铺除外
			{
				//echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit;
			}
			
			$this->db->trans_begin();
			$warehouse = $this->warehouse->read($y['type']);
			$bdck = $warehouse['bdck'];
			if($warehouse['zd'] == '1')
			{
				if($warehouse['bdck'] == '')
				{
					$this->db->trans_rollback();
					echo json_encode(array('msg'=>'仓库设置错误!','success'=>false));exit;
				}
				$wh = $this->_fout_db($y,$warehouse,$bdck);
				if($wh['fh'] == 2)
				{
					$kcyz = $this->ck->get_kc($y['state'],$warehouse,$y['shop'],$y['number'],$y['whlabel'],$y['fpdata']);	
					if($kcyz['t'] == '0')
			    	{
						if($kcyz['fpdata'] != '')
						{
				    	$x['whlabel'] = $kcyz['whlabel'];
				    	$x['fpdata'] = $kcyz['fpdata'];
						$y['whlabel'] = $x['whlabel'];
						$this->$fullorder_name->save($x,$y['id']);
						}
			   		}
					$wh = $this->_fout_db($y,$warehouse,$bdck);
					if($wh['fh'] == 2)
					{
						$this->db->trans_rollback();
						echo json_encode(array('msg'=>'库存占用量与实际出库量不符!','success'=>false));exit;
					}
				}
				foreach ($wh['sj'] as $v)
		        {
					$this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']);
				}
				
			}
			/**
			if($warehouse['zd'] == '1' && stripos($y['whlabel'],'z|') === false)
			{
				$whlabel = $this->whlabel->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')");
				$cpsl = 0;
				$pp = explode('|',trim($y['whlabel'],'|'));
				foreach ($pp as $va)
		        {
					$num = explode('-',$va);
					$cpsl += $num[1];
				}
				if(count($whlabel) != $cpsl)
				{
					echo json_encode(array('msg'=>'库存占用量与实际出库量不符','success'=>false));exit;
				}
				foreach ($whlabel as $v)
		        {
					$this->whlabel->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']);
				}
			}
			if($warehouse['zd'] == '1' && stripos($y['whlabel'],'z|') !== false)
			{
				$wh = $this->specialstock->find_all("zd = '".$y['number']."' and state = '0'");
				$cpsl = 0;
				$pp = explode('|',trim($y['whlabel'],'|'));
				foreach ($pp as $va)
		        {
					$num = explode('-',$va);
					if(stripos($num[2],'z') !== false)//如果是特殊库存
					{
					    $cpsl += $num[1];
					}
				}
				if(count($wh) != $cpsl)
				{
					echo json_encode(array('msg'=>'库存占用量与实际出库量不符','success'=>false));exit;
				}
				foreach ($wh as $v)
		        {
					if(!$this->specialstock->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']))
					{
						echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit;
						}
				}
			}
			**/
			/**
			if($y['dbapi'] == 99 && $y['scapi'] == 99)
			{
			    $d = $this->apiyy->get_chd($y);
			    if($d['Data'][0]['m_isSucess'] != 1)
			    {
				    echo json_encode(array('msg'=>'用友出库失败:'.$d['Data'][0]['m_errorMsg'],'success'=>false));exit;
			    }
			}
			$systemtransfer = $this->systemtransfer->find_all("number = '".$y['number']."'");
			if(isset($systemtransfer[0]))
			{
				foreach ($systemtransfer as $v)
		        {
					if($v['dbapi'] != 99)
					{
						echo json_encode(array('msg'=>'此订单货物:'.$v['pm'].'没有成功扫布标入库,无法出库!','success'=>false));exit;
					}
				}
				$y['ts'] = count($systemtransfer);
				 $d = $this->apiyy->get_chd($y);
			    	if($d['Data'][0]['m_isSucess'] != 1)
			    	{
						echo json_encode(array('msg'=>'用友出库失败:'.$d['Data'][0]['m_errorMsg'],'success'=>false));exit;
			    	}
			}
			**/
			
			$shop = $this->shop->read($y['shop']);
			if($express['printcode'] == "DHLUSA" && $y['waybill'] != '')
			{
				$type = $this->typeclass->read($shop['type']);
				$y['shoptype'] = $type['title'];
				$y['weight'] = $weight;
				$d = $this->dhl->get_data_9610($y);
				if($d != 1)
				{
					$this->db->trans_rollback();
					$this->allocation->insert(array('order'=>1,'title'=>$y['number'],'content'=>$d));
					echo json_encode(array('msg'=>'9610失败,'.$d,'success'=>false));exit;
				}
				$this->allocation->insert(array('order'=>9610,'title'=>$y['number']));
			}
			if($fullorder_name == 'fullordersmt')
			{
				$stt = ($y['waybill']!='')?209:$y['state'];
				$post = array('library'=>2,'state'=>$stt,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0);
				/**
			    if($this->$fullorder_name->save(array('library'=>2,'state'=>$stt,'librarytime'=>$time,'weight'=>$weight),$y['id']))
        	    {
         		    echo json_encode(array('success'=>true));exit;
       	 	    }
       		    else
        	    {
           		    echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit;
        	    }
				**/
			}
			else if(($fullorder_name == 'fullordertt' || $fullorder_name == 'fullorderxw' || $fullorder_name == 'fullorder' || $fullorder_name = 'fullorderamz') && $y['source'] == 1)
			{
				/**
				if($this->$fullorder_name->save(array('library'=>2,'librarytime'=>$time,'weight'=>$weight),$y['id']))
        	    {
         		    echo json_encode(array('success'=>true));exit;
       	 	    }
       		    else
        	    {
           		    echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit;
        	    }
				**/
				$post = array('library'=>2,'state'=>216,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0);
			}
			else
			{
				/**
				if($this->$fullorder_name->save(array('library'=>2,'librarytime'=>$time,'weight'=>$weight),$y['id']))
        	    {
         		    echo json_encode(array('success'=>true));exit;
       	 	    }
       		    else
        	    {
           		    echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit;
        	    }
				**/
				$post = array('library'=>2,'librarytime'=>$time,'weight'=>$weight,'dbapi'=>0);
			}
			/**
			if($fullorder_name == 'fullorder')
			{
				$orderinfo = preg_replace('/^' . preg_quote($y['shop'], '/') . '/', '', $y['orderinfo']);
				$post['incrementId'] = $orderinfo;
				$post['trackingNumber'] = $y['waybill'];
				$ex = $this->express->read($y['express']);
				$post['carrier'] = $ex['iscode'];
				$url = 'https://www.romandhair.com/applepay/payment/addTrack';
				$ch = curl_init();
				curl_setopt($ch,CURLOPT_URL,$url);
				curl_setopt($ch, CURLOPT_POST, 1);
				curl_setopt($ch, CURLOPT_HEADER, 0);
				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
				curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
				curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
				curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
				curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,1800000);
				$res = curl_exec($ch);
				curl_close($ch);
				$res = json_decode($res,true);
				if($res['success'] == 0)
				{
					$this->fullorderpaypal->insert(array('orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'time'=>$time,'cw'=>$res['msg']));//失败
				}
				else
				{
					$this->fullorderpaypal->insert(array('orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'time'=>$time,'type'=>1));
				}
			}
			**/
			//开始录入执行u9队列的数据
			
			$queue_u9_list = [];
			$queue_u9_list[] = [
				'platform'=>$fullorder_name,
				'warehouse'=>$y['type'],
				'type'=>($y['type'] == 5)?11:10,   //5代表美仓  
				'order_no'=>$y['number'],
				'status'=>0,
				'create_time'=>time(),
				'update_time'=>time(),
			];
			//将要执行的队列数据添加进去
			foreach($queue_u9_list as $item){
				if($item['platform'] != 'fullorderxw'){
				    // if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){
				    //     $this->zzquque_u9->insert($item);
				    // }
					if( !in_array($item['warehouse'],[5,7,8,9]) ){
				        $this->zzquque_u9->insert($item);
				    }
				}
				
			}
			//$this->logic_ding->sendToDing("u9小单队列监听数据".json_encode($queue_u9_list,JSON_UNESCAPED_UNICODE));
			if($outtype == 2 && $y['printnumber'] > 1)
			{
				$p = json_encode($post);
				$this->db->trans_rollback();
				echo json_encode(array('msg'=>'该单共打印过'.$y['printnumber'].'次,请注意核对当前发货单是否是最新发货单!','outnumber'=>$y['id'],'post'=>$p,'fullorder_name'=>$fullorder_name,'success'=>false));exit;
			}
			$this->$fullorder_name->save($post,$y['id']);
						
			//合并订单自动发货
			$hb = $this->$fullorder_name->find_all("merge = '".$y['id']."' and id != '".$y['id']."'");
			$post['waybill'] = $y['waybill'];
			$post['express'] = $y['express'];
			$post['printtype'] = $y['printtype'];
			$post['ioss'] = $y['ioss'];
			$post['review'] = 6;
			$post['bx'] = $y['bx'];
			$post['qm'] = $y['qm'];
			$post['js'] = $y['js'];
			//$post['state'] = 216;
			$post['print'] = $y['print'];
			$post['printtime'] = $y['printtime'];
			$post['library'] = 2;
			$post['librarytime'] = $time;
			$post['libraryconfirm'] = 2;
			$post['librarynot'] = '';
			foreach ($hb as $v)
		    {
				$post['state'] = $v['state'];
				$vshop = $this->shop->read($v['shop']);
				$vwarehouse = $this->warehouse->read($v['type']);
				$this->$fullorder_name->save($post,$v['id']);
				//2025年1月25日发现翔文合并订单发现此问题
				if($warehouse['zd'] == '1'){
					$wh = $this->_fout_db($v,$warehouse,$bdck);
					foreach ($wh['sj'] as $vv)
					{
						$this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$v['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$vv['id']);
					}
				}
			}
			
			
			
			if ($this->db->trans_status() === TRUE)
        	{
				$this->db->trans_commit();
				
				echo json_encode(array('success'=>true));
			}
			else
			{
				$this->db->trans_rollback();
				echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));
			}
		}
	}
	
	//之所以用订单已占的库存,就循环更新 为什么不用全部检索是因为牵扯到可能是工厂有可能直接生产后 带到成品库 不入成品库 可能会直接发走,所以只检索已占库存的订单  然后更新
	public function _outnumber()//对比占单是否正确
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['outnumber']))  
		{
			$post = $this->input->post('post',true);
			$fullorder_name = $this->input->post('fullorder_name',true);
			$outnumber = $this->input->post('outnumber',true);
			$post = json_decode($post,true);
			$y = $this->$fullorder_name->read($outnumber);
			if(empty($y)){
				echo json_encode(array('msg'=>'订单异常不能出库','success'=>false));exit;
			}
			$warehouse = $this->warehouse->read($y['type']);
			if(empty($warehouse)){
				echo json_encode(array('msg'=>'仓库异常不能出库','success'=>false));exit;
			}
			if($y['library']== 2){
				echo json_encode(array('msg'=>'订单已出库,请勿重复出库','success'=>false));exit;
			}
			if($y['library']== 3){
				echo json_encode(array('msg'=>'订单已退库,请勿重复出库','success'=>false));exit;
			}
			$bdck = $warehouse['bdck'];
			if(!empty($bdck)){
				
				// $warehouse = $this->warehouse->read($y['type']);
				$list = $this->$bdck->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')");
				$this->db->trans_begin();
				foreach ($list as $v)
				{
					$this->$bdck->save(array('state'=>1,'cktype'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$post['librarytime'],'time'=>$post['librarytime']),$v['id']);
				}
				$this->$fullorder_name->save($post,$y['id']);
				if ($this->db->trans_status() === TRUE)
				{
					$this->db->trans_commit();
					if($fullorder_name != 'fullorderxw'){
						// if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){
						//     $this->zzquque_u9->insert($item);
						// }
						$y = $this->$fullorder_name->read($outnumber);
						if( !in_array($y['type'],[5,7,8,9]) ){
							$data = [
								'platform'=>$fullorder_name,
								'warehouse'=>$y['type'],
								'type'=>($y['type'] == 5)?11:10,   //5代表美仓  
								'order_no'=>$y['number'],
								'status'=>0,
								'create_time'=>time(),
								'update_time'=>time(),
							];
							$this->zzquque_u9->insert($data);
						}
					}
					echo json_encode(array('success'=>true));
					die;
				}
				else
				{
					$this->db->trans_rollback();
					echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));
					die;
				}
			}else{
				$this->$fullorder_name->save($post,$y['id']);
				
				if($fullorder_name != 'fullorderxw'){
					// if(($item['warehouse'] != 5) || ($item['warehouse'] != 7) || ($item['warehouse'] != 8) || ($item['warehouse'] != 9) ){
					//     $this->zzquque_u9->insert($item);
					// }
					$y = $this->$fullorder_name->read($outnumber);
					if( !in_array($y['type'],[5,7,8,9]) ){
						$data = [
							'platform'=>$fullorder_name,
							'warehouse'=>$y['type'],
							'type'=>($y['type'] == 5)?11:10,   //5代表美仓  
							'order_no'=>$y['number'],
							'status'=>0,
							'create_time'=>time(),
							'update_time'=>time(),
						];
						$this->zzquque_u9->insert($data);
					}
				}
				echo json_encode(array('success'=>true));
				die;
				
			}
			
			
			
			
		}else{
			echo json_encode(array('msg'=>'传参异常,请重试','success'=>false));
			die;
		}
	}
	public function _fout_db($y,$warehouse,$bdck)//对比占单是否正确
	{
	
		$wh = $this->$bdck->find_all("zd = '".$y['number']."' and warehouse = '".$y['type']."' and (state = '0' or state = '9')");
		$cpsl = 0;
		$pp = explode('|',trim($y['whlabel'],'|'));
		foreach ($pp as $va)
		{
			$num = explode('-',$va);
			if(isset($num[2]))
			{
			    if(stripos($num[2],$warehouse['hz']) !== false)
			    {
				    $cpsl += $num[1];
			    }
			}
		}
		if(count($wh) == $cpsl)
		{
		    return array('fh'=>1,'sj'=>$wh);
		}
		else
		{
			return array('fh'=>2);
		}
	}
	
	public function _fedexhz()
    {
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['id']))
		{
			$id = $this->input->post('id',true);
			$fullorder_name = $this->input->post('name',true);
			$express = $this->input->post('express',true);
			$express = $this->express->read($express);
			$fullorder = $this->$fullorder_name->read($id);
			if($fullorder['type'] == '2')
			{
				$fullorder['type'] = 1;
			}
			$time = time();
			$fullorder = $this->_text($fullorder);//获取所需信息
			$oldprinttime = ($fullorder['printtime'] > 0)?$fullorder['oldprinttime'].$fullorder['printtime'].'-':'';
			$fullorder['printtime'] = date('m-d H:i',$time);//打印用时间、发货单用,不能删
			$time = time();
			if($express['printcode'] == "FEDEXGF")
			{
			    //$barcode = $this->fedex->get_data($fullorder);//获取联邦快递信息
			   //升级的api
				$barcode = $this->fedexv1->get_data($fullorder);//获取联邦快递信息
			    if($barcode['x'] == 1)
			    {
				    $bctime = date('Ymd',$time);
				    $Hwaybill = $barcode['waybill'];
					// $Hyd = $this->_pdf($barcode['label'],'y-'.$Hwaybill,$bctime);
				    // $Hfp = $this->_pdf($barcode['invoice'],'f-'.$Hwaybill,$bctime);//开通ETD模式,保留PDF,不需要打印
				    $Hyd = $this->_pdfurl($barcode['label'],'y-'.$Hwaybill,$bctime);
				    $Hfp = $this->_pdfurl($barcode['invoice'],'f-'.$Hwaybill,$bctime);//开通ETD模式,保留PDF,不需要打印
				    if(isset($barcode['label']) && isset($Hwaybill))
				    {
					    if($fullorder['waybill'] != "")
							{
								$oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill'];
							}
							else
							{
								$oldwaybill = $fullorder['oldwaybill'];
							}
							$oldwaybill .= '-'.$bctime.'/'.$Hwaybill;
					    $fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删
					    if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$fullorder['id']))
					    {
					    	$warehouse = $this->warehouse->read($fullorder['type']);
							$text = array();
							$text['yd'] = base_url().'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf';
							$text['number'] = $fullorder['number'];
							$text['mode'] = '95';
							$text['pdfnum'] = 1;
							$rows = array('text'=>$text);
			   				echo json_encode(array('rows'=>($rows),'success'=>true));exit;
					    }
					    else
					    {
						    echo json_encode(array($fullorder['number'].'msg'=>'打印错误,请联系店员','cw'=>'写入数据库错误','success'=>false));exit;
					    }
				    }
			    }
			    else
			    {
				    echo json_encode(array('msg'=>'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit;
			    }
			}
			else if($express['printcode'] == "UPS")//接口UPS暂时不打
			{
				echo json_encode(array('msg'=>'此订单超期无法出库,请联系成会处理','success'=>false));exit;
				$barcode = $this->ups->get_data($fullorder);//获取快递信息
				if($barcode['x'] == 1)
				{
					$bctime = date('Ymd',$time);
					$Hwaybill = $barcode['waybill'];
					$Hyd = $this->_pdfurl($barcode['label'],'y-'.$Hwaybill,$bctime);
					if(isset($barcode['label']) && isset($Hwaybill))
					{
						if($fullorder['waybill'] != "")
							{
								$oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill'];
							}
							else
							{
								$oldwaybill = $fullorder['oldwaybill'];
							}
							$oldwaybill .= '-'.$bctime.'/'.$Hwaybill;
						$fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删
						if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'libraryconfirm'=>2,'librarynot'=>'','printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'print'=>3,'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$va[$n]))
				   		{
							$type = 1;
							$text = array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf','data'=>$fullorder,'id'=>$fullorder['id'],'pt'=>$fullorder_name);
						}
					}
				}
				else
				{
					echo json_encode(array('msg'=>$fullorder['number'].'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit;
				}
			}
			else if($express['printcode'] == "DHLHZ")//如果打印过那么重新获取运单
			{
				 $barcode = $this->dhlhz->get_data($fullorder);//获取DHL快递信息
				 if($barcode['c'] == 1)
				 {
					$bctime = date('Ymd',$time);
					$Hwaybill = $barcode['data']['waybill'];
					$Hfp = $this->_pdf($barcode['data']['fp'],'f-'.$Hwaybill,$bctime);
					$Hyd = $this->_pdf($barcode['data']['yd'],'y-'.$Hwaybill,$bctime);
					if(isset($Hfp) && isset($Hyd) && isset($Hwaybill))
					{
						if($fullorder['waybill'] != "")
						{
							$oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill'];
						}
						else
						{
							$oldwaybill = $fullorder['oldwaybill'];
						}
						$oldwaybill .= '-'.$bctime.'/'.$Hwaybill;
						$fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删d
						if($this->$fullorder_name->save(array('waybill'=>$Hwaybill,'printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'oldwaybill'=>$oldwaybill,'oldprinttime'=>$oldprinttime),$fullorder['id']))
					    {
					    	$warehouse = $this->warehouse->read($fullorder['type']);
							$text = array();
							$text['yd'] = base_url().'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf';
							$text['number'] = $fullorder['number'];
							$text['mode'] = '95';
							$text['pdfnum'] = 1;
							$rows = array('text'=>$text);
			   				echo json_encode(array('rows'=>($rows),'success'=>true));exit;
					    }
					}
				}
				else
				{
					echo json_encode(array('msg'=>$fullorder['number'].'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit;
				}
			}
			else
			{
				echo json_encode(array('msg'=>'此订单超期无法出库,请联系成会或者梦体处理','success'=>false));exit;
			}
		}
	}
	
	public function _text($fullorder)
    {
		/** 发票地址信息暂时无用 
		$fullorder['baddress'] = explode(',',$fullorder['baddress']);
		$fullorder['baddress'] = array_reverse($fullorder['baddress']);
		$fullorder['baddress'][1] = $country['ename'];
		**/
		//获取所用相关信息
		$warehouse = $this->warehouse->read($fullorder['type']);
		$country = $this->country->read($fullorder['country']);//订单国家信息
		$fcountry = $this->country->read($warehouse['country']);//仓库国家信息
		$warehouse['country'] = $fcountry['ename'];//仓库国家名
		$warehouse['lb'] = $fcountry['lb'];//仓库国家编码
		$fullorder['warehouse'] = $warehouse;//仓库数据加入订单
		$fullorder['lb'] = $country['lb'];//订单国家编码加入
		$fullorder['country'] = $country['ename'];//订单国家名
		$fullorder['zhou'] = $country['continent'];//所属州
		$express = $this->express->read($fullorder['express']);
		$fullorder['express'] = $express['servicename'];
		$fullorder['account'] = $express['account'];
		$fullorder['printcode'] = $express['printcode'];
		$fullorder['time'] = date('Y-m-d',time());
		$fullorder['times'] = date('Y-m-d H:i',time());
		//$fullorder['sbbm']= ($fullorder['sbpm'] == 'Hair Sample') ? 67042000 : 67041100;
		//      修复报关编码问题
	    $declara_info = $this->customsdeclaration->find("ename like '%".trim($fullorder['sbpm'])."%' ","*");
	
		$sbbm = "";
		if(empty($declara_info)){
			$sbbm = "";
		}else{
		    $sbbm = $declara_info['bname'];
		}
	
		$fullorder['sbbm']= $sbbm;
		
		$fullorder['address'] = str_replace(array('&'),array('&'),$fullorder['address']);
		$fullorder['address2'] = str_replace(array('&'),array('&'),$fullorder['address2']);
		$shop = $this->shop->read($fullorder['shop']);
		$fullorder['shop'] = $shop['shopname'];
		return $fullorder;
    }
	
	public function _lowe()
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['lowe']))  
		{
		    $lowe = $this->typeclass->find_all('classid = 15 and id != 105 and id != 107 and id != 108 and id != 112 and id != 114 and id != 115 and id != 116 and id != 117 and id != 118 and id != 119 and id != 120 and id != 121 and id != 122 and id != 123 and id != 124 and id != 125 and id != 292 and id != 63 and id != 289 and id != 290 and id != 181 and id != 273 and id != 148 and id != 38 and id != 291 and id != 55 and id != 271 and id != 285 and id != 186 and id != 187 and id != 188 and id != 189');
		    echo json_encode(array('msg'=>$lowe));exit;
		}
	}
	public function _pdf($pdf,$title,$bctime)
    {
    	$pdf_path = './data/pdf/'.$bctime.'/';
        $file_base64 = $pdf; 
        $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64);  
        $file_base64 = base64_decode($file_base64);
		if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建
        file_put_contents($pdf_path.$title.'.pdf',$file_base64);
		return $bctime;
    }
	public function _pdfurl($pdf,$title,$bctime)
    {
    	$pdf_path = './data/pdf/'.$bctime.'/';
        $pdf = fopen($pdf,"r");
		if(!is_dir($pdf_path))mkdir($pdf_path,0777); //上传目录不存在则创建
        file_put_contents($pdf_path.$title.'.pdf',$pdf);
		return $bctime;
    }
	
	public function _excel()
	{
		$xw = '';
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$wid="";$wtype="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			$userwh = explode('|',trim($user['warehouse'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			foreach ($userwh as $value) 
		    {
				$wid .= " id = ".$value." or";
				$wtype .= " type = ".$value." or";
			}
			if($user['userid'] == 'xw')
			{
				$xw = 1;
			}
		}
		if(isset($_GET['fexcel']))  
		{
			$dowid = $this->input->get('a');
			$wid = "";
			if($dowid != "")
			{
				$id_arr =  explode(',',rtrim($dowid,','));
				foreach ($id_arr as $v) 
		        {
                    $wid  .= " id = '$v' or";
                }
				$wid = " and".rtrim($wid,'or');
			}
		    $t = $this->input->get('t',true);
			$timetk = $this->input->get('timetk',true);
			$timetj = $this->input->get('timetj',true);
			$shop = $this->input->get('shop',true);
			$source = $this->input->get('source',true);
			$orderinfo = $this->input->get('orderinfo',true);
			$number = $this->input->get('number',true);
			$library = $this->input->get('library',true);
			$waybill = $this->input->get('waybill',true);
			$express = $this->input->get('express',true);
			$type = $this->input->get('type',true);
			$so = $this->input->get('so',true);
			$timetk = strtotime($timetk);
			$timetj = strtotime($timetj);
			$where = (isset($_SESSION['api']))?"library!=3 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")":"id = '0'";
			if($timetk && $timetj && $library == 1)
            {
				//$cxtime = 'reviewtime';
                $where  .= "  and printtime > '$timetk - 180*24*3600' and printtime < '$timetj'";
				$where  .= " and state != 217";
				
            }
			else if($timetk && $timetj && $library == 2)
            {
				$cxtime = 'librarytime';
                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			/**
			$where = "library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3";
			if($timetk && $timetj && $library == 1)
            {
				//$cxtime = 'reviewtime';
                //$where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			else if($timetk && $timetj && $library == 2)
            {
				$cxtime = 'librarytime';
                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			**/
			if(isset($_SESSION['api']))
            {
				if($type)
            	{
                	$where  .= " and type = '$type'";
           		}
				else
				{
					$uw = '';
				    $u = $this->user->get_api($_SESSION['api']);
				    $u['warehouse'] =  explode('|',trim($u['warehouse'],'|'));
				    foreach ($u['warehouse'] as $v) 
		            {
					    $uw  .= " type = '$v' or";
                    }
				    $uw = rtrim($uw,'or');
					$uw = " and (".ltrim($uw,' ').")";
					$where  .= $uw;
				}
            }
			else
			{
				echo json_encode(array('msg'=>'导出失败,请重新登陆!','success'=>false));exit;
			}
			if($shop)
            {
                $where  .= " and shop = '$shop'";
            }
			if($number)
            {
                $where  .= " and number = '$number'";
            }
			if($library)
            {
                $where  .= " and library = '$library'";
            }
			if($waybill)
            {
                $where  .= " and waybill = '$waybill'";
            }
			if($express)
            {
				$where  .= " and express = '$express'";
            }
			if($orderinfo)
            {
                $where  .= " and orderinfo = '$orderinfo'";
            }
			if($so)
            {
                $where  .= " and shipremarks like '%$so%'";
            }
            //数据排序
			//$order_str = ($print != 3)?"id desc":"librarytime desc";
			$order_str = "librarytime desc";
            if(empty($page))
		    {
                $start = 0;
		    	$perpage = 1;
            }
		    else
		    {
                $start = ($page - 1)*$perpage;
            }
			$typeclass = array();
			$tclass = $this->typeclass->find_all();
			foreach ($tclass as $v) 
			{
				$typeclass[$v['id']] = $v;
			}
            //取得信息列表
            $info_list = $this->fullorder->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str);
			 //格式化数据
            foreach ($info_list as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_list[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_list[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_list[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_list[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_list[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_list[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_list[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_list[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_list[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_list[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_list[$key]['librarytime'] = '';
				}
				else
				{
					$info_list[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
				
				$classid = $classid = $this->classid->sku();
				$dbapi = explode(';',trim($value['fpdata'],';'));
				$tmp_jm = "";
				$tmp_zh = "";
					foreach ($dbapi as $va) 
					{
						$pm = $classid;
		    			$jm = $classid;
						$bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
						$features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va);
						$ts = explode('|',trim($features,'|'));
						if(stripos($ts[0],',') !== false)
						{
							$ft = explode(',',$ts[0]);
			    			$features = explode('-',trim($ft[1],'-'));
							$features[] = $ft[0];
						}
						else
						{
							$features = explode('-',trim($ts[0],'-'));
						}
						foreach($features as $k=>$v)
						{
							if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
							{
								if($typeclass[$v]['bm'] != '')
								{
									$bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
								}
							}
							if($v != 0 && isset($typeclass[$v]))
							{
								if($typeclass[$v]['classid'] == 13)
								{
									$dj = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 8)
								{
									$ys = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 15)
								{
									$hx = $typeclass[$v]['title'];
								}
								if(isset($pm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['title'] == '9A')
									{
										$pm[$typeclass[$v]['classid']] = '9A';
									}
									else if($typeclass[$v]['title'] == '10A')
									{
										$pm[$typeclass[$v]['classid']] = '10A';
									}
									else
									{
										$clzh = $typeclass[$v]['zh'];
										if(stripos($typeclass[$v]['zh'],'|') !== false)
										{
											$clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
											$clzh = $clzh[0];
										}
										$pm[$typeclass[$v]['classid']] = $clzh;
									}
								}
								if(isset($jm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['jm'])
									{
						    			$jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
									}
								}
							}
						}
						$jm = array_filter($jm);//去除空值
						$jm = implode("-",$jm);
						$tmp_jm .= $jm.";";
						$pm = array_filter($pm);//去除空值
						$zh = implode(" ",$pm);
						$zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
						$tmp_zh .= $zh.";";
					}
					$info_list[$key]['jm'] = trim($tmp_jm,';');
					$info_list[$key]['zh'] = trim($tmp_zh,';');
            }
			//取得信息列表
            $info_listsmt = $this->fullordersmt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str);
			 //格式化数据
            foreach ($info_listsmt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listsmt[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listsmt[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listsmt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listsmt[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listsmt[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listsmt[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listsmt[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listsmt[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listsmt[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listsmt[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listsmt[$key]['librarytime'] = '';
				}
				else
				{
					$info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
				$classid = $classid = $this->classid->sku();
				$dbapi = explode(';',trim($value['fpdata'],';'));
				$tmp_jm = "";
				$tmp_zh = "";
					foreach ($dbapi as $va) 
					{
						$pm = $classid;
		    			$jm = $classid;
						$bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
						$features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va);
						$ts = explode('|',trim($features,'|'));
						if(stripos($ts[0],',') !== false)
						{
							$ft = explode(',',$ts[0]);
			    			$features = explode('-',trim($ft[1],'-'));
							$features[] = $ft[0];
						}
						else
						{
							$features = explode('-',trim($ts[0],'-'));
						}
						foreach($features as $k=>$v)
						{
							if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
							{
								if($typeclass[$v]['bm'] != '')
								{
									$bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
								}
							}
							if($v != 0 && isset($typeclass[$v]))
							{
								if($typeclass[$v]['classid'] == 13)
								{
									$dj = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 8)
								{
									$ys = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 15)
								{
									$hx = $typeclass[$v]['title'];
								}
								if(isset($pm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['title'] == '9A')
									{
										$pm[$typeclass[$v]['classid']] = '9A';
									}
									else if($typeclass[$v]['title'] == '10A')
									{
										$pm[$typeclass[$v]['classid']] = '10A';
									}
									else
									{
										$clzh = $typeclass[$v]['zh'];
										if(stripos($typeclass[$v]['zh'],'|') !== false)
										{
											$clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
											$clzh = $clzh[0];
										}
										$pm[$typeclass[$v]['classid']] = $clzh;
									}
								}
								if(isset($jm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['jm'])
									{
						    			$jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
									}
								}
							}
						}
						$jm = array_filter($jm);//去除空值
						$jm = implode("-",$jm);
						$pm = array_filter($pm);//去除空值
						$zh = implode(" ",$pm);
						$zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
						$tmp_jm .= $jm.";";
				 		$tmp_zh .= $zh.";";
					}	
					$info_listsmt[$key]['jm'] = trim($tmp_jm,';');
					$info_listsmt[$key]['zh'] = trim($tmp_zh,';');
					
            }
			 //取得信息列表
            $info_listtt = $this->fullordertt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str);
			 //格式化数据
            foreach ($info_listtt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listtt[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listtt[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listtt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listtt[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listtt[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listtt[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listtt[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listtt[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listtt[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listtt[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listtt[$key]['librarytime'] = '';
				}
				else
				{
					$info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
				$classid = $classid = $this->classid->sku();
				$tmp_jm = "";
			  $tmp_zh = "";
				$dbapi = explode(';',trim($value['fpdata'],';'));
					foreach ($dbapi as $va) 
					{
						$pm = $classid;
		    			$jm = $classid;
						$bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
						$features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va);
						$ts = explode('|',trim($features,'|'));
						if(stripos($ts[0],',') !== false)
						{
							$ft = explode(',',$ts[0]);
			    			$features = explode('-',trim($ft[1],'-'));
							$features[] = $ft[0];
						}
						else
						{
							$features = explode('-',trim($ts[0],'-'));
						}
						foreach($features as $k=>$v)
						{
							if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
							{
								if($typeclass[$v]['bm'] != '')
								{
									$bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
								}
							}
							if($v != 0 && isset($typeclass[$v]))
							{
								if($typeclass[$v]['classid'] == 13)
								{
									$dj = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 8)
								{
									$ys = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 15)
								{
									$hx = $typeclass[$v]['title'];
								}
								if(isset($pm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['title'] == '9A')
									{
										$pm[$typeclass[$v]['classid']] = '9A';
									}
									else if($typeclass[$v]['title'] == '10A')
									{
										$pm[$typeclass[$v]['classid']] = '10A';
									}
									else
									{
										$clzh = $typeclass[$v]['zh'];
										if(stripos($typeclass[$v]['zh'],'|') !== false)
										{
											$clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
											$clzh = $clzh[0];
										}
										$pm[$typeclass[$v]['classid']] = $clzh;
									}
								}
								if(isset($jm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['jm'])
									{
						    			$jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
									}
								}
							}
						}
						$jm = array_filter($jm);//去除空值
						$jm = implode("-",$jm);
						$pm = array_filter($pm);//去除空值
						$zh = implode(" ",$pm);
						$zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
						$tmp_jm .= $jm.";";
						$tmp_zh .= $zh.";";	
					}
					$info_listtt[$key]['jm'] = trim($tmp_jm,';');
					$info_listtt[$key]['zh'] = trim($tmp_zh,';');
            }
			
			
				 //取得信息列表
            $info_listamz = $this->fullorderamz->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str);
			 //格式化数据
            foreach ($info_listamz as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listamz[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listamz[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listamz[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listamz[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listamz[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listamz[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listamz[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listamz[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listamz[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listamz[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listamz[$key]['librarytime'] = '';
				}
				else
				{
					$info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
				$classid = $classid = $this->classid->sku();
				$dbapi = explode(';',trim($value['fpdata'],';'));
				$tmp_jm = "";
			    $tmp_zh = "";
					foreach ($dbapi as $va) 
					{
						$pm = $classid;
		    			$jm = $classid;
						$bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
						$features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va);
						$ts = explode('|',trim($features,'|'));
						if(stripos($ts[0],',') !== false)
						{
							$ft = explode(',',$ts[0]);
			    			$features = explode('-',trim($ft[1],'-'));
							$features[] = $ft[0];
						}
						else
						{
							$features = explode('-',trim($ts[0],'-'));
						}
						foreach($features as $k=>$v)
						{
							if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
							{
								if($typeclass[$v]['bm'] != '')
								{
									$bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
								}
							}
							if($v != 0 && isset($typeclass[$v]))
							{
								if($typeclass[$v]['classid'] == 13)
								{
									$dj = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 8)
								{
									$ys = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 15)
								{
									$hx = $typeclass[$v]['title'];
								}
								if(isset($pm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['title'] == '9A')
									{
										$pm[$typeclass[$v]['classid']] = '9A';
									}
									else if($typeclass[$v]['title'] == '10A')
									{
										$pm[$typeclass[$v]['classid']] = '10A';
									}
									else
									{
										$clzh = $typeclass[$v]['zh'];
										if(stripos($typeclass[$v]['zh'],'|') !== false)
										{
											$clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
											$clzh = $clzh[0];
										}
										$pm[$typeclass[$v]['classid']] = $clzh;
									}
								}
								if(isset($jm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['jm'])
									{
						    			$jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
									}
								}
							}
						}
						$jm = array_filter($jm);//去除空值
						$jm = implode("-",$jm);
						$pm = array_filter($pm);//去除空值
						$zh = implode(" ",$pm);
						$zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
						$tmp_jm .= $jm.";";
						$tmp_zh .= $zh.";";
					}
					$info_listamz[$key]['jm'] = trim($tmp_jm,';');
					$info_listamz[$key]['zh'] = trim($tmp_zh,';');
            }
			
			
			
			
			 //取得信息列表
            $info_listxw = $this->fullorderxw->find_all($where.$wid,'shop,type,orderinfo,number,waybill,waybillid,express,print,library,librarytime,shipremarks,ts,fpdata',$order_str);
			 //格式化数据
            foreach ($info_listxw as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listxw[$key]['shop'] = $shop['shopname'];
				if($value['waybill'] == '0')
				{
					$info_listxw[$key]['waybill'] = "";
				}
				$express = $this->express->read($value['express']);
				$info_listxw[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listxw[$key]['type'] = $warehouse['title'];
				if($value['print'] == 1)
				{
					$info_listxw[$key]['print'] = '不可打印';
				}
				else if($value['print'] == 2)
				{
					$info_listxw[$key]['print'] = '未打印';
				}
				else if($value['print'] == 3)
				{
					$info_listxw[$key]['print'] = '已打印';
				}
				if($value['library'] == 1)
				{
					$info_listxw[$key]['library'] = '未出库';
				}
				else if($value['library'] == 2)
				{
					$info_listxw[$key]['library'] = '已出库';
				}
				else if($value['library'] == 3)
				{
					$info_listxw[$key]['library'] = '已退库';
				}
				if($value['librarytime'] == '0')
				{
					$info_listxw[$key]['librarytime'] = '';
				}
				else
				{
					$info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
				}
				$classid = $classid = $this->classid->sku();
				$dbapi = explode(';',trim($value['fpdata'],';'));
					foreach ($dbapi as $va) 
					{
						$pm = $classid;
		    			$jm = $classid;
						$bmpx = array(13=>'',16=>'',18=>'',25=>'',26=>'',41=>'');
						$features = str_replace(array('-163-','-164-','-165-','-166-'),'-',$va);
						$ts = explode('|',trim($features,'|'));
						if(stripos($ts[0],',') !== false)
						{
							$ft = explode(',',$ts[0]);
			    			$features = explode('-',trim($ft[1],'-'));
							$features[] = $ft[0];
						}
						else
						{
							$features = explode('-',trim($ts[0],'-'));
						}
						foreach($features as $k=>$v)
						{
							if(isset($typeclass[$v]) && isset($bmpx[$typeclass[$v]['classid']]))
							{
								if($typeclass[$v]['bm'] != '')
								{
									$bmpx[$typeclass[$v]['classid']] = $typeclass[$v]['bm'];
								}
							}
							if($v != 0 && isset($typeclass[$v]))
							{
								if($typeclass[$v]['classid'] == 13)
								{
									$dj = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 8)
								{
									$ys = $typeclass[$v]['title'];
								}
								if($typeclass[$v]['classid'] == 15)
								{
									$hx = $typeclass[$v]['title'];
								}
								if(isset($pm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['title'] == '9A')
									{
										$pm[$typeclass[$v]['classid']] = '9A';
									}
									else if($typeclass[$v]['title'] == '10A')
									{
										$pm[$typeclass[$v]['classid']] = '10A';
									}
									else
									{
										$clzh = $typeclass[$v]['zh'];
										if(stripos($typeclass[$v]['zh'],'|') !== false)
										{
											$clzh = explode('|',rtrim($typeclass[$v]['zh'],'|'));
											$clzh = $clzh[0];
										}
										$pm[$typeclass[$v]['classid']] = $clzh;
									}
								}
								if(isset($jm[$typeclass[$v]['classid']]))
								{
									if($typeclass[$v]['jm'])
									{
						    			$jm[$typeclass[$v]['classid']] = $typeclass[$v]['jm'];
									}
								}
							}
						}
						$jm = array_filter($jm);//去除空值
						$jm = implode("-",$jm);
						$pm = array_filter($pm);//去除空值
						$zh = implode(" ",$pm);
						$zh = preg_replace("/\r\n|\r|\n/",'',trim($zh,' '));
					}
					$info_listxw[$key]['jm'] = $jm;
					$info_listxw[$key]['zh'] = $zh;
            }
            $title = '订单出库-'.date('Ymd',time());
			$t = str_replace("
运单号"," | 运单号 | 转单号",$t);
            $titlename = "";
			$tail = "\n";
            $filename = $title.".xls";
            $this->excel->get_fz2(array_merge($info_list,$info_listtt,$info_listamz,$info_listxw,$info_listsmt),$titlename,$filename,$tail);
		}
	}
	
	public function _cpexcel()
	{
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$excelshop="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			$userexcel = explode('|',trim($user['excelshop'],'|'));
			foreach ($userexcel as $value) 
		    {
				$excelshop .= " shop =  ".$value." or";
			}
			if($excelshop != "")
			{
				$excelshop = "(".rtrim($excelshop,'or').")";
			}
		}
		if(isset($_GET['excel']))  
		{
			$timetk = $this->input->get('timetk',true);
			$timetj = $this->input->get('timetj',true);
			$shop = $this->input->get('shop',true);
			$library = $this->input->get('library',true);
			$type = $this->input->get('type',true);
			$number = $this->input->get('number',true);
			$orderinfo = $this->input->get('orderinfo',true);
			$so = $this->input->get('so',true);
			$number = $this->input->get('number',true);
			$express = $this->input->get('express',true);
			$timetk = strtotime($timetk);
			$timetj = strtotime($timetj);
			$where = "mergeid = 0";
			if($timetk && $timetj && $library == 2)
            {
                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			else
			{
				$where  .= " and printtime > '$timetk' and printtime < '$timetj'";
			}
			if(isset($_SESSION['api']))
            {
				if($type)
            	{
                	$where  .= " and type = '$type'";
           		}
				else
				{
					$uw = '';
				    $u = $this->user->get_api($_SESSION['api']);
				    $u['warehouse'] =  explode('|',trim($u['warehouse'],'|'));
				    foreach ($u['warehouse'] as $v) 
		            {
					    $uw  .= " type = '$v' or";
                    }
				    $uw = rtrim($uw,'or');
					$uw = " and (".ltrim($uw,' ').")";
					$where  .= $uw;
				}
            }
			else
			{
				echo json_encode(array('msg'=>'导出失败,请重新登陆!','success'=>false));exit;
			}
			if($shop)
            {
                $where  .= " and shop = '$shop'";
            }
			else
			{
				$where  .= " and ".$excelshop;
			}
			if($library)
            {
				$where  .= " and library = '$library'";
            }
			if($number)
            {
                $where  .= " and number = '$number'";
            }
			if($orderinfo)
            {
                $where  .= " and orderinfo = '$orderinfo'";
            }
			if($so)
            {
                $where  .= " and shipremarks like '%$so%'";
            }
			if($express)
            {
                $where  .= " and express = '$express'";
            }
			/*  匹配ID加入  */
			$tc = array();
			$typeclass = $this->typeclass->find_all();
			foreach ($typeclass as $v) 
			{
				$tc[$v['id']] = $v['title'];
			}
			$shouldmoney=0;$expressmoney=0;$budget=0;$refundj=0;$refundj=0;$cost=0;$lr=0;
            //取得信息列表
			$info_lista = $this->fullordersmt->find_all($where,'fpdata');
			$info_listb = $this->fullorder->find_all($where,'fpdata');
			$info_list = array_merge($info_lista,$info_listb);
			 //格式化数据
			$i = 0;$cpexcel = array();
			foreach ($info_list as $key=>$value)
		    {
				if(stripos($value['fpdata'],';') !== false)
				{
		   		    $fpdata = explode(';',rtrim($value['fpdata'],';'));
		            foreach ($fpdata as $ke=>$va)
		            {
						$title = '';
			            $fg = explode('|',$va);
						$fg[0] = str_replace(array('163-','164-','165-','166-','-0-'),array('','','','','-'),$fg[0]);
						$cp = explode('-',rtrim($fg[0],'-'));
						$dj = $tc[$cp[2]];
						if(!isset($cp[3]))
						{
							$ys = json_encode($cp);
						}
						else
						{
						    $ys = $tc[$cp[3]];
						}
						unset($cp[0],$cp[1],$cp[2],$cp[3]);
						foreach ($cp as $v)
		                {
							$title .= $tc[$v].' ';
						}
						$cpexcel[$ke] = array($fg[5],$dj,$ys,$title,$fg[2]);//内容,尺寸,等级,颜色,数量
                    }
				}
				$i++;
            }
            $title = "统计信息"; 
            $titlename = ""; 
            $filename = $title.".xls"; 
			$tail = "\n"; 
            $this->excel->get_fz2($cpexcel,$titlename,$filename,$tail);
	    }
	}
	public function _orderyz()
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['yz']))
		{
			$yz = $this->input->post('yz',true);
			$number = $this->input->post('number',true);
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			$whlabel = explode('|',trim($y['whlabel'],'|'));
			foreach($whlabel as $k=>$v)
			{
				$w = explode('-',trim($v,'-'));
				$wldata[$w[0]] = $w;
			}
			$whlabellabel = $this->whlabellabel->get_label($yz);
			if(!$whlabellabel)
			{
				echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit;
			}
			else
			{
				if(isset($wldata[$whlabellabel['number']]))
				{
					if(!isset($wldata[$whlabellabel['number']][2]))
					{
						echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit;
					}
					else if($wldata[$whlabellabel['number']][2] == 0)
					{
						echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit;
					}
				}
				else
				{
					echo json_encode(array('msg'=>'此订单中没有扫码产品!','success'=>false));exit;
				}
					echo json_encode(array('number'=>$whlabellabel['number'],'success'=>true));exit;
				
			}
		}
		if(isset($post['number']))  
		{
			$number = $this->input->post('number',true);
			$f = 'fullorder';
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$f = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			if($y['librarytime'] > 0)
			{
				echo json_encode(array('msg'=>'错误,此订单已出库!','success'=>false));exit;
			}
			$warehouse = $this->warehouse->read($y['type']);
			if(stripos($y['whlabel'],$warehouse['hz']) === false)
			{
				echo json_encode(array('msg'=>'pz','success'=>false));exit;
			}
			$data = explode('|',trim($y['whlabel'],'|'));
			$fpdata = explode(';',trim($y['fpdata'],';'));
			$cp = array();$i = 0;$x=0;$byz = array();$znum = 0;
			foreach($fpdata as $val)
			{
				$pm = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>'');
				$scsku = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>'');
				$fp = explode('|',$val);
				$fp[0] = str_replace(',','-',$fp[0]);
				$value = explode('-',$fp[0]);
				foreach($value as $v)
				{
					$typeclass = $this->typeclass->read($v);
					$zh = explode('|',trim($typeclass['zh'],'|'));
					$pm[$typeclass['classid']] = $zh[0];
					$scsku[$typeclass['classid']] = $typeclass['bqsku'];
				}
				$scsku = implode("-",$scsku);
				$zh = implode(" ",$pm);
				$zh = str_replace('自然色 ','',rtrim($zh,' '));
				$scsku = str_replace('- ','-',trim($scsku,'-'));
				$scsku = str_replace(array('--------','-------','------','-----','----','---','--'),'-',$scsku);
				$zh = str_replace(array('        ','       ','      ','     ','    ','   ','  '),' ',$zh);
				$data[$i] = explode('-',$data[$i]);
				for($j=0;$j<$data[$i][1];$j++)
				{
				    if(isset($data[$i][2]) && $warehouse['hz'] != '' && stripos($data[$i][2],$warehouse['hz']) !== false)
				    {
						$znum++;//只计算现货
					    //$cp[$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'替换现货','c'=>1,'color'=>'#333');//区别位置模式,暂不使用
						$cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'已占单','t'=>'替换现货','c'=>1,'color'=>'#333');
					}
					else
					{
						//$cp[999+$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'增加现货','c'=>0,'color'=>'#999');//区别位置模式,暂不使用
						$cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'','t'=>'增加现货','c'=>0,'color'=>'#666');
				    }
					$x++;//所有数量
				}
				$i++;
            }
			//ksort($cp);//区别位置模式,暂不使用
			$cp = array_values($cp);
			if($this->$f->save(array('yhs'=>1),$y['id']))
			{
			    echo json_encode(array('rows'=>$cp,'z'=>$znum,'success'=>true));exit;
			}
			else
			{
				echo json_encode(array('msg'=>'处理信息失败,请重试','success'=>false));exit;
			}
		}
		if(isset($post['tid']))  
		{
			$typeclass = array();
			$tc = $this->typeclass->find_all();
			foreach($tc as $v)
			{
				$typeclass[$v['id']] = array('id'=>$v['id'],'classid'=>$v['classid'],'spare'=>$v['spare']);
			}
			$tid = $this->input->post('tid',true);
			$id = $this->input->post('id',true);
			$number = $this->input->post('n',true);
			$ful = 'fullorder';
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$ful = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			$wtid = $this->whlabellabel->get_label($tid);
			if(!$wtid)
			{
				echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit;
			}
			$whlabel = explode('|',trim($y['whlabel'],'|'));
			$fpdata = explode(';',trim($y['fpdata'],';'));
			$warehouse = $this->warehouse->read($y['type']);
			$zdkc = $warehouse['bdck'];
			$ptc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and (shop IS NULL or shop = '')");//通用
			$zsc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and shop like '%,".$y['shop'].",%'");//专属
			if((count($ptc)+count($zsc)) < 1)
			{
				echo json_encode(array('msg'=>'录入的产品没有足够的库存!-'.(count($ptc)+count($zsc)),'success'=>false));exit;
			}
			$this->db->trans_begin();
			$dataw = '';$dataf = '';$fhdata = array();$ww = '';$ff = '';$thff = '';
			if($zsc)
			{
				$this->$zdkc->save(array('zd'=>$number),$zsc[0]['id']);
				$xrid = $zsc[0]['id'];
			}
			else if($ptc)
			{
				$this->$zdkc->save(array('zd'=>$number),$ptc[0]['id']);
				$xrid = $ptc[0]['id'];
		    }
			$xr = $this->$zdkc->read($xrid);
			$features = explode('-',trim($xr['features'],'-'));
			$fhdata = array('sku'=>$xr['sku'],'title'=>$xr['title'],'id'=>$xr['features']);
			foreach($features as $kk=>$v)
			{
				if($typeclass[$v]['classid'] == 14)
				{
					$cc = array('id'=>$typeclass[$v]['id'],'spare'=>$typeclass[$v]['spare']);
					unset($kk);
				}
			}
			$dataw = $tid.'-1-'.$xrid.$warehouse['hz'].'|';
			$dataf = $cc['id'].',-'.implode("-",$features).'-|'.$xr['title'].' |1|0|0|'.$cc['spare'].'|0|0|0|'.$xr['id'].$warehouse['hz'].';';
			$wldata = array();
			$fdata = array();
			foreach($whlabel as $k=>$v)
			{
				$w = explode('-',trim($v,'-'));
				$wldata[$w[0]] = array('wz'=>$k,'sj'=>$w);
			}
			if(!isset($wldata[$id]))
			{
				echo json_encode(array('msg'=>'错误,未找到需要替换的产品,请重新扫发货单条码验货','success'=>false));exit;
			}
			if(isset($wldata[$wtid['number']]['sj']))
			{
				$tw = $wldata[$wtid['number']]['sj'];
				if($wtid['number'] != $id)
				{
				    echo json_encode(array('msg'=>'替换的产品已存在,请操作此产品','success'=>false));exit;
				}
				else
				{
					if(isset($tw[2]) && $tw[2] != 0)
					{
						echo json_encode(array('msg'=>'替换的产品已存在,并且已占单,无法操作替换!','success'=>false));exit;
					}
				}
				if($tw[1] > 1)
				{
					echo json_encode(array('msg'=>'替换的产品已存在,并且已数量为大于1,无法操作替换!','success'=>false));exit;
				}
				
			}
			$thfpdata = $y['thfpdata'];
			$w = $wldata[$id]['sj'];
			$f = explode('|',trim($fpdata[$wldata[$id]['wz']],'|'));
			$zdkc = $warehouse['bdck'];
			if($w[1] > 1)
			{
				if(isset($w[2]) && $w[2] != 0)
				{
					$hz = explode('~',trim($w[2],'~'));
					$this->$zdkc->save(array('zd'=>''),trim($hz[0],$warehouse['hz']));
					$zd = str_replace($hz[0],'',$w[2]);
					$zd = trim($zd,'~');
					$w[2] = $zd;
				}
				foreach($w as $kk=>$v)
				{
					if($kk == 1)
					{
						$v = $v-1;
					}
					$ww .= $v .'-';
				}
				$whlabel[$wldata[$id]['wz']] = trim($ww,'-');
				foreach($f as $kk=>$v)
				{
					if($kk == 2)
					{
						$v = $v-1;
						$thff .= '1|';
					}
					else
					{
						$thff .= $v .'|';
					}
					$ff .= $v .'|';
				}
				$fpdata[$wldata[$id]['wz']] = trim($ff,'|');
				$thfpdata .= trim($thff,'|');
			}
			else
			{
				$thfpdata .= $fpdata[$wldata[$id]['wz']];
				unset($whlabel[$wldata[$id]['wz']]);
				unset($fpdata[$wldata[$id]['wz']]);
			}
			$thfpdata .= '~'.$dataf;
			$whlabel = '|'.implode("|",$whlabel).'|'.$dataw;
			$fpdata = implode(";",$fpdata).';'.$dataf;
			$this->$ful->save(array('whlabel'=>$whlabel,'fpdata'=>$fpdata,'thfpdata'=>$thfpdata),$y['id']);
			if ($this->db->trans_status() === TRUE)
        	{
				$this->db->trans_commit();
				echo json_encode(array('sku'=>$fhdata['sku'],'title'=>$fhdata['title'],'id'=>$fhdata['id'],'msg'=>321,'success'=>true));exit;
			}
			else
			{
				$this->db->trans_rollback();
				echo json_encode(array('msg'=>'条码录入失败,请重试','success'=>false));exit;
			}
		}
		if(isset($post['yhs']))  
		{
			$f = 'fullorder';
			$number = $this->input->post('yhs',true);
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$f = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
			}
			if($this->$f->save(array('yhs'=>0),$y['id']))
			{
				echo json_encode(array('success'=>true));exit;
			}
			else
			{
				echo json_encode(array('success'=>false));exit;
			}
		}
		$this->_Template('systemfout_orderyz',$this->data);
	}
	
	
	
	public function _hwyz()
	{
		$post = $this->input->post(NULL, TRUE);
		if(isset($post['yz']))  
		{
			$yz = $this->input->post('yz',true);
			$number = $this->input->post('number',true);
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			$whlabel = explode('|',trim($y['whlabel'],'|'));
			foreach($whlabel as $k=>$v)
			{
				$w = explode('-',trim($v,'-'));
				$wldata[$w[0]] = $w;
			}
			$whlabellabel = $this->whlabellabel->get_label($yz);
			if(!$whlabellabel)
			{
				echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit;
			}
			else
			{
				if(isset($wldata[$whlabellabel['number']]))
				{
					if(!isset($wldata[$whlabellabel['number']][2]))
					{
						echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit;
					}
					else if($wldata[$whlabellabel['number']][2] == 0)
					{
						echo json_encode(array('msg'=>'此货物没有占单!','success'=>false));exit;
					}
				}
				else
				{
					echo json_encode(array('msg'=>'此订单中没有扫码产品!','success'=>false));exit;
				}
					echo json_encode(array('number'=>$whlabellabel['number'],'success'=>true));exit;
				
			}
		}
		if(isset($post['number']))  
		{
			$number = $this->input->post('number',true);
			$f = 'fullorder';
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$f = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			if($y['librarytime'] > 0)
			{
				echo json_encode(array('msg'=>'错误,此订单已出库!','success'=>false));exit;
			}
			$warehouse = $this->warehouse->read($y['type']);
			$data = explode('|',trim($y['whlabel'],'|'));
			$fpdata = explode(';',trim($y['fpdata'],';'));
			$cp = array();$i = 0;$x=0;$byz = array();$znum = 0;
			foreach($fpdata as $val)
			{
				$pm = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>'');
				$scsku = array(13=>'',22=>'',8=>'',15=>'',18=>'','100'=>'',33=>'',34=>'',7=>'','dc'=>'','c'=>'',14=>'',12=>'',25=>'',26=>'',27=>'',10=>'',6=>'',9=>'',999=>'',9999=>'');
				$fp = explode('|',$val);
				$fp[0] = str_replace(',','-',$fp[0]);
				$value = explode('-',$fp[0]);
				foreach($value as $v)
				{
					$typeclass = $this->typeclass->read($v);
					$zh = explode('|',trim($typeclass['zh'],'|'));
					$pm[$typeclass['classid']] = $zh[0];
					$scsku[$typeclass['classid']] = $typeclass['bqsku'];
				}
				$scsku = implode("-",$scsku);
				$zh = implode(" ",$pm);
				$zh = str_replace('自然色 ','',rtrim($zh,' '));
				$scsku = str_replace('- ','-',trim($scsku,'-'));
				$scsku = str_replace(array('--------','-------','------','-----','----','---','--'),'-',$scsku);
				$zh = str_replace(array('        ','       ','      ','     ','    ','   ','  '),' ',$zh);
				$data[$i] = explode('-',$data[$i]);
				for($j=0;$j<$data[$i][1];$j++)
				{
				    if(isset($data[$i][2]) && $warehouse['hz'] != '' && stripos($data[$i][2],$warehouse['hz']) !== false)
				    {
						$znum++;//只计算现货
					    //$cp[$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'替换现货','c'=>1,'color'=>'#333');//区别位置模式,暂不使用
						$cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'已占单','t'=>'替换现货','c'=>1,'color'=>'#333');
					}
					else
					{
						//$cp[999+$x] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'t'=>'增加现货','c'=>0,'color'=>'#999');//区别位置模式,暂不使用
						$cp[] = array('id'=>$data[$i][0],'sku'=>$scsku,'zh'=>$zh,'y'=>'','t'=>'增加现货','c'=>0,'color'=>'#666');
				    }
					$x++;//所有数量
				}
				$i++;
            }
			//ksort($cp);//区别位置模式,暂不使用
			$cp = array_values($cp);
			if($this->$f->save(array('yhs'=>1),$y['id']))
			{
				if(stripos($y['whlabel'],$warehouse['hz']) === false)
				{
					echo json_encode(array('rows'=>$cp,'z'=>$znum,'msg'=>'pz','success'=>false));exit;
				}
			    echo json_encode(array('rows'=>$cp,'z'=>$znum,'success'=>true));exit;
			}
			else
			{
				echo json_encode(array('msg'=>'处理信息失败,请重试','success'=>false));exit;
			}
		}
		if(isset($post['tid']))  
		{
			$typeclass = array();
			$tc = $this->typeclass->find_all();
			foreach($tc as $v)
			{
				$typeclass[$v['id']] = array('id'=>$v['id'],'classid'=>$v['classid'],'spare'=>$v['spare']);
			}
			$tid = $this->input->post('tid',true);
			$id = $this->input->post('id',true);
			$number = $this->input->post('n',true);
			$ful = 'fullorder';
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$ful = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
				if(!$y)
			    {
					echo json_encode(array('msg'=>'没有找到此订单,请检查是否扫描错误','success'=>false));exit;
				}
			}
			$wtid = $this->whlabellabel->get_label($tid);
			if(!$wtid)
			{
				echo json_encode(array('msg'=>'没有找到此产品条码','success'=>false));exit;
			}
			$whlabel = explode('|',trim($y['whlabel'],'|'));
			$fpdata = explode(';',trim($y['fpdata'],';'));
			$warehouse = $this->warehouse->read($y['type']);
			$zdkc = $warehouse['bdck'];
			$ptc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and (shop IS NULL or shop = '')");//通用
			$zsc = $this->$zdkc->find_all("state = '0' and number = '".$wtid['number']."' and warehouse = '".$warehouse['id']."' and zd = '' and shop like '%,".$y['shop'].",%'");//专属
			if((count($ptc)+count($zsc)) < 1)
			{
				echo json_encode(array('msg'=>'录入的产品没有足够的库存!-'.(count($ptc)+count($zsc)),'success'=>false));exit;
			}
			$this->db->trans_begin();
			$dataw = '';$dataf = '';$fhdata = array();$ww = '';$ff = '';$thff = '';
			if($zsc)
			{
				$this->$zdkc->save(array('zd'=>$number),$zsc[0]['id']);
				$xrid = $zsc[0]['id'];
			}
			else if($ptc)
			{
				$this->$zdkc->save(array('zd'=>$number),$ptc[0]['id']);
				$xrid = $ptc[0]['id'];
		    }
			$xr = $this->$zdkc->read($xrid);
			$features = explode('-',trim($xr['features'],'-'));
			$fhdata = array('sku'=>$xr['sku'],'title'=>$xr['title'],'id'=>$xr['features']);
			foreach($features as $kk=>$v)
			{
				if($typeclass[$v]['classid'] == 14)
				{
					$cc = array('id'=>$typeclass[$v]['id'],'spare'=>$typeclass[$v]['spare']);
					unset($kk);
				}
			}
			$dataw = $tid.'-1-'.$xrid.$warehouse['hz'].'|';
			$dataf = $cc['id'].',-'.implode("-",$features).'-|'.$xr['title'].' |1|0|0|'.$cc['spare'].'|0|0|0|'.$xr['id'].$warehouse['hz'].';';
			$wldata = array();
			$fdata = array();
			foreach($whlabel as $k=>$v)
			{
				$w = explode('-',trim($v,'-'));
				$wldata[$w[0]] = array('wz'=>$k,'sj'=>$w);
			}
			if(!isset($wldata[$id]))
			{
				echo json_encode(array('msg'=>'错误,未找到需要替换的产品,请重新扫发货单条码验货','success'=>false));exit;
			}
			if(isset($wldata[$wtid['number']]['sj']))
			{
				$tw = $wldata[$wtid['number']]['sj'];
				if($wtid['number'] != $id)
				{
				    echo json_encode(array('msg'=>'替换的产品已存在,请操作此产品','success'=>false));exit;
				}
				else
				{
					if(isset($tw[2]) && $tw[2] != 0)
					{
						echo json_encode(array('msg'=>'替换的产品已存在,并且已占单,无法操作替换!','success'=>false));exit;
					}
				}
				if($tw[1] > 1)
				{
					echo json_encode(array('msg'=>'替换的产品已存在,并且已数量为大于1,无法操作替换!','success'=>false));exit;
				}
				
			}
			$thfpdata = $y['thfpdata'];
			$w = $wldata[$id]['sj'];
			$f = explode('|',trim($fpdata[$wldata[$id]['wz']],'|'));
			$zdkc = $warehouse['bdck'];
			if($w[1] > 1)
			{
				if(isset($w[2]) && $w[2] != 0)
				{
					$hz = explode('~',trim($w[2],'~'));
					$this->$zdkc->save(array('zd'=>''),trim($hz[0],$warehouse['hz']));
					$zd = str_replace($hz[0],'',$w[2]);
					$zd = trim($zd,'~');
					$w[2] = $zd;
				}
				foreach($w as $kk=>$v)
				{
					if($kk == 1)
					{
						$v = $v-1;
					}
					$ww .= $v .'-';
				}
				$whlabel[$wldata[$id]['wz']] = trim($ww,'-');
				foreach($f as $kk=>$v)
				{
					if($kk == 2)
					{
						$v = $v-1;
						$thff .= '1|';
					}
					else
					{
						$thff .= $v .'|';
					}
					$ff .= $v .'|';
				}
				$fpdata[$wldata[$id]['wz']] = trim($ff,'|');
				$thfpdata .= trim($thff,'|');
			}
			else
			{
				$thfpdata .= $fpdata[$wldata[$id]['wz']];
				unset($whlabel[$wldata[$id]['wz']]);
				unset($fpdata[$wldata[$id]['wz']]);
			}
			$thfpdata .= '~'.$dataf;
			$whlabel = '|'.implode("|",$whlabel).'|'.$dataw;
			$fpdata = implode(";",$fpdata).';'.$dataf;
			$this->$ful->save(array('whlabel'=>$whlabel,'fpdata'=>$fpdata,'thfpdata'=>$thfpdata),$y['id']);
			if ($this->db->trans_status() === TRUE)
        	{
				$this->db->trans_commit();
				echo json_encode(array('sku'=>$fhdata['sku'],'title'=>$fhdata['title'],'id'=>$fhdata['id'],'msg'=>321,'success'=>true));exit;
			}
			else
			{
				$this->db->trans_rollback();
				echo json_encode(array('msg'=>'条码录入失败,请重试','success'=>false));exit;
			}
		}
		if(isset($post['yhs']))  
		{
			$f = 'fullorder';
			$number = $this->input->post('yhs',true);
			$y  = $this->fullorder->get_number($number);
			if(!$y)
			{
				$f = 'fullordersmt';
				$y  = $this->fullordersmt->get_number($number);
			}
			if($this->$f->save(array('yhs'=>0),$y['id']))
			{
				echo json_encode(array('success'=>true));exit;
			}
			else
			{
				echo json_encode(array('success'=>false));exit;
			}
		}
		$this->_Template('systemfout_hwyz',$this->data);
	}
	
	
	public function _fouthb()
	{
		$post = $this->input->post(NULL, TRUE);
		$xw = '';
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$wid="";$wtype="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			$userwh = explode('|',trim($user['warehouse'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			foreach ($userwh as $value) 
		    {
				$wid .= " id = ".$value." or";
				$wtype .= " type = ".$value." or";
			}
			if($user['userid'] == 'xw')
			{
				$xw = 1;
			}
		}
		if(isset($post['page']))  
		{
		    $page = $this->input->post('page',true);
		    $perpage = $this->input->post('perpage',true);
			$timetk = $this->input->post('timetk',true);
			$timetj = $this->input->post('timetj',true);
			$shop = $this->input->post('shop',true);
			$type = $this->input->post('type',true);
			$express = $this->input->post('express',true);
			$number = $this->input->post('number',true);
			$waybill = $this->input->post('waybill',true);
			$librarytime = $this->input->post('librarytime',true);
			$timetk = strtotime($timetk);
			$timetj = strtotime($timetj);
			$where = "mergeid = '1'";
            $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
			if($shop)
            {
                $where  .= " and shop = '$shop'";
            }
			if($number)
            {
                $where  .= " and number like '$number%'";
            }
			if($waybill)
            {
                $where  .= " and waybill = '$waybill'";
            }
			if($type)
            {
                $where  .= " and type = '$type'";
            }
			if($express)
            {
				$where  .= " and express = '$express'";
            }
            //数据排序
            $order_str = "librarytime desc";
            if(empty($page))
		    {
                $start = 0;
		    	$perpage = 1;
            }
		    else
		    {
                $start = ($page - 1)*$perpage;
            }
            //取得信息列表
            $info_list = $this->fullorder->find_all($where,'id,shop,number,waybill,express,librarytime',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_list as $key=>$value)
		    {
				$shop = $this->shop->read($value['shop']);
				$info_list[$key]['shop'] = $shop['shopname'];
				$express = $this->express->read($value['express']);
				$info_list[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_list[$key]['type'] = $warehouse['title'];
				$info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).'';
            }
			$info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listtt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listtt[$key]['shop'] = $shop['shopname'];
				$express = $this->express->read($value['express']);
				$info_listtt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listtt[$key]['type'] = $warehouse['title'];
				$info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
            }
            
            
            $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listamz as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listamz[$key]['shop'] = $shop['shopname'];
				$express = $this->express->read($value['express']);
				$info_listamz[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listamz[$key]['type'] = $warehouse['title'];
				$info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
            }
            
            
			$info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listxw as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listxw[$key]['shop'] = $shop['shopname'];
				$express = $this->express->read($value['express']);
				$info_listxw[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listxw[$key]['type'] = $warehouse['title'];
				$info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
            }
			$info_listsmt = $this->fullordersmt->find_all($where." and mergeid = '0'",'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
			 //格式化数据
            foreach ($info_listsmt as $key=>$value) 
		    {
				$shop = $this->shop->read($value['shop']);
				$info_listsmt[$key]['shop'] = $shop['shopname'];
				$express = $this->express->read($value['express']);
				$info_listsmt[$key]['express'] = $express['servicename'];
				$warehouse = $this->warehouse->read($value['type']);
				$info_listsmt[$key]['type'] = $warehouse['title'];
				$info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
            }
		    $total = $this->fullorder->find_count($where);
			$total += $this->fullordertt->find_count($where);
			$total += $this->fullorderamz->find_count($where);
			$total += $this->fullorderxw->find_count($where);
			$total += $this->fullordersmt->find_count($where);
		    $pagenum = ceil($total/$perpage);
		    $over = $total-($start+$perpage);
		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>(array_merge($info_list,$info_listamz,$info_listtt,$info_listxw,$info_listsmt)));
		    echo json_encode($rows);exit;
		}
		if(isset($_SESSION['api']))
		{
			$wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or'));
			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");
		    $this->data['wlshop'] = $wlshop;
		    $this->data['warehouse'] = $warehouse;
		}
		$this->data['xw'] = $xw;
		$this->_Template('systemfout_fouthb',$this->data);
	}
	
	
	public function _hb()
	{
		$post = $this->input->post(NULL, TRUE);
		$xw = '';
		if(isset($_SESSION['api']))
		{
			$user = $this->user->get_api($_SESSION['api']);
			$usp = $user;
		    $fgshop = "";$sid = "";$wid="";$wtype="";
		    $usersp = explode('|',trim($user['shop'],'|'));
			$userwh = explode('|',trim($user['warehouse'],'|'));
			foreach ($usersp as $value) 
		    {
				$fgshop .= " shop = ".$value." or";
				$sid .= " id = ".$value." or";
			}
			foreach ($userwh as $value) 
		    {
				$wid .= " id = ".$value." or";
				$wtype .= " type = ".$value." or";
			}
			if($user['userid'] == 'xw')
			{
				$xw = 1;
			}
		}
		if(isset($post['page']))  
		{
		    $page = $this->input->post('page',true);
		    $perpage = $this->input->post('perpage',true);
			$timetk = $this->input->post('timetk',true);
			$timetj = $this->input->post('timetj',true);
			$shop = $this->input->post('shop',true);
			$source = $this->input->post('source',true);
			$orderinfo = $this->input->post('orderinfo',true);
			$number = $this->input->post('number',true);
			$library = $this->input->post('library',true);
			$waybill = $this->input->post('waybill',true);
			$express = $this->input->post('express',true);
			$type = $this->input->post('type',true);
			$lowe = $this->input->post('lowe',true);
			$so = $this->input->post('so',true);
			$librarytime = $this->input->post('librarytime',true);
			$timetk = strtotime($timetk);
			$timetj = strtotime($timetj);
			$cxtime = 'id';
			$where = (isset($_SESSION['api']))?"library!=3 and mergeid = 1 and libraryconfirm=2 and print = 3 and (".rtrim($wtype,'or').")":"id = '0' and mergeid = 1";
			if($timetk && $timetj && $library == 1)
            {
				//$cxtime = 'reviewtime';
                $where  .= "  and printtime > '$timetk - 180*24*3600' and printtime < '$timetj'";
				$where  .= " and state != 217";
				
            }
			else if($timetk && $timetj && $library == 2)
            {
				$cxtime = 'librarytime';
                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
            }
			if($shop)
            {
                $where  .= " and shop = '$shop'";
            }
			if($number)
            {
                $where  .= " and number = '$number'";
            }
			if($library)
            {
                $where  .= " and library = '$library'";
            }
			if($waybill)
            {
                $where  .= " and waybill = '$waybill'";
            }
			if($express)
            {
				$where  .= " and express = '$express'";
            }
			if($orderinfo)
            {
                $where  .= " and orderinfo = '$orderinfo'";
            }
			if($type)
            {
                $where  .= " and type = '$type'";
            }
			if($lowe)
            {
                $where  .= " and shipremarks like '%$lowe%'";
            }
			if($so)
            {
                $where  .= " and shipremarks like '%$so%'";
            }
            //数据排序
            $order_str = $cxtime." desc";
            if(empty($page))
		    {
                $start = 0;
		    	$perpage = 1;
            }
		    else
		    {
                $start = ($page - 1)*$perpage;
            }
            //取得信息列表
            $info_list = $this->fullorder->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str);
			 //格式化数据
            // foreach ($info_list as $key=>$value)
		    // {
			// 	$shop = $this->shop->read($value['shop']);
			// 	$info_list[$key]['shop'] = $shop['shopname'];
			// 	if($value['waybill'] == '0')
			// 	{
			// 		$info_list[$key]['waybill'] = "";
			// 	}
			// 	$express = $this->express->read($value['express']);
			// 	$info_list[$key]['express'] = $express['servicename'];
			// 	$warehouse = $this->warehouse->read($value['type']);
			// 	$info_list[$key]['type'] = $warehouse['title'];
			// 	if($value['print'] == 1)
			// 	{
			// 		$info_list[$key]['print'] = '不可打印';
			// 	}
			// 	else if($value['print'] == 2)
			// 	{
			// 		$info_list[$key]['print'] = '未打印';
			// 	}
			// 	else if($value['print'] == 3)
			// 	{
			// 		$info_list[$key]['print'] = '已打印';
			// 	}
			// 	if($value['library'] == 1)
			// 	{
			// 		$info_list[$key]['library'] = '未出库';
			// 	}
			// 	else if($value['library'] == 2)
			// 	{
			// 		$info_list[$key]['library'] = '已出库';
			// 	}
			// 	else if($value['library'] == 3)
			// 	{
			// 		$info_list[$key]['library'] = '已退库';
			// 	}
			// 	if($value['librarytime'] == '0')
			// 	{
			// 		$info_list[$key]['librarytime'] = '';
			// 	}
			// 	else
			// 	{
			// 		$info_list[$key]['librarytime'] = ''.date('Y-m-d H:i',$value['librarytime']).'';
			// 	}
			// 	$info_list[$key]['orderremarks'] = str_replace(array('<','>'),array('<','>'),$value['orderremarks']);
            // }
			$info_listtt = $this->fullordertt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str);
			 //格式化数据
            // foreach ($info_listtt as $key=>$value) 
		    // {
			// 	$shop = $this->shop->read($value['shop']);
			// 	$info_listtt[$key]['shop'] = $shop['shopname'];
			// 	if($value['waybill'] == '0')
			// 	{
			// 		$info_listtt[$key]['waybill'] = "";
			// 	}
			// 	$express = $this->express->read($value['express']);
			// 	$info_listtt[$key]['express'] = $express['servicename'];
			// 	$warehouse = $this->warehouse->read($value['type']);
			// 	$info_listtt[$key]['type'] = $warehouse['title'];
			// 	if($value['print'] == 1)
			// 	{
			// 		$info_listtt[$key]['print'] = '不可打印';
			// 	}
			// 	else if($value['print'] == 2)
			// 	{
			// 		$info_listtt[$key]['print'] = '未打印';
			// 	}
			// 	else if($value['print'] == 3)
			// 	{
			// 		$info_listtt[$key]['print'] = '已打印';
			// 	}
			// 	if($value['library'] == 1)
			// 	{
			// 		$info_listtt[$key]['library'] = '未出库';
			// 	}
			// 	else if($value['library'] == 2)
			// 	{
			// 		$info_listtt[$key]['library'] = '已出库';
			// 	}
			// 	else if($value['library'] == 3)
			// 	{
			// 		$info_listtt[$key]['library'] = '已退库';
			// 	}
			// 	if($value['librarytime'] == '0')
			// 	{
			// 		$info_listtt[$key]['librarytime'] = '';
			// 	}
			// 	else
			// 	{
			// 		$info_listtt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
			// 	}
            // }
            
            
            $info_listamz = $this->fullorderamz->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str);
			 //格式化数据
            // foreach ($info_listamz as $key=>$value) 
		    // {
			// 	$shop = $this->shop->read($value['shop']);
			// 	$info_listamz[$key]['shop'] = $shop['shopname'];
			// 	if($value['waybill'] == '0')
			// 	{
			// 		$info_listamz[$key]['waybill'] = "";
			// 	}
			// 	$express = $this->express->read($value['express']);
			// 	$info_listamz[$key]['express'] = $express['servicename'];
			// 	$warehouse = $this->warehouse->read($value['type']);
			// 	$info_listamz[$key]['type'] = $warehouse['title'];
			// 	if($value['print'] == 1)
			// 	{
			// 		$info_listamz[$key]['print'] = '不可打印';
			// 	}
			// 	else if($value['print'] == 2)
			// 	{
			// 		$info_listamz[$key]['print'] = '未打印';
			// 	}
			// 	else if($value['print'] == 3)
			// 	{
			// 		$info_listamz[$key]['print'] = '已打印';
			// 	}
			// 	if($value['library'] == 1)
			// 	{
			// 		$info_listamz[$key]['library'] = '未出库';
			// 	}
			// 	else if($value['library'] == 2)
			// 	{
			// 		$info_listamz[$key]['library'] = '已出库';
			// 	}
			// 	else if($value['library'] == 3)
			// 	{
			// 		$info_listamz[$key]['library'] = '已退库';
			// 	}
			// 	if($value['librarytime'] == '0')
			// 	{
			// 		$info_listamz[$key]['librarytime'] = '';
			// 	}
			// 	else
			// 	{
			// 		$info_listamz[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
			// 	}
            // }
            
            
            
			$info_listxw = $this->fullorderxw->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str);
			 //格式化数据
            // foreach ($info_listxw as $key=>$value) 
		    // {
			// 	$shop = $this->shop->read($value['shop']);
			// 	$info_listxw[$key]['shop'] = $shop['shopname'];
			// 	if($value['waybill'] == '0')
			// 	{
			// 		$info_listxw[$key]['waybill'] = "";
			// 	}
			// 	$express = $this->express->read($value['express']);
			// 	$info_listxw[$key]['express'] = $express['servicename'];
			// 	$warehouse = $this->warehouse->read($value['type']);
			// 	$info_listxw[$key]['type'] = $warehouse['title'];
			// 	if($value['print'] == 1)
			// 	{
			// 		$info_listxw[$key]['print'] = '不可打印';
			// 	}
			// 	else if($value['print'] == 2)
			// 	{
			// 		$info_listxw[$key]['print'] = '未打印';
			// 	}
			// 	else if($value['print'] == 3)
			// 	{
			// 		$info_listxw[$key]['print'] = '已打印';
			// 	}
			// 	if($value['library'] == 1)
			// 	{
			// 		$info_listxw[$key]['library'] = '未出库';
			// 	}
			// 	else if($value['library'] == 2)
			// 	{
			// 		$info_listxw[$key]['library'] = '已出库';
			// 	}
			// 	else if($value['library'] == 3)
			// 	{
			// 		$info_listxw[$key]['library'] = '已退库';
			// 	}
			// 	if($value['librarytime'] == '0')
			// 	{
			// 		$info_listxw[$key]['librarytime'] = '';
			// 	}
			// 	else
			// 	{
			// 		$info_listxw[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
			// 	}
            // }
			$info_listsmt = $this->fullordersmt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,orderremarks',$order_str);
			 //格式化数据
            // foreach ($info_listsmt as $key=>$value) 
		    // {
			// 	$shop = $this->shop->read($value['shop']);
			// 	$info_listsmt[$key]['shop'] = $shop['shopname'];
			// 	if($value['waybill'] == '0')
			// 	{
			// 		$info_listsmt[$key]['waybill'] = "";
			// 	}
			// 	$express = $this->express->read($value['express']);
			// 	$info_listsmt[$key]['express'] = $express['servicename'];
			// 	$warehouse = $this->warehouse->read($value['type']);
			// 	$info_listsmt[$key]['type'] = $warehouse['title'];
			// 	if($value['print'] == 1)
			// 	{
			// 		$info_listsmt[$key]['print'] = '不可打印';
			// 	}
			// 	else if($value['print'] == 2)
			// 	{
			// 		$info_listsmt[$key]['print'] = '未打印';
			// 	}
			// 	else if($value['print'] == 3)
			// 	{
			// 		$info_listsmt[$key]['print'] = '已打印';
			// 	}
			// 	if($value['library'] == 1)
			// 	{
			// 		$info_listsmt[$key]['library'] = '未出库';
			// 	}
			// 	else if($value['library'] == 2)
			// 	{
			// 		$info_listsmt[$key]['library'] = '已出库';
			// 	}
			// 	else if($value['library'] == 3)
			// 	{
			// 		$info_listsmt[$key]['library'] = '已退库';
			// 	}
			// 	if($value['librarytime'] == '0')
			// 	{
			// 		$info_listsmt[$key]['librarytime'] = '';
			// 	}
			// 	else
			// 	{
			// 		$info_listsmt[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
			// 	}
            // }
		    // $total = $this->fullorder->find_count($where);
			// $total += $this->fullordertt->find_count($where);
			// $total += $this->fullorderamz->find_count($where);
			// $total += $this->fullorderxw->find_count($where);
			// $total += $this->fullordersmt->find_count($where);
			$total_list = array_merge($info_list,$info_listtt,$info_listamz,$info_listxw,$info_listsmt);
			$sort_list = [];
			foreach($total_list as $key => $value){
				$tmp_librarytime = (int)($value['librarytime']."0000");
				if(isset($sort_list[$tmp_librarytime])){
					$tmp_librarytime =(int)($value['librarytime'].rand(1000,9999));
					$sort_list[$tmp_librarytime] = $value;
				}else{
					$sort_list[$tmp_librarytime] = $value;
				}
			}
		
			krsort($sort_list);
			if(!empty($sort_list)){
				$split_list = array_chunk($sort_list, $perpage, true);
				$shop_list = $this->shop->find_all('1=1');
				$shop_arr = array_column($shop_list,'shopname','id');
				$express_list = $this->express->find_all('1=1');
				$express_arr = array_column($express_list,'servicename','id');
				$warehouse_list = $this->warehouse->find_all('1=1');
				$warehouse_arr = array_column($warehouse_list,'title','id');
				$final_list = $split_list[$page-1];
				foreach ($final_list as $key=>$value) 
				{
					$final_list[$key]['shop'] = isset($shop_arr[$value['shop']])? $shop_arr[$value['shop']] :"";
					if($value['waybill'] == '0')
					{
						$final_list[$key]['waybill'] = "";
					}
					$final_list[$key]['express'] = isset($express_arr[$value['express']])? $express_arr[$value['express']] :"";    
					$final_list[$key]['type'] = isset($warehouse_arr[$value['type']])? $warehouse_arr[$value['type']] :"";
					if($value['print'] == 1)
					{
						$final_list[$key]['print'] = '不可打印';
					}
					else if($value['print'] == 2)
					{
						$final_list[$key]['print'] = '未打印';
					}
					else if($value['print'] == 3)
					{
						$final_list[$key]['print'] = '已打印';
					}
					if($value['library'] == 1)
					{
						$final_list[$key]['library'] = '未出库';
					}
					else if($value['library'] == 2)
					{
						$final_list[$key]['library'] = '已出库';
					}
					else if($value['library'] == 3)
					{
						$final_list[$key]['library'] = '已退库';
					}
					if($value['librarytime'] == '0')
					{
						$final_list[$key]['librarytime'] = '';
					}
					else
					{
						$final_list[$key]['librarytime'] = ''.date('Y-m-d H:i:s',$value['librarytime']).'';
					}
				}
                $final_list = array_values($final_list);
			}else{
				$final_list = [];
			}
			
			$total = count($total_list);
		    $pagenum = ceil($total/$perpage);
		    $over = $total-($start+$perpage);
		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($final_list));
		    echo json_encode($rows);exit;
		}
		if(isset($_SESSION['api']))
		{
			$wlshop = $this->shop->find_all('1=1 and '.rtrim($sid,'or'));
			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");
		    $this->data['wlshop'] = $wlshop;
		    $this->data['warehouse'] = $warehouse;
		}
		$this->data['xw'] = $xw;
		$this->_Template('systemfout_hb',$this->data);
	}
} |