| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629 | <?php defined('BASEPATH') OR exit('No direct script access allowed');header("Access-Control-Allow-Origin: *");class Apt 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_fullorder_smt','fullorder_smt');		$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_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->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 == 'outbound')//打印操作        {             $this->_outbound($arg_array);        }		else if($arg == 'fedex')//联邦打印页面        {             $this->_fedex($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 == 'warehouse')        {             $this->_warehouse();        }		else if($arg == 'express')        {             $this->_express();        }		else if($arg == 'select')        {             $this->_select();        }		else if($arg == 'retreat')        {             $this->_retreat();        }		else if($arg == 'excel')        {             $this->_excel();        }		else if($arg == 'exceldy')        {             $this->_exceldy();        }		else if($arg == 'number')//扫描发货单打印运单        {             $this->_number();        }		else if($arg == 'fedexhz')//扫描发货单打印运单        {             $this->_fedexhz();        }		else if($arg == 'cpexcel')		{			$this->_cpexcel();		}		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'],'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);			$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')//联邦杭州超长运单截取			{				$order = substr($order,22,12);			}			if(!$order)			{				echo json_encode(array('msg'=>'出库信息无能为空!','success'=>false));exit;			}			$fullorder_name = 'fullorder';$outtype = 1;			$y = $this->fullorder->get_waybill($order);			if(!$y)			{				$y = $this->fullorder->get_number($order);				$outtype = 2;				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)						{							echo json_encode(array('msg'=>'无此数据','success'=>false));exit;							/**							$fullorder_name = 'fullorder_smt';							$y = $this->fullorder_smt->get_waybill($order);							if(!$y)				    		{								$y = $this->fullorder_smt->get_number($order);								if(!$y)				        		{									echo json_encode(array('msg'=>'无此数据','success'=>false));exit;								}							}							**/						}											}				}			}			if($y['mergeid'] == '1')			{				$y = $this->$fullorder_name->read($y['merge']);			}			$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['express'] == '9999999')//if($y['express'] == '24' || $y['express'] == '3')			{				$numweight = str_replace('kg','',$weight);				if($weight == '' || $numweight < '0.1')				{					echo json_encode(array('msg'=>'此单需要称重!','success'=>false));exit;				}			}			if(((time() - $y['printtime']) > (15*24*3600) || $y['printtime'] < 1590211800) && $y['express'] == '24')			{				echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit;			}			if((time() - $y['printtime']) > (3*24*3600) && $y['express'] == '3')			{				echo json_encode(array('yd'=>1,'id'=>$y['id'],'express'=>$y['express'],'name'=>$fullorder_name,'success'=>true));exit;			}			$warehouse = $this->warehouse->read($y['type']);			if($warehouse['zd'] == '1')			{				$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) < 1 && $warehouse['ys'] != 1)//以后吧 && $warehouse['ys'] != 1去掉 前期防止没占用的不能出				{					echo json_encode(array('msg'=>'此订单未占用库存','success'=>false));exit;				}				else if(count($whlabel) != $cpsl && $warehouse['ys'] != 1)//以后吧 && $warehouse['ys'] != 1去掉 前期防止没占用的不能出				{					echo json_encode(array('msg'=>'库存占用量与实际出库量不符','success'=>false));exit;				}				else				{					foreach ($whlabel as $v)		            {						$this->whlabel->save(array('state'=>1,'orderinfo'=>$y['orderinfo'],'waybill'=>$y['waybill'],'outk'=>$time,'time'=>$time),$v['id']);					}				}				/**				$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) >= $num[1])//如果专用的条数小于需求,但专用的条数+通用的条数大于等于需求,判断为可用,有限扣减专用数						{							for($x=0;$x<$num[1];$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($fullorder_name == 'fullordersmt')			{				$stt = ($y['waybill']!='')?209:$y['state'];			    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($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;        	    }			}		}		if(isset($post['page']))  		{			$api = $this->input->post('api',true);			if(isset($api))			{				$user = $this->user->get_api($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";				}			}		    $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']) || $api)?"library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3 and (".rtrim($wtype,'or').")":"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%'";            }			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,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->fullorder_smt->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>';				}            }			$info_listsmt = $this->fullordersmt->find_all($where,'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'] = '<em class="c">未出库</em>';				}				else if($value['library'] == 2)				{					$info_listsmt[$key]['library'] = '<em class="c">已出库</em>';				}				else if($value['library'] == 3)				{					$info_listsmt[$key]['library'] = '<em class="c">已退库</em>';				}				if($value['librarytime'] == '0')				{					$info_listsmt[$key]['librarytime'] = '<em class="t"></em>';				}				else				{					$info_listsmt[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';				}            }		    $total = $this->fullorder->find_count($where);			$total += $this->fullorder_smt->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,$info_listsmt)));		    echo json_encode($rows);exit;		}		$this->data['express'] = $this->express->find_all();		$this->_Template('apt_out',$this->data);	}	//退库	public function _retreat()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['order']))  		{			$time = time();			$order = $this->input->post('order',true);			if(substr($order,0,3) == '788' && substr($order,-4,4) == '0430')//Fedex联邦			{				$order = substr($order,0,12);			}			$y = $this->fullorder->get_waybill($order);			$fullorder_name = 'fullorder';			if(!$y)			{				$y = $this->fullorder->get_number($order);				if(!$y)				{					$fullorder_name = 'fullorder_smt';					$y = $this->fullorder_smt->get_waybill($order);					if(!$y)				    {						$y = $this->fullorder_smt->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;			}			$warehouse = $this->warehouse->read($y['type']);			if($warehouse['zd'] == '1')			{				$wl = $this->whlabel->find_all("zd = '".$y['number']."'");//查找是否有占用库存情况				if($wl)//如果有那么清除所有占用				{					$i = 0;					foreach ($wl as $v)			    	{						$this->whlabel->save(array('state'=>0,'retreat'=>$time,'time'=>$time),$v['id']);//专属						$i++;					}					if($i != count($wl))					{						echo json_encode(array('msg'=>"退库错误,请重试",'success'=>false));exit;					}				}				/**				$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'=>0,'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']))  		{			$api = $this->input->post('api',true);			if(isset($api))			{				$user = $this->user->get_api($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";				}			}		    $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 = (isset($_SESSION['api']) || $api)?"library=3 and gtime > 20190127 and (".rtrim($wtype,'or').")":"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->fullorder_smt->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>';				}				            }			$info_listsmt = $this->fullordersmt->find_all($where,'id,shop,type,orderinfo,number,waybill,express,print,state,retreattime,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'];				$typeclass = $this->typeclass->read($value['state']);				$info_listsmt[$key]['state'] = $typeclass['spare'];				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['retreattime'] == '0')				{					$info_listsmt[$key]['retreattime'] = '<em class="t"></em>';				}				else				{					$info_listsmt[$key]['retreattime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['retreattime']).'</em>';				}				            }		    $total = $this->fullorder->find_count($where);			$total += $this->fullorder_smt->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,$info_listsmt)));		    echo json_encode($rows);exit;		}		$this->data['express'] = $this->express->find_all();		$this->_Template('apt_retreat',$this->data);	}	//打印页面	public function _print()	{		$post = $this->input->post(NULL, TRUE);		if(isset($_SESSION['api']))		{			$user = $this->user->get_api($_SESSION['api']);			$usp = $user;		    $fgshop = "";$sid = "";$wid="";		    $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";			}		}		if(isset($post['page']))  		{			$api = $this->input->post('api',true);		    $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);			$info = $this->input->post('info',true);			$ji = $this->input->post('ji',true);			$so = $this->input->post('so',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			if(isset($api))			{				$user = $this->user->get_api($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";				}			}			$where = (isset($_SESSION['api']) || $api)?"mergeid != '1' and (".rtrim($fgshop,'or').") and (".rtrim($wtype,'or').")":"mergeid != '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 fpdata like '%-$lowe-%'";            }			if($ji)            {                $where  .= " and shipremarks like '%急%'";            }			if($so)            {                $where  .= " and shipremarks like '%$so%'";            }            //数据排序            $order_str = ($print != 3)?"id desc":"printtime desc";            if(empty($page))		    {                $start = 0;		    	$perpage = 1;            }		    else		    {                $start = ($page - 1)*$perpage;            }			$info_list = array();			$info_listsmt = array();			$dlz = 0; $smt = 0;			if($info != 'fullordersmt')			{            //取得信息列表            $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) 		    {				$info_list[$key]['id'] = $value['id'].'-fullorder';				$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'] = "未选择";				}            }			    $dlz = $this->fullorder->find_count($where);			}			/**			$info_list_smt = $this->fullorder_smt->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) 		    {				$info_list_smt[$key]['id'] = $value['id'].'-fullorder_smt';				$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'] = "未选择";				}            }			**/			if($info != 'fullorder')			{			$info_listsmt = $this->fullordersmt->find_all($where,'id,shop,orderinfo,number,express,waybill,print,printtype,printnumber,printtime,shipremarks',$order_str,$start,$perpage);			 //格式化数据            foreach ($info_listsmt as $key=>$value) 		    {				$info_listsmt[$key]['id'] = $value['id'].'-fullordersmt';				$shop = $this->shop->read($value['shop']);				$info_listsmt[$key]['shop'] = $shop['shopname'];				$express = $this->express->read($value['express']);				if($express)				{				    $info_listsmt[$key]['express'] = $express['servicename'];				}				else				{					$info_listsmt[$key]['express'] = '未选择';				}				if($value['printtime'] != 0)				{				    $info_listsmt[$key]['printtime'] = date('Y-m-d H:i:s',$value['printtime']);				}				else				{					$info_listsmt[$key]['printtime'] = '无';				}				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['printtype'] == 1)				{					$info_listsmt[$key]['printtype'] = "运单";				}				else if($value['printtype'] == 2)				{					$info_listsmt[$key]['printtype'] = "发货单";				}				else if($value['printtype'] == 0)				{					$info_listsmt[$key]['printtype'] = "未选择";				}            }			    $smt += $this->fullordersmt->find_count($where);			}			//$total += $this->fullorder_smt->find_count($where);			$total = $dlz+$smt;			$rows = array_merge($info_list,$info_listsmt);			//$rows = array_slice($rows,$start,$perpage);		    $pagenum = ceil($total/$perpage);		    $over = $total-($start+$perpage);		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($rows));//array_merge($info_list,$info_list_smt,$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'));		    $this->data['wlshop'] = $wlshop;		    $this->data['warehouse'] = $warehouse;		}		$this->_Template('apt_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 = array();$text['data'] = array();$time = time();			$pd = explode('-',$va[$n]);			$va[$n] = $pd[0];			$fullorder_name = $pd[1];			$fullorder = $this->$fullorder_name->read($va[$n]);			if(isset($va[$n+1]))			{				$xyz = explode('-',$va[$n+1]);				$sf = $this->$fullorder_name->read($xyz[0]);			    if($sf['printtype'] == 1 && $fullorder['printtype'] == 2)			    {				    sleep(15);			    }			}			$fullorder = $this->_text($fullorder);//获取所需信息			$oldprinttime = ($fullorder['printtime'] > 0)?$fullorder['oldprinttime'].$fullorder['printtime'].'-':'';			$fullorder['printtime'] = date('m-d H:i',$time);//打印用时间、发货单用,不能删			if($fullorder['printtype'] == 1 && $fullorder['library'] != 2)// && $fullorder['library'] != 2			{				if($fullorder['printcode'] == "DHL")//如果打印过那么重新获取运单				{					sleep(12);				    $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'];							}							$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);							}						}					}					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['printcode'] == "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'];							}							$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					{						$failed = $barcode['Description'];//错误提示						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);					}				}				else if($fullorder['printcode'] == "FEDEXGF")//官方FEDEX接口				{					sleep(10);				    $barcode = $this->fedex->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,不需要打印						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					{						$failed = $barcode['Description'];//错误提示						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);					}				}				else if($fullorder['printcode'] == "FEDEXCBY")//官方FEDEX接口许昌玉美桥				{					sleep(10);				    $barcode = $this->fedex_cby->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,不需要打印						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					{						$failed = $barcode['Description'];//错误提示						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);					}				}				/** DPD只获取运单号不打印运单 **/				else if($fullorder['printcode'] == "DPD")				{					sleep(15);//不打印运单 4秒延时					if($fullorder['zhou'] == '12')//欧洲					{						if($fullorder_name == 'fullordersmt')//速卖通9610						{							$fullorder['ysfs'] == '1921';						}						else if($fullorder_name == 'fullorder')//独立站9610						{							$fullorder['ysfs'] == '2021';						}					}					else if($fullorder['zhou'] == '13')//非洲					{						$fullorder['ysfs'] == '1881';					}					//$fullorder['ysfs'] == '2041';//欧洲全程不包双清、税					//$fullorder['ysfs'] == '1981';//欧洲速卖通非9610					//$fullorder['ysfs'] == '2001';//欧洲独立站非9610				    $barcode = $this->dpd->get_data($fullorder);//获取信息					if($barcode['x'] == 1)//$barcode['a'] == 2 && $Hyd['a'] == 2					{						$bctime = date('Ymd',$time);						$Hwaybill = $barcode['waybill'];//运单号						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 = 2;							$text = array('data'=>$fullorder);						}					}					else					{						$failed = $barcode['Description'];						$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$va[$n]);					}				}				/** 阿里仓联邦不打印运单模式				else if($fullorder['printcode'] == "FEDEX" || $fullorder['printcode'] == "TOLL" || $fullorder['printcode'] == "ARAMEX")				{					sleep(4);//不打印运单 4秒延时					$lj = $this->ali->get_lj($fullorder['number'],2,'订单修改');				    $barcode = $this->ali->get_data($fullorder);//获取DHL快递信息					//$Hyd = $this->ali->get_label($fullorder['number'],1);//目前不需要打印标签					//1:10 X 10标签 2:A4纸 3:10X15标签 默认1					if($barcode['a'] == 2)//$barcode['a'] == 2 && $Hyd['a'] == 2					{						$bctime = date('Ymd',$time);						$Hwaybill = $barcode['number'];//运单号						//$this->_pdfurl($Hyd['pdf'],'y-'.$Hwaybill,$bctime);//目前不需要打印标签						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 = 2;							$text = array('data'=>$fullorder);						}					}					else					{						$failed = $barcode['m'];						//$failed = isset($barcode['m'])?$barcode['m']:'-(此单已预报,务必先取消再允许打印)';//获取运单号错误提示						//$failed .= isset($Hyd['m'])?$Hyd['m']:'';//获取标签错误提示						if($fullorder['print'] == 3)						{							$this->$fullorder_name->save(array('libraryconfirm'=>1,'failed'=>date('Y-m-d H:i:s',time()).$failed),$va[$n]);						}						else						{						    $this->$fullorder_name->save(array('print'=>1,'failed'=>date('Y-m-d H:i:s',time()).$failed),$va[$n]);						}					}				}				**/				else if($fullorder['printcode'] == "FEDEX" || $fullorder['printcode'] == "TOLL" || $fullorder['printcode'] == "ARAMEX")				{					sleep(13);//不打印运单 4秒延时					$lj = $this->ali->get_lj($fullorder['number'],2,'订单修改');				    $barcode = $this->ali->get_data($fullorder);//获取快递信息					$Hyd = $this->ali->get_label($fullorder['number'],1);//目前不需要打印标签					//1:10 X 10标签 2:A4纸 3:10X15标签 默认1					if($barcode['a'] == 2 && $Hyd['a'] == 2)					{						$bctime = date('Ymd',$time);						$Hwaybill = $barcode['number'];//运单号						$this->_pdfurl($Hyd['pdf'],'y-'.$Hwaybill,$bctime);//上传PDF						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					{						//$failed = $barcode['m'];						$failed = isset($barcode['m'])?$barcode['m']:'-(此单已预报,务必先取消再允许打印)';//获取运单号错误提示						$failed .= isset($Hyd['m'])?$Hyd['m']:'';//获取标签错误提示						if($fullorder['print'] == 3)						{							$this->$fullorder_name->save(array('libraryconfirm'=>1,'failed'=>date('Y-m-d H:i:s',time()).$failed),$va[$n]);						}						else						{						    $this->$fullorder_name->save(array('print'=>1,'failed'=>date('Y-m-d H:i:s',time()).$failed),$va[$n]);						}					}				}				else if($fullorder['printcode'] == "UPS")//接口				{					sleep(25);				    $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					{						$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]);				}				if($fullorder_name == 'fullordersmt' || $fullorder_name == 'fullorder_smt')				{					$text['data']['dplx'] = '速卖通';				}				else				{					$text['data']['dplx']= '独立站';				}				$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(15);$fullorder['printnumber'] = $fullorder['printnumber'] +1;//不能删				if($this->$fullorder_name->save(array('libraryconfirm'=>2,'librarynot'=>'','printtime'=>$time,'printnumber'=>$fullorder['printnumber'],'print'=>3,'oldprinttime'=>$oldprinttime),$va[$n]))				{					$type = 2;					$text = array('data'=>$fullorder);				}				if($fullorder_name == 'fullordersmt' || $fullorder_name == 'fullorder_smt')				{					$text['data']['dplx']= '速卖通';				}				else				{					$text['data']['dplx']= '独立站';				}				$rows = array('type'=>$type,'n'=>$n-1,'data'=>$v,'text'=>$text);			    echo json_encode(array('rows'=>($rows),'success'=>true));exit;			}			else			{				if($fullorder_name == 'fullordersmt' || $fullorder_name == 'fullorder_smt')				{					$text['data']['dplx']= '速卖通';				}				else				{					$text['data']['dplx']= '独立站';				}				$rows = array('type'=>$type,'n'=>$n-1,'data'=>$v,'text'=>$text);			    echo json_encode(array('msg'=>'该订单已出库,无法打印!','success'=>false));exit;			}		}	}    public function _outbound()    {		$post = $this->input->post(NULL, TRUE);	    if(isset($post['page']))  		{			$api = $this->input->post('api',true);		    $page = $this->input->post('page',true);		    $perpage = $this->input->post('perpage',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);			$timetk = $this->input->post('timetk',true);			$timetj = $this->input->post('timetj',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			$where = "type != 0";			if(isset($api))			{				if($type)            	{                	$where  .= " and type = '$type'";           		}				else				{					$uw = '';				    $u = $this->user->get_api($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;				}			}			if($timetk && $timetj)            {                $where  .= " and time > '$timetk' and time < '$timetj'";            }			if($number)            {                $where  .= " and number = '$number'";            }			if($waybill)            {                $where  .= " and waybill = '$waybill'";            }			if($express)            {				$where  .= " and express = '$express'";            }            //数据排序            $order_str = "id desc";            if(empty($page))		    {                $start = 0;		    	$perpage = 1;            }		    else		    {                $start = ($page - 1)*$perpage;            }            //取得信息列表            $info_list = $this->outbound->find_all($where,'id,type,express,number,waybill,time',$order_str,$start,$perpage);			 //格式化数据            foreach ($info_list as $key=>$value)		    {				if($value['waybill'] == '0')				{					$info_list[$key]['waybill'] = "无";				}				if($value['express'] == '0')				{					$info_list[$key]['express'] = "无";				}				else				{				    $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]['time'] = '<em class="t">'.date('Y-m-d H:i:s',$value['time']).'</em>';            }			$ex = array();			$ed = $this->outbound->find_all($where,'express');			foreach ($ed as $key=>$value)		    {				if(isset($ex[$value['express']]))				{				    $ex[$value['express']] += 1;				}				else				{					$ex[$value['express']] = 1;				}			}			$exdata = '';			foreach ($ex as $k=>$v)		    {				$e = $this->express->read($k);				$exdata .= "<li>".$e['servicename'].":".$v."单</li>";			}			$datacount = $this->outbound->find_count("gtime = '".date('Ymd',time())."'");		    $total = $this->outbound->find_count($where);		    $pagenum = ceil($total/$perpage);		    $over = $total-($start+$perpage);			$adm = ($api == '21a6d1cfb3cc66471680bd61ae94e8fa7af75bfb')?1:2;		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list),'datacount'=>$datacount,'adm'=>$adm,'exdata'=>$exdata);		    echo json_encode($rows);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');			}			$id = $this->input->get('id',true);		    $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 = "library!=3 and libraryconfirm=2 and mergeid = 0 and print = 3";			if($timetk && $timetj && $library == 2)            {                $where  .= " and librarytime > '$timetk' and librarytime < '$timetj'";            }			else			{				$where  .= " and printtime > '$timetk' and printtime < '$timetj'";			}			if($id)            {				if($type)            	{                	$where  .= " and type = '$type'";           		}				else				{					$uw = '';				    $u = $this->user->get_api($id);				    $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";            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,ts',$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_listsmt = $this->fullordersmt->find_all($where.$wid,'shop,type,orderinfo,number,waybill,express,print,library,librarytime,shipremarks,ts',$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'] = '<em class="c">未出库</em>';				}				else if($value['library'] == 2)				{					$info_listsmt[$key]['library'] = '<em class="c">已出库</em>';				}				else if($value['library'] == 3)				{					$info_listsmt[$key]['library'] = '<em class="c">已退库</em>';				}				if($value['librarytime'] == '0')				{					$info_listsmt[$key]['librarytime'] = '<em class="t"></em>';				}				else				{					$info_listsmt[$key]['librarytime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['librarytime']).'</em>';				}            }			 //取得信息列表            $info_list_smt = $this->fullorder_smt->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."<td>条数</td></table>";			$tail = "\n";            $filename = $title.".xls";            $this->excel->get_fz2(array_merge($info_list,$info_list_smt,$info_listsmt),$titlename,$filename,$tail);		}	}		public function _cpexcel()	{		if(isset($_GET['excel']))  		{			$id = $this->input->get('id',true);			$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);			$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($id)            {				if($type)            	{                	$where  .= " and type = '$type'";           		}				else				{					$uw = '';				    $u = $this->user->get_api($id);				    $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;				}            }			if($shop)            {                $where  .= " and shop = '$shop'";            }			if($library)            {				$where  .= " and library = '$library'";            }			if($number)            {                $where  .= " and number = '$number'";            }			if($orderinfo)            {                $where  .= " and orderinfo = '$orderinfo'";            }			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]];						$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 = "<table border=1>            <tr>            <td>尺寸</td>			<td>等级</td>			<td>颜色</td>			<td>花型</td>			<td>数量</td>            </tr>            </table>";             $filename = $title.".xls"; 			$tail = "\n";             $this->excel->get_fz2($cpexcel,$titlename,$filename,$tail);	    }	}		public function _exceldy()	{		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');			}			$id = $this->input->get('id',true);		    $t = $this->input->get('t',true);			$print = $this->input->get('print',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);			$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 = "mergeid = 0";			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($id)            {				if($type)            	{                	$where  .= " and type = '$type'";           		}				else				{					$uw = '';				    $u = $this->user->get_api($id);				    $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($print)            {                $where  .= " and print = '$print'";            }			if($shop)            {                $where  .= " and shop = '$shop'";            }			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($so)            {                $where  .= " and shipremarks like '%$so%'";            }            //数据排序			$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.$wid,'type,shop,orderinfo,number,express,waybill,print,printtype,printnumber,printtime,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['printtype'] == 1)				{					$info_list[$key]['printtype'] = '运单';				}				else if($value['printtype'] == 2)				{					$info_list[$key]['printtype'] = '发货单';				}				if($value['printtime'] == '0')				{					$info_list[$key]['printtime'] = '<em class="t"></em>';				}				else				{					$info_list[$key]['printtime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['printtime']).'</em>';				}            }			//取得信息列表            $info_listsmt = $this->fullordersmt->find_all($where.$wid,'type,shop,orderinfo,number,express,waybill,print,printtype,printnumber,printtime,shipremarks',$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['printtype'] == 1)				{					$info_listsmt[$key]['printtype'] = '运单';				}				else if($value['printtype'] == 2)				{					$info_listsmt[$key]['printtype'] = '发货单';				}				if($value['printtime'] == '0')				{					$info_listsmt[$key]['printtime'] = '<em class="t"></em>';				}				else				{					$info_listsmt[$key]['printtime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['printtime']).'</em>';				}            }            $title = '订单打印-'.date('Ymd',time());            $titlename = "<table border=1><td>仓库</td>".$t."</table>";			$tail = "\n";            $filename = $title.".xls";            $this->excel->get_fz2(array_merge($info_list,$info_listsmt),$titlename,$filename,$tail);		}	}		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);//获取联邦快递信息			    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,不需要打印				    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']);						    echo json_encode(array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf','printer3'=>$warehouse['printer3'],'printer4'=>$warehouse['printer4'],'success'=>true));exit;					    }					    else					    {						    echo json_encode(array('msg'=>'打印错误,请联系店员','cw'=>'写入数据库错误','success'=>false));exit;					    }				    }			    }			    else			    {				    echo json_encode(array('msg'=>'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit;			    }			}			else if($express['printcode'] == "UPSXXXXXXXXX")//接口UPS暂时不打			{				$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'=>'打印错误,请联系店员','cw'=>$barcode['Description'],'success'=>false));exit;				}			}			else			{				echo json_encode(array('msg'=>'打印错误,请联系店员','success'=>false));exit;			}		}	}	//扫描发货单出运单开始	public function _number()    {		$post = $this->input->post(NULL, TRUE);		if(isset($post['order']))  		{			$order = $this->input->post('order',true);			$fullorder_name = 'fullorder';			$y = $this->fullorder->get_number($order);			if(!$y)			{				$fullorder_name = 'fullordersmt';				$y = $this->fullordersmt->get_number($order);				if(!$y)				{					echo json_encode(array('msg'=>'无此发货单数据!','success'=>false));exit;						}			}			if($y['express'] != '24')			{				echo json_encode(array('msg'=>'物流方式不正确!','success'=>false));exit;					}	        $data = $this->get_fedex_hz_number($y,$fullorder_name);			$warehouse = $this->warehouse->read($y['type']);			if(isset($data['yd']))			{				echo json_encode(array('numberyd'=>$data['yd'],'printer1'=>$warehouse['printer1'],'success'=>true));exit;			}			else			{				echo json_encode(array('msg'=>$data,'cw'=>$data,'success'=>false));exit;			}		}	}	public function get_fedex_hz_number($fullorder,$fullorder_name)    {		$time = time();		$fullorder = $this->_text($fullorder);//获取所需信息		$oldprinttime = ($fullorder['printtime'] > 0)?$fullorder['oldprinttime'].$fullorder['printtime'].'-':'';		$fullorder['printtime'] = date('m-d H:i',$time);//打印用时间、发货单用,不能删		$time = time();		$barcode = $this->fedex->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,不需要打印			if(isset($barcode['label']) && isset($Hwaybill))			{				$oldwaybill = $fullorder['oldwaybill'].'-'.$bctime.'/'.$Hwaybill;				if($this->$fullorder_name->save(array('print'=>3,'waybill'=>$Hwaybill,'oldwaybill'=>$oldwaybill),$fullorder['id']))				{					return array('yd'=>'data/pdf/'.$bctime.'/y-'.$Hwaybill.'.pdf');				}			}		}		else		{			$failed = $barcode['Description'];//错误提示			$this->$fullorder_name->save(array('print'=>1,'failed'=>$failed),$fullorder['id']);			return '订单存在错误,已移交店员处理中';		}	}	//扫描发货单出运单结束	public function _fhd($arg_array)    {		if(isset($arg_array[1]))		{			$fu = ($arg_array[0] == 'dlz')?'fullorder':'fullordersmt';			$a = $this->$fu->find_all("waybill = '$arg_array[1]'");			$fullorder = $this->$fu->read($a[0]['id']);			$fullorder = $this->_text($fullorder);//获取所需信息			$this->data['data'] = $fullorder;			$this->data['fu'] = $fu;		    $this->_Template('apt_fhd',$this->data);		}	}	public function _fedex($arg_array)    {		if(isset($arg_array[0]))		{			$this->data['data'] = array($arg_array[0],$arg_array[1]);		    $this->_Template('apt_fedex',$this->data);		}	}	public function _fhdusa($arg_array)    {		if(isset($arg_array[0]))		{			$fullorder_name = $arg_array[1];			$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'];//订单国家名		$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;		$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 _select()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['warehouse']))  		{			$warehouse = $this->input->post('warehouse',true);			$user = $this->user->get_api($warehouse);			//店铺			$spid = '';			$user['shop'] = explode('|',trim($user['shop'],'|'));			foreach ($user['shop'] as $v) 		    {				$spid  .= " id = '$v' or";            }			$spid = rtrim($spid,'or');			$spid = ltrim($spid,' ');			$shop = $this->shop->find_all($spid);			//花型			$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');			//仓库			$warehouse = array();			$user['warehouse'] = explode('|',trim($user['warehouse'],'|'));			$user['warehousetext'] = explode('|',trim($user['warehousetext'],'|'));			for($i=0;$i<count($user['warehouse']);$i++)			{				$warehouse[] = array('id'=>$user['warehouse'][$i],'title'=>$user['warehousetext'][$i]);			}			$type = $warehouse;			//快递			$express = $this->express->find_all('1=1','*','idsort desc');			echo json_encode(array('shop'=>$shop,'lowe'=>$lowe,'type'=>$warehouse,'express'=>$express,'success'=>true));exit;		}	}		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 _warehouse()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['warehouse']))  		{			$warehouse = $this->input->post('warehouse',true);		    $user = $this->user->get_api($warehouse);			$warehouse = array();			$user['warehouse'] = explode('|',trim($user['warehouse'],'|'));			$user['warehousetext'] = explode('|',trim($user['warehousetext'],'|'));			for($i=0;$i<count($user['warehouse']);$i++)		    {				$warehouse[] = array('id'=>$user['warehouse'][$i],'title'=>$user['warehousetext'][$i]);			}		    echo json_encode(array('msg'=>$warehouse));exit;		}	}	public function _express()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['express']))  		{		    $express = $this->express->find_all('1=1','*','idsort desc');		    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;    }	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 _img($pdf,$title,$bctime)    {    	$pdf_path = './data/img/'.$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.'.png',$file_base64);		return $bctime;    }}
 |