| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545 | <?php defined('BASEPATH') OR exit('No direct script access allowed');header("Access-Control-Allow-Origin: *");class Systembox extends Start_Controller {	public function __construct(){		parent::__construct();		$this->load->library('session');		$this->load->_model('Model_systembox','systembox');		$this->load->_model('Model_systemboxclassid','systemboxclassid');		$this->load->_model('Model_excel','excel');		$this->load->_model('Model_express','express');		$this->load->_model('Model_shop','shop');		$this->load->_model('Model_warehouse','warehouse');		$this->load->_model('Model_fullorder','fullorder');		$this->load->_model('Model_fullordertt','fullordertt');		$this->load->_model('Model_fullordersmt','fullordersmt');	}	//定义方法的调用规则 获取URI第二段值    public function _remap($arg,$arg_array)    {		if($arg == 'data')        {             $this->_data();        }		else if($arg == 'out')        {             $this->_out();        }		else if($arg == 'del')        {             $this->_del();        }		else if($arg == 'add')        {             $this->_add();        }		else if($arg == 'excel')        {             $this->_excel();        }		else if($arg == 'sh')        {             $this->_sh();        }		else if($arg == 'classid')        {             $this->_classid();        }		else if($arg == 'rk')        {             $this->_rk();        }		else		{			 $this->_index();		}    }		public function _index()	{		if(isset($_SESSION['api']))		{			$user = $this->user->get_api($_SESSION['api']);			$usp = $user;		    $fgshop = "";$sid = "";$wid="";$wtype="";		    $usersp = explode('|',trim($user['shop'],'|'));			$userwh = explode('|',trim($user['warehouse'],'|'));			foreach ($usersp as $value) 		    {				$fgshop .= " shop = ".$value." or";				$sid .= " id = ".$value." or";			}			foreach ($userwh as $value) 		    {				$wid .= " id = ".$value." or";				$wtype .= " type = ".$value." or";			}		}		if(isset($_SESSION['api']))		{			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");		    $this->data['warehouse'] = $warehouse;			$this->data['vip'] = $user['vip'];		}		$systemboxclassid = $this->systemboxclassid->find_all('1=1','*','id desc','0','20');		$this->data['systemboxclassid'] = $systemboxclassid;		$this->data['time'] = date('YmdHis',time());		$this->_Template('systembox',$this->data);	}	public function _sh()	{		if(isset($_SESSION['api']))		{			$user = $this->user->get_api($_SESSION['api']);			$usp = $user;		    $fgshop = "";$sid = "";$wid="";$wtype="";		    $usersp = explode('|',trim($user['shop'],'|'));			$userwh = explode('|',trim($user['warehouse'],'|'));			foreach ($usersp as $value) 		    {				$fgshop .= " shop = ".$value." or";				$sid .= " id = ".$value." or";			}			foreach ($userwh as $value) 		    {				$wid .= " id = ".$value." or";				$wtype .= " type = ".$value." or";			}		}		if(isset($_SESSION['api']))		{			$warehouse = $this->warehouse->find_all('1=1 and '.rtrim($wid,'or'),"*","px asc");		    $this->data['warehouse'] = $warehouse;			$this->data['vip'] = $user['vip'];		}		$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);			$warehouse = $this->input->post('warehouse',true);			$zt = $this->input->post('zt',true);			$systemboxclassid = $this->input->post('classid',true);			$timetk = $this->input->post('timetk',true);			$timetj = $this->input->post('timetj',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			$where = "1 = 1";			if($timetk && $timetj)            {                $where  .= " and time > '$timetk' and time < '$timetj'";            }			if($number)            {                $where  .= " and number = '$number'";            }			/**			if($warehouse)            {				$where  .= " and warehouse = '$warehouse'";            }			**/			if($zt == '0')            {				$where  .= " and shtime = '$zt'";            }			if($zt == '1')            {				$where  .= " and shtime != '0'";            }			if($systemboxclassid)            {				$where  .= " and systemboxclassid = '$systemboxclassid'";            }            //数据排序            $order_str = "id desc";            if(empty($page))		    {                $start = 0;		    	$perpage = 1;            }		    else		    {                $start = ($page - 1)*$perpage;            }            //取得信息列表            $info_list = $this->systembox->find_all($where,'id,warehouse,systemboxclassid,number,time,shwarehouse,shtime',$order_str,$start,$perpage);			 //格式化数据            foreach ($info_list as $key=>$value)		    {				$warehouse = $this->warehouse->read($value['warehouse']);				$shwarehouse = $this->warehouse->read($value['shwarehouse']);				$info_list[$key]['warehouse'] = $warehouse['title'];				$info_list[$key]['time'] = '<em class="t">'.date('Y-m-d H:i:s',$value['time']).'</em>';				if($value['shtime'] != '0')				{					$info_list[$key]['shwarehouse'] = $shwarehouse['title'];				    $info_list[$key]['shtime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['shtime']).'</em>';				}				else				{					$info_list[$key]['shwarehouse'] = '';				    $info_list[$key]['shtime'] = '';				}            }			$datacount = $this->systembox->find_count($where." and gtime = '".date('Ymd',time())."'");		    $total = $this->systembox->find_count($where);		    $pagenum = ceil($total/$perpage);		    $over = $total-($start+$perpage);			$num = $this->systembox->find_count("systemboxclassid = '$systemboxclassid'");		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list),'num'=>$num);		    echo json_encode($rows);exit;		}		$systemboxclassid = $this->systemboxclassid->find_all('1=1','*','id desc','0','20');		$this->data['systemboxclassid'] = $systemboxclassid;		$this->data['time'] = date('YmdHis',time());		$this->_Template('systembox_sh',$this->data);	}	public function _data()	{		$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);			$warehouse = $this->input->post('warehouse',true);			$zt = $this->input->post('zt',true);			$systemboxclassid = $this->input->post('classid',true);			$timetk = $this->input->post('timetk',true);			$timetj = $this->input->post('timetj',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			$where = "1 = 1";			if($timetk && $timetj)            {                $where  .= " and time > '$timetk' and time < '$timetj'";            }			if($number)            {                $where  .= " and number = '$number'";            }			if($warehouse)            {				$where  .= " and warehouse = '$warehouse'";            }			if($zt == '0')            {				$where  .= " and shtime = '$zt'";            }			if($zt == '1')            {				$where  .= " and shtime != '0'";            }			if($systemboxclassid)            {				$where  .= " and systemboxclassid = '$systemboxclassid'";            }            //数据排序            $order_str = "id desc";            if(empty($page))		    {                $start = 0;		    	$perpage = 1;            }		    else		    {                $start = ($page - 1)*$perpage;            }            //取得信息列表            $info_list = $this->systembox->find_all($where,'id,warehouse,systemboxclassid,number,time,shwarehouse,shtime',$order_str,$start,$perpage);			 //格式化数据            foreach ($info_list as $key=>$value)		    {				$warehouse = $this->warehouse->read($value['warehouse']);				$shwarehouse = $this->warehouse->read($value['shwarehouse']);				$info_list[$key]['warehouse'] = $warehouse['title'];				$info_list[$key]['time'] = '<em class="t">'.date('Y-m-d H:i:s',$value['time']).'</em>';				if($value['shtime'] != '0')				{					$info_list[$key]['shwarehouse'] = $shwarehouse['title'];				    $info_list[$key]['shtime'] = '<em class="t">'.date('Y-m-d H:i:s',$value['shtime']).'</em>';				}				else				{					$info_list[$key]['shwarehouse'] = '';				    $info_list[$key]['shtime'] = '';				}            }			$datacount = $this->systembox->find_count($where." and gtime = '".date('Ymd',time())."'");		    $total = $this->systembox->find_count($where);		    $pagenum = ceil($total/$perpage);		    $over = $total-($start+$perpage);			$num = $this->systembox->find_count("systemboxclassid = '$systemboxclassid'");		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list),'num'=>$num);		    echo json_encode($rows);exit;		}	}		public function _out()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['number']))		{			$time = time();			$where = "gtime = '".date('Ymd',time())."'";			$number = $this->input->post('number',true);			$systemboxclassid = $this->input->post('systemboxclassid',true);			$warehouse = $this->input->post('warehouse',true);			if(!$number)			{				echo json_encode(array('msg'=>'未扫入数据!','success'=>false));exit;			}			if(!$warehouse)			{				echo json_encode(array('msg'=>'请选择需要录入数据的仓库!','success'=>false));exit;			}			$classid = $this->systemboxclassid->get_box($systemboxclassid);			if(!$classid)			{				if(!$this->systemboxclassid->insert(array('box'=>$systemboxclassid,'gtime'=>date('Ymd',$time),'time'=>$time)))				{					echo json_encode(array('msg'=>'数据写入失败,请重试!','success'=>false));exit;				}			}			if($this->systembox->insert(array('warehouse'=>$warehouse,'number'=>$number,'systemboxclassid'=>$systemboxclassid,'gtime'=>date('Ymd',$time),'time'=>$time)))			{				$data = $this->systembox->find_count($where);				echo json_encode(array('msg'=>$data,'music'=>'1','success'=>true));exit;			}			else			{				echo json_encode(array('msg'=>'数据写入失败,请重试!','success'=>false));exit;			}		}	}		public function _rk()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['number']))		{			$time = time();			$number = $this->input->post('number',true);			$systemboxclassid = $this->input->post('systemboxclassid',true);			$warehouse = $this->input->post('warehouse',true);			if(!$number)			{				echo json_encode(array('msg'=>'未扫入数据!','success'=>false));exit;			}			if(!$warehouse)			{				echo json_encode(array('msg'=>'请选择需要录入数据的仓库!','success'=>false));exit;			}			if(!$systemboxclassid)			{				echo json_encode(array('msg'=>'需要先扫描箱号!','success'=>false));exit;			}			$data = $this->systembox->get_data($number,$systemboxclassid);			if(!$data)			{				echo json_encode(array('msg'=>'箱号:'.$systemboxclassid.'中没未找到此产品','success'=>false));exit;			}			if($this->systembox->save(array('shwarehouse'=>$warehouse,'shgtime'=>date('Ymd',$time),'shtime'=>$time),$data['id']))			{				$sl = $this->systembox->find_count("systemboxclassid = '$systemboxclassid' and shtime = '0'");				echo json_encode(array('msg'=>$data,'music'=>'1','sl'=>'箱号'.$systemboxclassid.'未扫码数量:'.$sl,'success'=>true));exit;			}			else			{				echo json_encode(array('msg'=>'数据写入失败,请重试!','success'=>false));exit;			}		}	}		public function _classid()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['systemboxclassid']))		{			$systemboxclassid = $this->input->post('systemboxclassid',true);			$box = $this->systemboxclassid->get_box($systemboxclassid);			if(!$box)			{				echo json_encode(array('msg'=>'箱号错误!','success'=>false));exit;			}			$sl = $this->systembox->find_count("systemboxclassid = '$systemboxclassid' and shtime = '0'");			echo json_encode(array('music'=>'1','sl'=>'箱号'.$systemboxclassid.'未扫码数量:'.$sl,'success'=>true));exit;		}	}		public function _excel()	{		if(isset($_GET['fexcel']))  		{			$classid = $this->input->get('classid',true);			$warehouse = $this->input->get('warehouse',true);			$timetk = $this->input->get('timetk',true);			$timetj = $this->input->get('timetj',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			$where = "1=1";			if($timetk && $timetj)            {                $where  .= " and time > '$timetk' and time < '$timetj'";            }			if($classid)            {                $where  .= " and systemboxclassid = '$classid'";            }			if($warehouse)            {                $where  .= " and warehouse = '$warehouse'";            }			$data = array();			$datafy = array();			$j = '';			$info_list = $this->systembox->find_all($where,'number,warehouse,time,shwarehouse,shtime');			foreach ($info_list as $key=>$value)		    {				$warehouse = $this->warehouse->read($value['warehouse']);				$warehouse = $warehouse['title'];				if($value['shwarehouse'])				{					$shwarehouse = $this->warehouse->read($value['shwarehouse']);				    $shwarehouse = $shwarehouse['title'];				    $j.= "<tr><td align='left'>".$value['number']."</td><td align='left'>".$warehouse."</td><td align='left'>".date('Y-m-d H:i:s',$value['time'])."</td><td align='left'>".$shwarehouse."</td><td align='left'>".date('Y-m-d H:i:s',$value['shtime'])."</td></tr>";				}				else				{					 $j.= "<tr><td align='left'>".$value['number']."</td><td align='left'>".$warehouse."</td><td align='left'>".date('Y-m-d H:i:s',$value['time'])."</td><td align='left'></td><td align='left'></td></tr>";				}			}			$data[] = $datafy;			 //格式化数据			$i = 0;$cpexcel = array();            $title = "箱号".$classid.'统计信息'; $td = '';            $titlename = "<table border=1>            <tr><th colspan='5' align='left'><h3>箱号".$classid.' - 总数量:'.count($info_list)."<h3></th></tr>			<tr><td>编号</td><td>发货仓库</td><td>发货扫码时间</td><td>收货仓库</td><td>收货扫码时间</td></tr>            ".$j."            </table>";             $filename = $title.".xls";            $this->excel->get_fz6($data,$titlename,$filename);	    }	}		public function _add()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['number']))		{			$where = "gtime = '".date('Ymd',time())."'";			$number = $this->input->post('number',true);			$waybill = $this->input->post('waybill',true);			$id = $this->input->post('id',true);			$type = $this->input->post('type',true);			$express = $this->input->post('express',true);			$time = $this->input->post('time',true);			$time = strtotime($time);			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(!$number)			{				echo json_encode(array('msg'=>'编号不能为空!','success'=>false));exit;			}			if(!$waybill)			{				echo json_encode(array('msg'=>'运单号不能为空!','success'=>false));exit;			}			if(!$type)			{				echo json_encode(array('msg'=>'请选择需要录入数据的仓库!','success'=>false));exit;			}			if(!$express)			{				echo json_encode(array('msg'=>'请选择需要录入的快递!','success'=>false));exit;			}			$nu = $this->systembox->get_number($number);			if($nu)			{				echo json_encode(array('msg'=>'错误!此编号'.date('Ymd',$nu['time']).'已录入!','success'=>false));exit;			}			$wa = $this->systembox->get_waybill($waybill);			if($wa)			{				echo json_encode(array('msg'=>'错误!此运单号'.date('Ymd',$wa['time']).'已录入!','success'=>false));exit;			}						$sex = $this->express->read($express);			$ex = array('DHL'=>10,'FEDEX'=>12,'FEDEXGF'=>12,'UPS'=>18,'GES'=>17,'TNT'=>9,'ARAMEX'=>11,'EMS_ZX_ZX_US'=>13);			if(isset($ex[$sex['printcode']]))			{				if(strlen($waybill) != $ex[$sex['printcode']])				{					echo json_encode(array('msg'=>'运单号错误,此单请重新录入运单号!','success'=>false));exit;				}			}						if($this->systembox->insert(array('type'=>$type,'number'=>$number,'waybill'=>$waybill,'express'=>$express,'gtime'=>date('Ymd',$time),'time'=>$time+1)))			{				echo json_encode(array('msg'=>'添加成功!','success'=>true));exit;			}					}	}		public function _del()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['delarr']))  		{            $id_arr = $this->input->post('delarr');            $id_arr =  explode(',',rtrim($id_arr,','));            if(!$id_arr)            {                echo json_encode(array('msg'=>'未选择需要删除的内容!','success'=>false));exit;            }            //循环删除记录			$a=0;            foreach ($id_arr as $v) 		    {				if($this->systembox->remove($v))				{					$a++;				}				            }			if($a == count($id_arr))			{				$data = $this->systembox->find_count("gtime = '".date('Ymd',time())."'");                echo json_encode(array('del'=>$id_arr,'data'=>$data,'msg'=>'删除成功!','success'=>true));			}			else			{				echo json_encode(array('del'=>$id_arr,'msg'=>'部分记录删除失败,请查询确认!','success'=>true));			}		}	}	public function _ex()	{			}}
 |