load->library('session'); $this->load->_model('Model_outbound','outbound'); $this->load->_model('Model_excel','excel'); $this->load->_model('Model_express','express'); $this->load->_model('Model_express','express'); $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 == 'del') { $this->_del(); } else if($arg == 'add') { $this->_add(); } else { $this->_index(); } } public function _index() { $post = $this->input->post(NULL, TRUE); if(isset($post['number'])) { $where = "gtime = '".date('Ymd',time())."'"; $number = $this->input->post('number',true); $id = $this->input->post('id',true); $type = $this->input->post('type',true); $express = $this->input->post('express',true); 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(!$type) { echo json_encode(array('msg'=>'请选择需要录入数据的仓库!','success'=>false));exit; } if(!$express) { echo json_encode(array('msg'=>'请选择需要录入的快递!','success'=>false));exit; } if(stripos($number,'-') !== false) { echo json_encode(array('msg'=>'请扫描正确的运单号!','success'=>false));exit; } if(substr($number,0,3) == '788' && substr($number,-4,4) == '0430')//Fedex联邦 { $number = substr($number,0,12); } if(strlen($number) == '34')//联邦杭州超长运单截取 { $number = substr($number,22,12); } $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($number) != $ex[$sex['printcode']]) { echo json_encode(array('msg'=>'运单号错误,此单请重新录入运单号!','success'=>false));exit; } } $yd = $this->fullorder->find_all("waybill = '$number' and library = '2'"); if(isset($yd[0]['number'])) { $number = $yd[0]['number']; } else { $yd = $this->fullordersmt->find_all("waybill = '$number'"); if(isset($yd[0]['number'])) { $number = $yd[0]['number']; } else { echo json_encode(array('msg'=>'系统中未查到此运单,请确认!','success'=>false));exit; } } $nu = $this->outbound->get_number($number); if($nu) { echo json_encode(array('msg'=>'错误!此编号'.date('Ymd',$nu['time']).'已录入!','success'=>false));exit; } if($this->outbound->insert(array('type'=>$type,'number'=>$number,'express'=>$express,'gtime'=>date('Ymd',time()),'time'=>time()))) { $data = $this->outbound->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 _indexxxxx() { $post = $this->input->post(NULL, TRUE); if(isset($post['number'])) { $where = "gtime = '".date('Ymd',time())."'"; $number = $this->input->post('number',true); $id = $this->input->post('id',true); $type = $this->input->post('type',true); $express = $this->input->post('express',true); 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(!$type) { echo json_encode(array('msg'=>'请选择需要录入数据的仓库!','success'=>false));exit; } if(!$express) { echo json_encode(array('msg'=>'请选择需要录入的快递!','success'=>false));exit; } $nu = $this->outbound->get_number($number); if($nu) { echo json_encode(array('msg'=>'错误!此编号'.date('Ymd',$nu['time']).'已录入!','success'=>false));exit; } $wa = $this->outbound->get_waybill($number); if($wa) { echo json_encode(array('msg'=>'错误!此运单号'.date('Ymd',$wa['time']).'已录入!','success'=>false));exit; } $jd = $this->outbound->find_all($where,'*','id desc'); if(!isset($jd[0]) || $jd[0]['waybill'] != '') { $pd = explode('-',$number); if(!isset($pd[1]) || !isset($pd[2])) { echo json_encode(array('msg'=>'编号不正确,请重试!','success'=>false));exit; } if(strlen($pd[1]) == '5' && strlen($pd[2]) == '3') { if($this->outbound->insert(array('type'=>$type,'number'=>$number,'express'=>$express,'gtime'=>date('Ymd',time()),'time'=>time()))) { $data = $this->outbound->find_count($where); echo json_encode(array('msg'=>$data,'music'=>'1','success'=>true));exit; } else { echo json_encode(array('msg'=>'数据写入失败,请重试!','success'=>false));exit; } } else { echo json_encode(array('msg'=>'编号不正确!','success'=>false));exit; } } else { if(stripos($number,'-') !== false) { echo json_encode(array('msg'=>'请扫描'.$jd[0]['number'].'对应的运单号!','success'=>false));exit; } if(substr($number,0,3) == '788' && substr($number,-4,4) == '0430')//Fedex联邦 { $number = substr($number,0,12); } if(strlen($number) == '34')//联邦杭州超长运单截取 { $number = substr($number,22,12); } $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($number) != $ex[$sex['printcode']]) { echo json_encode(array('msg'=>'运单号错误,此单请重新录入运单号!','success'=>false));exit; } } if($this->outbound->save(array('waybill'=>$number),$jd[0]['id'])) { $data = $this->outbound->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 _data() { if(isset($_GET['fexcel'])) { $id = $this->input->get('id',true); $timetk = $this->input->get('timetk',true); $timetj = $this->input->get('timetj',true); $library = $this->input->get('library',true); $type = $this->input->get('type',true); $number = $this->input->get('number',true); $waybill = $this->input->get('waybill',true); $express = $this->input->get('express',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "type != 0"; if($timetk && $timetj) { $where .= " and time > '$timetk' and time < '$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($number) { $where .= " and number = '$number'"; } if($waybill) { $where .= " and waybill = '$waybill'"; } if($express) { $where .= " and express = '$express'"; } $data = array(); $datafy = array(); $j = 0; $info_list = $this->outbound->find_all($where,'number,waybill'); foreach ($info_list as $key=>$value) { $datafy[] = array($value['number'],$value['waybill']); if($j == $library-1) { $data[] = $datafy; $j = 0;$datafy = array(); } else { $j++; } } $data[] = $datafy; //格式化数据 $i = 0;$cpexcel = array(); $title = date('Ymd',time())."发货统计信息"; $td = ''; for($i=0;$i"; } $titlename = " ".$td."
"; $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->outbound->get_number($number); if($nu) { echo json_encode(array('msg'=>'错误!此编号'.date('Ymd',$nu['time']).'已录入!','success'=>false));exit; } $wa = $this->outbound->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->outbound->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->outbound->remove($v)) { $a++; } } if($a == count($id_arr)) { $data = $this->outbound->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() { } }