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'] = ''.date('Y-m-d H:i:s',$value['time']).''; if($value['shtime'] != '0') { $info_list[$key]['shwarehouse'] = $shwarehouse['title']; $info_list[$key]['shtime'] = ''.date('Y-m-d H:i:s',$value['shtime']).''; } 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'] = ''.date('Y-m-d H:i:s',$value['time']).''; if($value['shtime'] != '0') { $info_list[$key]['shwarehouse'] = $shwarehouse['title']; $info_list[$key]['shtime'] = ''.date('Y-m-d H:i:s',$value['shtime']).''; } 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.= "".$value['number']."".$warehouse."".date('Y-m-d H:i:s',$value['time'])."".$shwarehouse."".date('Y-m-d H:i:s',$value['shtime']).""; } else { $j.= "".$value['number']."".$warehouse."".date('Y-m-d H:i:s',$value['time']).""; } } $data[] = $datafy; //格式化数据 $i = 0;$cpexcel = array(); $title = "箱号".$classid.'统计信息'; $td = ''; $titlename = " ".$j."

箱号".$classid.' - 总数量:'.count($info_list)."

编号发货仓库发货扫码时间收货仓库收货扫码时间
"; $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() { } }