| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278 | 
							- <?php defined('BASEPATH') OR exit('No direct script access allowed');
 
- header("Access-Control-Allow-Origin: *");
 
- class Aptsmt extends Start_Controller {
 
- 	public function __construct(){
 
- 		parent::__construct();
 
- 		$this->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_fullordersmt','fullordersmt');
 
- 		$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_warehouse','warehouse');
 
- 		$this->load->_model('Model_kdniao','kdniao');
 
- 		$this->load->_model('Model_notice','notice');
 
- 		$this->load->_model('Model_dhl','dhl');
 
- 		$this->load->_model('Model_usps','usps');
 
- 		$this->load->_model('Model_shop','shop');
 
- 		$this->load->_model('Model_user','user');
 
- 		$this->load->_model('Model_whlabel','whlabel');
 
- 		$this->load->helper('url');
 
- 	}
 
- 	//定义方法的调用规则 获取URI第二段值
 
-     public function _remap($arg,$arg_array)
 
-     {
 
- 		if($arg == 'fout')//出库页
 
-         {
 
-              $this->_fout();
 
-         }
 
- 		else if($arg == 'printing')//打印操作
 
-         {
 
-              $this->_printing();
 
-         }
 
- 		else if($arg == 'print')//打印操作
 
-         {
 
-              $this->_print();
 
-         }
 
- 		else if($arg == 'fhd')//打印操作
 
-         {
 
-              $this->_fhd($arg_array);
 
-         }
 
- 		else if($arg == 'fhdusa')//打印操作
 
-         {
 
-              $this->_fhdusa($arg_array);
 
-         }
 
- 		else if($arg == 'shop')
 
-         {
 
-              $this->_shop();
 
-         }
 
- 		else if($arg == 'lowe')
 
-         {
 
-              $this->_lowe();
 
-         }
 
- 		else if($arg == 'express')
 
-         {
 
-              $this->_express();
 
-         }
 
- 		else if($arg == 'retreat')
 
-         {
 
-              $this->_retreat();
 
-         }
 
- 		else if($arg == 'excel')
 
-         {
 
-              $this->_excel();
 
-         }
 
- 		else
 
- 		{
 
- 			 $this->_index();
 
- 		}
 
-     }
 
- 	//管理
 
- 	public function _index()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['userid']))
 
- 		{
 
- 			$userid = $this->input->post('userid',true);
 
- 			$userpass = $this->input->post('userpass',true);
 
- 			$password = sha1($userpass);
 
- 			$user = $this->user->get_uid($userid,'dlz');
 
- 			if($user)
 
- 			{
 
- 				if($user['type'] == 2)
 
- 				{
 
- 					echo json_encode(array('msg'=>"账户已停用",'success'=>false));exit;
 
- 				}
 
- 				if($user['userpass'] == $password)
 
- 				{
 
-                     $this->user->get_land($user);  //更新登录数据
 
- 					echo json_encode(array('url'=>'?id='.$user['api'],'success'=>true));exit;
 
- 				}
 
- 				else
 
- 				{
 
- 					echo json_encode(array('msg'=>"用户或密码不正确",'success'=>false));exit;
 
- 				}
 
- 			}
 
- 			else
 
- 			{
 
- 				echo json_encode(array('msg'=>"用户不正确",'success'=>false));exit;
 
- 			}
 
- 		}
 
- 	}
 
- 	//出库
 
- 	public function _fout()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['order']))  
 
