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()
- {
-
- }
- }
|