load->library('session'); $this->load->_model('Model_machining','machining'); $this->load->_model('Model_typeclass','typeclass'); $this->load->_model('Model_customer','customer'); } //定义方法的调用规则 获取URI第二段值 public function _remap($arg,$arg_array) { if($arg == 'add')//添加 { $this->_add(); } else if($arg == 'edit')//修改 { $this->_edit($arg_array); } else if($arg == 'del')//修改 { $this->_del(); } else if($arg == 'excel') { $this->_excel(); } else if($arg == 'down') { $this->_down(); } else if($arg == 'pindex') { $this->_pindex(); } else { $this->_index(); } } //管理 public function _index() { $post = $this->input->post(NULL, TRUE); if(isset($post['page'])) { $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $title = $this->input->post('title',true); $type = $this->input->post('type',true); $where = "1=1 "; if($type) { $where .= " and type = '$type'"; } if($title) { $where .= " and title like '%$title%'"; } //数据排序 $order_str = "id asc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } if($type) { //取得信息列表 $info_list = $this->machining->find_all($where,'id,type,num,title,color',$order_str,$start,$perpage); foreach ($info_list as $k=>$v) { if($v['type'] == 1) { $info_list[$k]['type'] = '半成品'; } else if($v['type'] == 2) { $info_list[$k]['type'] = '成品'; } } $total = $this->machining->find_count($where); } else { $list = $this->machining->find_all($where,'id,type,num,title,color'); $info = array();$data = array(); foreach ($list as $k=>$v) { $key = preg_replace('/( | | |\s)/','',$v['title']).preg_replace('/( | | |\s)/','',$v['color']); if(isset($data[$key])) { $data[$key]['num'] += $v['num']; $data[$key]['type'] = '(半成品+成品)'; } else { if($v['type'] == 1) { $v['type'] = '半成品'; } else if($v['type'] == 2) { $v['type'] = '成品'; } $data[$key] = $v; } } array_multisort(array_column($data,'type'),SORT_ASC,$data); foreach ($data as $k=>$v) { //if($v['type'] == '半成品+成品') //{ $info[] = $v; //} } $info_list = array_slice($info,$start,$perpage); $total = count($info); } $pagenum = ceil($total/$perpage); $over = $total-($start+$perpage); $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list)); echo json_encode($rows);exit; } $this->_Template('machining',$this->data); } //手机管理 public function _pindex() { $post = $this->input->post(NULL, TRUE); if(isset($post['page'])) { $page = $this->input->post('page',true); $perpage = $this->input->post('perpage',true); $title = $this->input->post('title',true); $type = $this->input->post('type',true); $where = "1=1 "; if($type) { $where .= " and type = '$type'"; } if($title) { $where .= " and title like '%$title%'"; } //数据排序 $order_str = "id asc"; if(empty($page)) { $start = 0; $perpage = 1; } else { $start = ($page - 1)*$perpage; } if($type) { //取得信息列表 $info_list = $this->machining->find_all($where,'id,type,num,title,color',$order_str,$start,$perpage); foreach ($info_list as $k=>$v) { if($v['type'] == 1) { $info_list[$k]['type'] = '半'; } else if($v['type'] == 2) { $info_list[$k]['type'] = '成'; } } $total = $this->machining->find_count($where); } else { $list = $this->machining->find_all($where,'id,type,num,title,color'); $info = array();$data = array(); foreach ($list as $k=>$v) { $key = preg_replace('/( | | |\s)/','',$v['title']).preg_replace('/( | | |\s)/','',$v['color']); if(isset($data[$key])) { $data[$key]['num'] += $v['num']; $data[$key]['type'] = '半+成'; } else { if($v['type'] == 1) { $v['type'] = '半'; } else if($v['type'] == 2) { $v['type'] = '成'; } $data[$key] = $v; } } array_multisort(array_column($data,'type'),SORT_ASC,$data); foreach ($data as $k=>$v) { //if($v['type'] == '半成品+成品') //{ $info[] = $v; //} } $info_list = array_slice($info,$start,$perpage); $total = count($info); } $total = $this->machining->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; } $this->_Template('phone/p_machining',$this->data); } //添加 public function _add() { $post = $this->input->post(NULL, TRUE); if(isset($post['title'])) { $post['time'] = time(); if($this->machining->insert($post)) { echo json_encode(array('msg'=>'添加成功','success'=>true));exit; } else { echo json_encode(array('msg'=>'添加失败,请重试','success'=>false));exit; } } $this->_Template('machining_add',$this->data); } //修改 public function _edit($arg_array) { $post = $this->input->post(NULL, TRUE); if(isset($post['id'])) { if($this->machining->save($post,$id)) { echo json_encode(array('msg'=>'修改成功','success'=>true));exit; } else { echo json_encode(array('msg'=>'修改失败,请重试','success'=>false));exit; } } $machining = $this->machining->read($arg_array[0]); $this->data['machining'] = $machining; $this->_Template('machining_edit',$this->data); } //删除 public function _del() { $post = $this->input->post(NULL, TRUE); if(isset($post['s'])) { $id_arr = $this->input->post('s'); $id_arr = explode(',',$id_arr); if(!$id_arr) { echo json_encode(array('msg'=>'参数错误!','success'=>false));exit; } //循环删除记录 foreach ($id_arr as $v) { $this->machining->remove($v); } echo json_encode(array('del'=>$id_arr,'msg'=>'删除记录成功!','success'=>true)); } } public function _excel() { $dir = '/data/excel/'.date('Ymd',time()).'/'; $config['upload_path'] = '.'.$dir ; $config['file_name'] = date('Ymd_His_',time()).rand(1000,9999); $config['allowed_types'] = 'xls|xlsx'; $config['max_size'] = 10240; $this->load->library('upload', $config); $this->upload->initialize($config); if ($this->upload->do_upload('userfile')) { $full_path = $dir.$this->upload->data('file_name'); $fileName = '.' . $full_path; if (!file_exists($fileName)) { echo json_encode(array('msg'=>"上传失败,请重试",'success'=>false));exit; } else { require_once "./data/excel/PHPExcel/IOFactory.php"; @$phpExcel = PHPExcel_IOFactory::load($fileName);// 载入当前文件 @$phpExcel->setActiveSheetIndex(0);// 设置为默认表 $sheetCount = $phpExcel->getSheetCount();// 获取表格数量 $row = $phpExcel->getActiveSheet()->getHighestRow();// 获取行数 $column = $phpExcel->getActiveSheet()->getHighestColumn();// 获取列数 ++$column;//如果列数大于26行 $list = array(); for ($i = 2; $i <= $row; $i++) // 行数循环 { $data = array(); for ($c = 'A'; $c != $column; $c++) // 列数循环 { $data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue(); } $list[] = $data; } } $i = 0; $this->db->trans_begin(); foreach ($list as $key=>$value) { $value['2'] = $value['2']?str_replace(array('/( | | |\s)/'),array(' '),$value['2']):''; $value['3'] = $value['3']?str_replace(array('/( | | |\s)/'),array(' '),$value['3']):''; $post['type'] = $value['0']; $post['num'] = $value['1']; $post['title'] = $value['2']; $post['color'] = $value['3']; $post['time'] = time(); $this->machining->insert($post); } if ($this->db->trans_status() === FALSE) { $this->db->trans_commit(); echo json_encode(array('msg'=>'添加失败,请重试','success'=>false));exit; } else { $this->db->trans_commit(); echo json_encode(array('msg'=>'添加成功','success'=>true));exit; } } else { echo json_encode(array('msg'=>'上传失败!','t'=>$this->upload->display_errors(),'success'=>false));exit; } } public function _down() { if(isset($_GET['excel'])) { $title = "导入模板"; $titledata = array(array('类型:1.半成品2.成品','数量','名称','蕾丝颜色'),array('1','20','4*4 body','black')); $filename = $title.".xls"; $this->customer->get_excel($titledata,$filename); } } }