- 		{
 
- 			$time = time();
 
- 			$order = $this->input->post('order',true);
 
- 			$y = $this->fullorder->get_waybill($order);
 
- 			$fullorder_name = 'fullorder';
 
- 			if(!$y)
 
- 			{
 
- 				$y = $this->fullorder->get_number($order);
 
- 				if(!$y)
 
- 				{
 
- 					$fullorder_name = 'fullordersmt';
 
- 					$y = $this->fullordersmt->get_waybill($order);
 
- 					if(!$y)
 
- 				    {
 
- 						$y = $this->fullordersmt->get_number($order);
 
- 						if(!$y)
 
- 				        {
 
- 							echo json_encode(array('msg'=>'无此数据','success'=>false));exit;
 
- 						}
 
- 					}
 
- 				}
 
- 			}
 
- 			if($y['libraryconfirm'] == 1 || $y['state'] == 217)
 
- 			{
 
- 				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($y['type'] == 5)
 
- 			{
 
- 				$ckcg = 0;$save = array();
 
- 				$pp = explode('|',trim($y['whlabel'],'|'));
 
- 				foreach ($pp as $va)
 
- 		        {
 
- 					$uid = array();//储存可用出库产品的ID
 
- 					$num = explode('-',$va);
 
- 					$shopwhlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '".$y['type']."' and shop !='' and shop like '%,".$y['shop'].",%'");
 
- 					$whlabel = $this->whlabel->find_all("state = 0 and number = '$num[0]' and warehouse = '".$y['type']."' and (shop IS NULL or shop = '')");
 
- 					if($shopwhlabel)
 
- 					{
 
- 						if(count($shopwhlabel) >= $num[1])//如果专用的条数大于需求
 
- 						{
 
- 							for($i=0;$i<$num[1];$i++)
 
- 						    {
 
- 							    $uid[] = $shopwhlabel[$i]['id'];
 
- 						    }
 
- 						    $save[] = $uid;
 
- 						}
 
- 						else if(count($shopwhlabel) < $num[1] && (count($whlabel)+count($shopwhlabel)) >= $num[1])//如果专用的条数小于需求,但专用的条数+通用的条数大于等于需求,判断为可用,有限扣减专用数
 
- 						{
 
- 							for($i=0;$i<count($shopwhlabel);$i++)
 
- 						    {
 
- 							    $uid[] = $shopwhlabel[$i]['id'];
 
- 						    }
 
- 							for($x=0;$x<($num[1]-count($shopwhlabel));$x++)
 
- 						    {
 
- 							    $uid[] = $whlabel[$x]['id'];
 
- 						    }
 
- 						    $save[] = $uid;
 
- 						}
 
- 						else
 
- 						{
 
- 							$ckcg++;
 
- 						}
 
- 					}
 
- 					else if(!$whlabel || count($whlabel) < $num[1])
 
- 				    {
 
- 					    $ckcg++;
 
- 				    }
 
- 					else
 
- 					{
 
- 						for($i=0;$i<$num[1];$i++)
 
- 						{
 
- 							$uid[] = $whlabel[$i]['id'];
 
- 						}
 
- 						$save[] = $uid;
 
- 					}
 
- 				}
 
- 				if($ckcg > 0)
 
- 				{
 
- 					echo json_encode(array('msg'=>'无法匹配库存或库存为0','success'=>false));exit;
 
- 				}
 
- 				else
 
- 				{
 
- 					foreach ($save as $vb)
 
- 		            {
 
- 						foreach ($vb as $vc)
 
- 		                {
 
- 					        $this->whlabel->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$vc);
 
- 						}
 
- 					}
 
- 				}
 
- 			}
 
- 			if($this->$fullorder_name->save(array('library'=>2,'librarytime'=>$time),$y['id']))
 
-         	{
 
-          		echo json_encode(array('success'=>true));exit;
 
- 				if($fullorder_name == 'fullordersmt' && $y['source'] != 1)//速卖通发货声明
 
- 				{
 
- 					$ex = $this->express->read($y['express']);
 
- 					$shop = $shop->shop->read($y['shop']);
 
- 					if($y['dlz'] == 1)//如果已经声明过需要操作修改声明
 
- 					{
 
- 						$obtain = $this->apismt->get_obtain($y['orderinfo'],$shop['code']);//修改声明先查询之前物流信息
 
- 						$result = $this->apismt->get_editout($obtain['logistics_no'],$y['whlabel'],'all',$y['orderinfo'],$obtain['service_name'],$ex['servicetitle'],$shop['code']);
 
- 						if($result['result_success'] == 'true')
 
- 					    {
 
- 							$this->db->trans_begin();
 
- 						    $this->$fullorder_name->save(array('dlz'=>1),$y['id']);
 
- 							if($y['merge'] != '0')
 
- 							{
 
- 								$hdata = $this->$fullorder_name->find_all("merge = '".$y['merge']."' and id != '".$y['id']."'");
 
- 								foreach ($hdata as $v) 
 
- 								{
 
- 									$obtain = $this->apismt->get_obtain($v['orderinfo'],$shop['code']);//修改声明先查询之前物流信息
 
- 						            $result = $this->apismt->get_editout($obtain['logistics_no'],$y['whlabel'],'all',$v['orderinfo'],$obtain['service_name'],$ex['servicetitle'],$shop['code']);
 
- 									if($result['result_success'] == 'true')
 
- 					                {
 
- 									    $this->$fullorder_name->save(array('dlz'=>1),$v['id']);
 
- 									}
 
- 								}
 
- 							}
 
- 							if ($this->db->trans_status() === TRUE)
 
-             				{
 
- 								$this->db->trans_commit();
 
- 							}
 
- 							else
 
- 							{
 
- 								$this->db->trans_rollback();
 
- 							}
 
- 					    }
 
- 					    else
 
- 					    {
 
- 						     $this->$fullorder_name->save(array('dlz'=>2),$y['id']);
 
- 					    }
 
- 					}
 
- 					else //未发货声明状态
 
- 					{
 
- 					    $result = $this->apismt->get_out($y['whlabel'],'all',$y['orderinfo'],$ex['servicetitle'],$shop['code']);
 
- 						$shop = $this->shop->read($y['shop']);
 
- 						$go = $this->notice->get_go($y,$shop,'logisticstatus',1);//速卖通发送订单留言:已揽收
 
- 						$go = ($go==1)?'揽收留言发送成功':'揽收留言发送失败';
 
- 						//速卖通出库后状态需要改为209:买家待收货状态
 
- 					    if($result['result_success'] == 'true')
 
- 					    {
 
- 							$this->db->trans_begin();
 
- 						    $this->$fullorder_name->save(array('dlz'=>1,'fscontent'=>$go,'state'=>209),$y['id']);
 
- 							if($y['merge'] != '0')
 
- 							{
 
- 								$hdata = $this->$fullorder_name->find_all("merge = '".$y['merge']."' and id != '".$y['id']."'");
 
- 								foreach ($hdata as $v) 
 
- 								{
 
- 									 $result = $this->apismt->get_out($y['whlabel'],'all',$v['orderinfo'],$ex['servicetitle'],$shop['code']);
 
- 									 $go = $this->notice->get_go($v,$shop,'logisticstatus',1);//速卖通发送订单留言:已揽收
 
- 						             $go = ($go==1)?'揽收留言发送成功':'揽收留言发送失败';
 
- 									 if($result['result_success'] == 'true')
 
- 					                 {
 
- 									    $this->$fullorder_name->save(array('dlz'=>1,'fscontent'=>$go,'state'=>209),$v['id']);
 
- 									}
 
- 								}
 
- 							}
 
- 							if ($this->db->trans_status() === TRUE)
 
-             				{
 
- 								$this->db->trans_commit();
 
- 							}
 
- 							else
 
- 							{
 
- 								$this->db->trans_rollback();
 
- 							}
 
- 					    }
 
- 					    else
 
- 					    {
 
- 						    $this->$fullorder_name->save(array('dlz'=>2,'fscontent'=>$go,'state'=>209),$y['id']);
 
- 					    }
 
- 					}
 
- 					
 
- 				}
 
- 				$sp = $this->shop->read($y['shop']);
 
- 				$this->notice->get_go($y,$sp,'ordertatus',209);//通知消息模板,是否有已发货需要发送内容
 
-        	 	}
 
-        		else
 
-         	{
 
-            		echo json_encode(array('msg'=>'出库失败,请重试','success'=>false));exit;
 
-         	}
 
- 		}
 
