load->library('session'); $this->load->model('Model_Retreatlogs','retreatlogs'); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg,$arg_array) { if($arg == 'exceljs')//添加 { $this->_exceljs(); } else{ $this->_index(); } } private function _index(){ if($this->input->method() == 'post'){ $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $number = $this->input->post('number',true); $timetk = $this->input->post('timetk',true); $timetj = $this->input->post('timetj',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = " tk_time >= {$timetk} and tk_time <= {$timetj} "; if($number){ $where .= " and number = '{$number}' "; } //数据排序 $order_str = "id desc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } $info_list = $this->retreatlogs->find_all($where,'id,number,ck_time,tk_time,cz_time,ck_goods',$order_str,$start,$perpage); foreach($info_list as $k => $v){ $json_arr = json_decode($v['ck_goods'],true); $fpadata_arr = explode(";", $json_arr['fpdata']); $tmp_str = ''; foreach($fpadata_arr as $key => $value){ $tmp_arr = explode("|", $value); if(isset($tmp_arr[1])){ $tmp_str.= $tmp_arr[1].' '; if(isset($tmp_arr[2])){ $tmp_str.= " * ".$tmp_arr[2].'
'; } } } $info_list[$k]['ck_time'] = date('Y-m-d H:i:s',$v['ck_time']); $info_list[$k]['tk_time'] = date('Y-m-d H:i:s',$v['tk_time']); $info_list[$k]['cz_time'] = date('Y-m-d H:i:s',$v['cz_time']); $info_list[$k]['ck_goods'] = $tmp_str; } $total = $this->retreatlogs->find_count($where); $pagenum = ceil($total/$perpage); $over = $total-($start+$perpage); $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list)); echo json_encode($rows);exit; }else{ $this->_Template('retreatlog',$this->data); } } private function _exceljs(){ $number = $this->input->get('number',true); $timetk = $this->input->get('timetk',true); $timetj = $this->input->get('timetj',true); $timetk = strtotime($timetk); $timetj = strtotime($timetj); $where = "tk_time >= {$timetk} and tk_time <= {$timetj}"; if($number){ $where .= " and number = '{$number}' "; } $order_str = "id desc"; $info_list = $this->retreatlogs->find_all($where,'id,number,ck_time,tk_time,cz_time,ck_goods',$order_str); foreach($info_list as $k => $v){ $json_arr = json_decode($v['ck_goods'],true); $fpadata_arr = explode(";", $json_arr['fpdata']); $tmp_str = ''; foreach($fpadata_arr as $key => $value){ $tmp_arr = explode("|", $value); if(isset($tmp_arr[1])){ $tmp_str.= $tmp_arr[1].' '; if(isset($tmp_arr[2])){ $tmp_str.= " * ".$tmp_arr[2].'
'; } } } $tmp_str = trim($tmp_str,'
'); $info_list[$k]['ck_time'] =empty($v['ck_time'])? '' : date('Y-m-d H:i:s',$v['ck_time']); $info_list[$k]['tk_time'] = empty($v['tk_time'])? '' : date('Y-m-d H:i:s',$v['tk_time']); $info_list[$k]['cz_time'] = empty($v['cz_time'])? '' : date('Y-m-d H:i:s',$v['cz_time']); $info_list[$k]['ck_goods'] = $tmp_str; } //生成excel $filename = date("Y-m-d")."退库日志记录.xls"; $str = " "; $str .= ""; $str .= ""; foreach ($info_list as $key=>$value) { $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; $str .= ""; } $str .= "
订单编号出库时间退库时间重置时间货品信息
". $value['number']. "". $value['ck_time']. "". $value['tk_time']. "". $value['cz_time']. "". $value['ck_goods']. "
"; header( "Content-Type: application/vnd.ms-excel; name='excel'" ); header( "Content-type: application/octet-stream" ); header( "Content-Disposition: attachment; filename=".$filename ); header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); header( "Expires: 0" ); exit($str); } }