- 		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);
 
- 			$librarytime = $this->input->post('librarytime',true);
 
- 			$timetk = strtotime($timetk);
 
- 			$timetj = strtotime($timetj);
 
- 			$cxtime = 'id';
 
- 			$where = "library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3";
 
- 			if($timetk && $timetj && $library == 2 && $librarytime != 1)
 
-             {
 
- 				$cxtime = 'reviewtime';
 
-                 $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";
 
-             }
 
- 			else if($timetk && $timetj && $library == 2 && $librarytime == 1)
 
-             {
 
- 				$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%'";
 
-             }
 
-             //数据排序
 
-             $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'] = '<em class="c">未出库</em>';
 
- 				}
 
- 				else if($value['library'] == 2)
 
- 				{
 
- 					$info_list[$key]['library'] = '<em class="c">已出库</em>';
 
- 				}
 
- 				else if($value['library'] == 3)
 
- 				{
 
- 					$info_list[$key]['library'] = '<em class="c">已退库</em>';
 
- 				}
 
- 				if($value['librarytime'] == '0')
 
- 				{
 
- 					$info_list[$key]['librarytime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';
 
- 				}
 
-             }
 
- 			$info_list_smt = $this->fullordersmt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str,$start,$perpage);
 
- 			 //格式化数据
 
-             foreach ($info_list_smt as $key=>$value) 
 
- 		    {
 
- 				$shop = $this->shop->read($value['shop']);
 
- 				$info_list_smt[$key]['shop'] = $shop['shopname'];
 
- 				if($value['waybill'] == 0)
 
- 				{
 
- 					$info_list_smt[$key]['waybill'] = "";
 
- 				}
 
- 				$express = $this->express->read($value['express']);
 
- 				$info_list_smt[$key]['express'] = $express['servicename'];
 
- 				$warehouse = $this->warehouse->read($value['type']);
 
- 				$info_list_smt[$key]['type'] = $warehouse['title'];
 
- 				if($value['print'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '不可打印';
 
- 				}
 
- 				else if($value['print'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '未打印';
 
- 				}
 
- 				else if($value['print'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '已打印';
 
- 				}
 
- 				if($value['library'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">未出库</em>';
 
- 				}
 
- 				else if($value['library'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">已出库</em>';
 
- 				}
 
- 				else if($value['library'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">已退库</em>';
 
- 				}
 
- 				if($value['librarytime'] == '0')
 
- 				{
 
- 					$info_list_smt[$key]['librarytime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list_smt[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';
 
- 				}
 
-             }
 
- 		    $total = $this->fullorder->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_list_smt)));
 
- 		    echo json_encode($rows);exit;
 
- 		}
 
- 		$this->data['express'] = $this->express->find_all();
 
- 		$this->_Template('whlabel_fout',$this->data);
 
- 	}
 
- 	//退库
 
- 	public function _retreat()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['order']))  
 
- 		{
 
- 			$time = time();
 
- 			$order = $this->input->post('order',true);
 
- 			$y = $this->fullorder->get_waybill($order);
 
- 			$fullorder_name = 'fullorder';
 
- 			if(!$y)
 
- 			{
 
- 				$y = $this->fullorder->get_number($order);
 
- 				if(!$y)
 
- 				{
 
- 					$fullorder_name = 'fullordersmt';
 
- 					$y = $this->fullordersmt->get_waybill($order);
 
- 					if(!$y)
 
- 				    {
 
- 						$y = $this->fullordersmt->get_number($order);
 
- 						if(!$y)
 
- 				        {
 
- 							echo json_encode(array('msg'=>'无此数据','success'=>false));exit;
 
- 						}
 
- 					}
 
- 				}
 
- 			}
 
- 			if($y['library'] == 3)
 
- 			{
 
- 				echo json_encode(array('msg'=>'此数据 '.date('Y-m-d H:i:s',$y['retreattime']).' 已操作','success'=>false));exit;
 
- 			}
 
- 			if($y['library'] == 1)
 
- 			{
 
- 				echo json_encode(array('msg'=>'此数据未出库','success'=>false));exit;
 
- 			}
 
- 			if($y['type'] == 5)
 
- 			{
 
- 				$ckcg = 0;$save = array();
 
- 				$pp = explode('|',trim($y['whlabel'],'|'));
 
- 				foreach ($pp as $va)
 
- 		        {
 
- 					$uid = array();//储存可用出库产品的ID
 
- 					$num = explode('-',$va);
 
- 					$whlabel = $this->whlabel->find_all("state = 1 and number = '$num[0]' and warehouse = '".$y['type']."' and orderinfo = '".$y['orderinfo']."' and waybill = '".$y['waybill']."'");
 
- 					if(!$whlabel || count($whlabel) != $num[1])
 
- 				    {
 
- 					    $ckcg++;
 
- 				    }
 
- 					else
 
- 					{
 
- 						for($i=0;$i<$num[1];$i++)
 
- 						{
 
- 							$uid[] = $whlabel[$i]['id'];
 
- 						}
 
- 						$save[] = $uid;
 
- 					}
 
- 				}
 
- 				if($ckcg > 0)
 
- 				{
 
- 					echo json_encode(array('msg'=>'有产品无出库信息','success'=>false));exit;
 
- 				}
 
- 				else
 
- 				{
 
- 					foreach ($save as $vb)
 
- 		            {
 
- 						foreach ($vb as $vc)
 
- 		                {
 
- 					        $this->whlabel->save(array('state'=>2,'retreat'=>$time,'time'=>$time),$vc);
 
- 						}
 
- 					}
 
- 				}
 
- 			}
 
- 			if($this->$fullorder_name->save(array('library'=>3,'retreattime'=>$time),$y['id']))
 
-         	{
 
-          		echo json_encode(array('success'=>true));exit;
 
-        	 	}
 
-        		else
 
-         	{
 
-            		echo json_encode(array('msg'=>'退库失败,请重试','success'=>false));exit;
 
-         	}
 
- 		}
 
- 		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);
 
- 			$waybill = $this->input->post('waybill',true);
 
- 			$express = $this->input->post('express',true);
 
- 			$type = $this->input->post('type',true);
 
- 			$lowe = $this->input->post('lowe',true);
 
- 			$timetk = strtotime($timetk);
 
- 			$timetj = strtotime($timetj);
 
- 			$where = "library=3 and gtime > 20190127";
 
- 			if($timetk && $timetj)
 
-             {
 
-                 $where  .= " and retreattime > '$timetk' and retreattime < '$timetj'";
 
-             }
 
- 			if($shop)
 
-             {
 
-                 $where  .= " and shop = '$shop'";
 
-             }
 
- 			if($orderinfo)
 
-             {
 
-                 $where  .= " and orderinfo = '$orderinfo'";
 
-             }
 
- 			if($number)
 
-             {
 
-                 $where  .= " and number = '$number'";
 
-             }
 
- 			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%'";
 
-             }
 
-             //数据排序
 
- 			 $order_str = "retreattime 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,state,retreattime,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'];
 
- 				$typeclass = $this->typeclass->read($value['state']);
 
- 				$info_list[$key]['state'] = $typeclass['spare'];
 
- 				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['retreattime'] == '0')
 
- 				{
 
- 					$info_list[$key]['retreattime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list[$key]['retreattime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['retreattime']).'</em>';
 
- 				}
 
- 				
 
-             }
 
- 			$info_list_smt = $this->fullordersmt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,state,retreattime,shipremarks',$order_str,$start,$perpage);
 
- 			 //格式化数据
 
-             foreach ($info_list_smt as $key=>$value) 
 
- 		    {
 
- 				$shop = $this->shop->read($value['shop']);
 
- 				$info_list_smt[$key]['shop'] = $shop['shopname'];
 
- 				if($value['waybill'] == 0)
 
- 				{
 
- 					$info_list_smt[$key]['waybill'] = "";
 
- 				}
 
- 				$express = $this->express->read($value['express']);
 
- 				$info_list_smt[$key]['express'] = $express['servicename'];
 
- 				$warehouse = $this->warehouse->read($value['type']);
 
- 				$info_list_smt[$key]['type'] = $warehouse['title'];
 
- 				$typeclass = $this->typeclass->read($value['state']);
 
- 				$info_list_smt[$key]['state'] = $typeclass['spare'];
 
- 				if($value['print'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '不可打印';
 
- 				}
 
- 				else if($value['print'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '未打印';
 
- 				}
 
- 				else if($value['print'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '已打印';
 
- 				}
 
- 				if($value['retreattime'] == '0')
 
- 				{
 
- 					$info_list_smt[$key]['retreattime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list_smt[$key]['retreattime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['retreattime']).'</em>';
 
- 				}
 
- 				
 
-             }
 
- 		    $total = $this->fullorder->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_list_smt)));
 
- 		    echo json_encode($rows);exit;
 
- 		}
 
- 		$this->data['express'] = $this->express->find_all();
 
- 		$this->_Template('whlabel_fout',$this->data);
 
- 	}
 
- 	//打印页面
 
- 	public function _print()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		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);
 
- 			$print = $this->input->post('print',true);
 
- 			$express = $this->input->post('express',true);
 
- 			$waybill = $this->input->post('waybill',true);
 
- 			$printtype = $this->input->post('printtype',true);
 
- 			$orderinfo = $this->input->post('orderinfo',true);
 
- 			$number = $this->input->post('number',true);
 
-             $type = $this->input->post('type',true);
 
- 			$lowe = $this->input->post('lowe',true);
 
- 			$timetk = strtotime($timetk);
 
- 			$timetj = strtotime($timetj);
 
- 			$where = "1=1";
 
- 			if($print == 3)
 
-             {
 
-                 $where  .= " and printtime > '$timetk' and printtime < '$timetj' and print = 3";
 
-             }
 
- 			else
 
- 			{
 
- 				$where  .= " and express != 0 and printtype > 0 and printtype < 3 and print = 2 and review > 4 and library = 1 and state = 207";
 
- 			}
 
- 			if($shop)
 
-             {
 
-                 $where  .= " and shop = '$shop'";
 
-             }
 
- 			if($express)
 
-             {
 
- 				$where  .= " and express = '$express'";
 
-             }
 
- 			if($printtype)
 
-             {
 
-                 $where  .= " and printtype = '$printtype'";
 
-             }
 
- 			if($orderinfo)
 
-             {
 
-                 $where  .= " and orderinfo = '$orderinfo'";
 
-             }
 
- 			if($number)
 
-             {
 
-                 $where  .= " and number = '$number'";
 
-             }
 
- 			if($waybill)
 
-             {
 
-                 $where  .= " and waybill = '$waybill'";
 
-             }
 
-             if($type)
 
-             {
 
-                 $where  .= " and type = '$type'";
 
-             }
 
- 			if($lowe)
 
-             {
 
-                 $where  .= " and shipremarks like '%$lowe%'";
 
-             }
 
-             //数据排序
 
-             $order_str = ($print != 3)?"id desc":"printtime desc";
 
-             if(empty($page))
 
- 		    {
 
-                 $start = 0;
 
- 		    	$perpage = 1;
 
-             }
 
- 		    else
 
- 		    {
 
-                 $start = ($page - 1)*$perpage;
 
-             }
 
-             //取得信息列表
 
-             $info_list = $this->fullorder->find_all($where,'id,shop,orderinfo,number,express,waybill,print,printtype,printnumber,printtime,shipremarks',$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']);
 
- 				if($express)
 
- 				{
 
- 				    $info_list[$key]['express'] = $express['servicename'];
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list[$key]['express'] = '未选择';
 
- 				}
 
- 				if($value['printtime'] != 0)
 
- 				{
 
- 				    $info_list[$key]['printtime'] = date('Y-m-d H:i:s',$value['printtime']);
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list[$key]['printtime'] = '无';
 
- 				}
 
- 				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['printtype'] == 1)
 
- 				{
 
- 					$info_list[$key]['printtype'] = "运单";
 
- 				}
 
- 				else if($value['printtype'] == 2)
 
- 				{
 
- 					$info_list[$key]['printtype'] = "发货单";
 
- 				}
 
- 				else if($value['printtype'] == 0)
 
- 				{
 
- 					$info_list[$key]['printtype'] = "未选择";
 
- 				}
 
-             }
 
- 			$info_list_smt = $this->fullordersmt->find_all($where,'id,shop,orderinfo,number,express,waybill,print,printtype,printnumber,printtime,shipremarks',$order_str,$start,$perpage);
 
- 			 //格式化数据
 
-             foreach ($info_list_smt as $key=>$value) 
 
- 		    {
 
- 				$shop = $this->shop->read($value['shop']);
 
- 				$info_list_smt[$key]['shop'] = $shop['shopname'];
 
- 				$express = $this->express->read($value['express']);
 
- 				if($express)
 
- 				{
 
- 				    $info_list_smt[$key]['express'] = $express['servicename'];
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list_smt[$key]['express'] = '未选择';
 
- 				}
 
- 				if($value['printtime'] != 0)
 
- 				{
 
- 				    $info_list_smt[$key]['printtime'] = date('Y-m-d H:i:s',$value['printtime']);
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list_smt[$key]['printtime'] = '无';
 
- 				}
 
- 				if($value['print'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = "禁止打印";
 
- 				}
 
- 				else if($value['print'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = "未打印";
 
- 				}
 
- 				else if($value['print'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = "已打印";
 
- 				}
 
- 				if($value['printtype'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['printtype'] = "运单";
 
- 				}
 
- 				else if($value['printtype'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['printtype'] = "发货单";
 
- 				}
 
- 				else if($value['printtype'] == 0)
 
- 				{
 
- 					$info_list_smt[$key]['printtype'] = "未选择";
 
- 				}
 
-             }
 
- 		    $total = $this->fullorder->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_list_smt)));
 
- 		    echo json_encode($rows);exit;
 
- 		}
 
- 		$this->_Template('whlabel_print',$this->data);
 
- 	}
 
- 	//打印
 
- 	public function _printing()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['s']))  
 
- 		{
 
- 			$v = $this->input->post('s');
 
- 			$va = explode(',',rtrim($v,','));
 
- 			$n = $this->input->post('n');
 
- 			$type = 3;$text = '';$time = time();
 
- 			if($va[$n] < 100000)
 
- 			{
 
- 				$fullorder_name = 'fullordersmt';
 
- 			}
 
- 			else
 
- 			{
 
-                 $fullorder_name = 'fullorder';
 
- 			}
 
- 			$fullorder = $this->$fullorder_name->read($va[$n]);
 
- 			if(isset($va[$n+1]))
 
- 			{
 
- 				$sf = $this->$fullorder_name->read($va[$n+1]);
 
- 			    if($sf['printtype'] == 1 && $fullorder['printtype'] == 2)
 
- 			    {
 
- 				    sleep(9);
 
- 			    }
 
- 			}
 
- 			$fullorder = $this->_text($fullorder);//获取所需信息
 
- 			$fullorder['printtime'] = date('Y-m-d H:i',$time);//打印用时间
 
- 			if($fullorder['printtype'] == 1 && $fullorder['library'] != 2)
 
- 			{
 
- 				if($fullorder['servicecode'] == "DHLGF")//如果打印过那么重新获取运单
 
- 				{
 
- 					sleep(3);
 
- 				    $barcode = $this->dhl->get_data($fullorder);//获取DHL快递信息
 
- 					if(isset($barcode['AirwayBillNumber']))
 
- 					{
 
- 						$bctime = date('Ymd',$time);
 
- 						$Hwaybill = $barcode['AirwayBillNumber'];
 
- 						$Hfp = $this->_pdf($barcode['LabelImage']['MultiLabels']['MultiLabel']['DocImageVal'],'f-'.$Hwaybill,$bctime);
 
- 					    $Hyd = $this->_pdf($barcode['LabelImage']['OutputImage'],'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'];
 
- 							}
 
- 							$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),$va[$n]))
 
- 				   		 	{
 
- 								$type = 1;
 
- 								$text = array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf','data'=>$fullorder);
 
- 							}
 
- 						}
 
- 					}
 
- 					else
 
- 					{
 
- 						$failed = (isset($barcode['Response']['Status']['Condition']['ConditionData'])?$barcode['Response']['Status']['Condition']['ConditionData']:$barcode['Response']['Status']['Condition'][0]['ConditionData']);
 
- 						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);
 
- 					}
 
- 				}
 
- 				else if($fullorder['servicecode'] == "USPS")
 
- 				{
 
- 					sleep(10);
 
- 				    $barcode = $this->usps->get_data($fullorder);//获取DHL快递信息
 
- 					if(isset($barcode['LabelImage']))
 
- 					{
 
- 						$bctime = date('Ymd',$time);
 
- 						$Hwaybill = $barcode['BarcodeNumber'];
 
- 					    $Hyd = $this->_pdf($barcode['LabelImage'],'y-'.$Hwaybill,$bctime);
 
- 						if(isset($barcode['LabelImage']) && isset($Hwaybill))
 
- 						{
 
- 							if($fullorder['waybill'] != "")//如果已有运单号
 
- 							{
 
- 								$oldwaybill = $fullorder['oldwaybill'].'-'.date('Ymd',$time).'/'.$fullorder['waybill'];
 
- 							}
 
- 							else
 
- 							{
 
- 								$oldwaybill = $fullorder['oldwaybill'];
 
- 							}
 
- 							$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),$va[$n]))
 
- 				   		 	{
 
- 								$type = 1;
 
- 								$text = array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf','data'=>$fullorder,'id'=>$fullorder['id'],'pt'=>$fullorder_name);
 
- 							}
 
- 						}
 
- 					}
 
- 					else
 
- 					{
 
- 						$failed = $barcode['Description'];//错误提示
 
- 						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);
 
- 					}
 
- 				}
 
- 				else
 
- 				{
 
- 					$this->$fullorder_name->save(array('print'=>1,'failed'=>'未找到此快递运单接口'),$va[$n]);
 
- 				}
 
- 				$rows = array('type'=>$type,'n'=>$n-1,'data'=>$v,'text'=>$text);
 
- 			    echo json_encode(array('rows'=>($rows),'success'=>true));exit;
 
- 			}
 
- 			else if($fullorder['printtype'] == 2 && $fullorder['library'] != 2)
 
- 			{
 
- sleep(4);
 
- $fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删
 
- 				if($this->$fullorder_name->save(array('libraryconfirm'=>2,'librarynot'=>'','printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'print'=>3),$va[$n]))
 
- 				{
 
- 					$type = 2;
 
- 					$text = array('data'=>$fullorder);
 
- 				}
 
- 				$rows = array('type'=>$type,'n'=>$n-1,'data'=>$v,'text'=>$text);
 
- 			    echo json_encode(array('rows'=>($rows),'success'=>true));exit;
 
- 			}
 
- 			else
 
- 			{
 
- 				$rows = array('type'=>$type,'n'=>$n-1,'data'=>$v,'text'=>$text);
 
- 			    echo json_encode(array('msg'=>'该订单已出库,无法打印!','success'=>false));exit;
 
- 			}
 
- 		}
 
- 	}
 
- 	public function _excel()
 
- 	{
 
- 		if(isset($_GET['fexcel']))  
 
- 		{
 
- 			$dowid = $this->input->get('a');
 
- 			$wid = "";
 
- 			if($dowid != "")
 
- 			{
 
- 				$id_arr =  explode(',',rtrim($dowid,','));
 
- 				foreach ($id_arr as $v) 
 
- 		        {
 
- 					$wid  .= " id = 0 or";
 
-                     $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);
 
- 			$timetk = strtotime($timetk);
 
- 			$timetj = strtotime($timetj);
 
- 			$where = "library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3";
 
- 			if($timetk && $timetj && $library == 2)
 
-             {
 
-                 $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'";
 
-             }
 
-             //数据排序
 
- 			$order_str = ($print != 3)?"id desc":"librarytime desc";
 
-             if(empty($page))
 
- 		    {
 
-                 $start = 0;
 
- 		    	$perpage = 1;
 
-             }
 
- 		    else
 
- 		    {
 
-                 $start = ($page - 1)*$perpage;
 
-             }
 
-             //取得信息列表
 
-             $info_list = $this->fullorder->find_all($where.$wid,'shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$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'] = '<em class="c">未出库</em>';
 
- 				}
 
- 				else if($value['library'] == 2)
 
- 				{
 
- 					$info_list[$key]['library'] = '<em class="c">已出库</em>';
 
- 				}
 
- 				else if($value['library'] == 3)
 
- 				{
 
- 					$info_list[$key]['library'] = '<em class="c">已退库</em>';
 
- 				}
 
- 				if($value['librarytime'] == '0')
 
- 				{
 
- 					$info_list[$key]['librarytime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';
 
- 				}
 
-             }
 
- 			 //取得信息列表
 
-             $info_list_smt = $this->fullordersmt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks',$order_str);
 
- 			 //格式化数据
 
-             foreach ($info_list_smt as $key=>$value) 
 
- 		    {
 
- 				$shop = $this->shop->read($value['shop']);
 
- 				$info_list_smt[$key]['shop'] = $shop['shopname'];
 
- 				if($value['waybill'] == 0)
 
- 				{
 
- 					$info_list_smt[$key]['waybill'] = "";
 
- 				}
 
- 				$express = $this->express->read($value['express']);
 
- 				$info_list_smt[$key]['express'] = $express['servicename'];
 
- 				$warehouse = $this->warehouse->read($value['type']);
 
- 				$info_list_smt[$key]['type'] = $warehouse['title'];
 
- 				if($value['print'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '不可打印';
 
- 				}
 
- 				else if($value['print'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '未打印';
 
- 				}
 
- 				else if($value['print'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['print'] = '已打印';
 
- 				}
 
- 				if($value['library'] == 1)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">未出库</em>';
 
- 				}
 
- 				else if($value['library'] == 2)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">已出库</em>';
 
- 				}
 
- 				else if($value['library'] == 3)
 
- 				{
 
- 					$info_list_smt[$key]['library'] = '<em class="c">已退库</em>';
 
- 				}
 
- 				if($value['librarytime'] == '0')
 
- 				{
 
- 					$info_list_smt[$key]['librarytime'] = '<em class="t"></em>';
 
- 				}
 
- 				else
 
- 				{
 
- 					$info_list_smt[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';
 
- 				}
 
-             }
 
-             $title = '订单出库-'.date('Ymd',time());
 
-             $titlename = "<table border=1>".$t."</table>";
 
- 			$tail = "\n";
 
-             $filename = $title.".xls";
 
-             $this->excel->get_fz2(array_merge($info_list,$info_list_smt),$titlename,$filename,$tail);
 
- 		}
 
- 	}
 
- 	public function _fhd($arg_array)
 
-     {
 
- 		if(isset($arg_array[0]))
 
- 		{
 
- 			$fullorder = $this->fullorder->read($arg_array[0]);
 
- 			$fullorder = $this->_text($fullorder);//获取所需信息
 
- 			$this->data['data'] = $fullorder;
 
- 		    $this->_Template('apt_fhd',$this->data);
 
- 		}
 
- 	}
 
- 	public function _fhdusa($arg_array)
 
-     {
 
- 		if(isset($arg_array[0]))
 
- 		{
 
- 			if($arg_array[0] < 100000)
 
- 			{
 
- 				$fullorder_name = 'fullordersmt';
 
- 			}
 
- 			else
 
- 			{
 
-                 $fullorder_name = 'fullorder';
 
- 			}
 
- 			$fullorder = $this->$fullorder_name->read($arg_array[0]);
 
- 			$fullorder = $this->_text($fullorder);//获取所需信息
 
- 			$fullorder['printtime'] = date('Y-m-d H:i:s',$fullorder['printtime']);
 
- 			$this->data['data'] = $fullorder;
 
- 		    $this->_Template('apt_fhdusa',$this->data);
 
- 		}
 
- 	}
 
- 	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'];//订单国家名
 
- 		$express = $this->express->read($fullorder['express']);
 
- 		$fullorder['express'] = $express['servicename'];
 
- 		$fullorder['account'] = $express['account'];
 
- 		$fullorder['servicecode'] = $express['servicecode'];
 
- 		$fullorder['time'] = date('Y-m-d',time());
 
- 		$fullorder['times'] = date('Y-m-d H:i',time());
 
- 		$fullorder['sbbm']= ($fullorder['sbpm'] == 'Hair Sample') ? 67042000 : 67041100;
 
- 		$fullorder['address'] = str_replace(array('&'),array('&'),$fullorder['address']);
 
- 		$shop = $this->shop->read($fullorder['shop']);
 
- 		$fullorder['shop'] = $shop['shopname'];
 
- 		return $fullorder;
 
-     }
 
- 	public function _shop()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['shop']))  
 
- 		{
 
- 		    $shop = $this->shop->find_all();
 
- 		    echo json_encode(array('msg'=>$shop));exit;
 
- 		}
 
- 	}
 
- 	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 _express()
 
- 	{
 
- 		$post = $this->input->post(NULL, TRUE);
 
- 		if(isset($post['express']))  
 
- 		{
 
- 		    $express = $this->express->find_all();
 
- 		    echo json_encode(array('msg'=>$express));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;
 
-     }
 
- }
 
 
  |