common_model->checkpurview(); $this->load->helper('download'); $this->load->library('excel/excel_reader2'); $this->load->library('pinyin/getpinyin'); } public function index() { $dir = './data/upfile/' . date('Ymd') . '/'; //$path = '/data/upfile/' . date('Ymd') . '/'; $err = json_encode(array('url' => '', 'title' => '', 'state' => '请登录')); $info = upload('resume_file', $dir); if (is_array($info) && count($info) > 0) { //$array = array('url' => $path . $info['file'], 'title' => $path . $info['file'], 'state' => 'SUCCESS'); print_r($info); die(); } else { die($err); } } //客户 public function downloadtemplate1() { $info = read_file('./data/download/customer.xls'); $this->common_model->logs('下载文件名:客户导入_'.date("YmdHis").'.xls'); force_download('客户导入_'.date("YmdHis").'.xls', $info); } //供应商 public function downloadtemplate2() { $info = read_file('./data/download/vendor.xls'); $this->common_model->logs('下载文件名:供应商导入_'.date("YmdHis").'.xls'); force_download('供应商导入_'.date("YmdHis").'.xls', $info); } //商品 public function downloadtemplate3() { $info = read_file('./data/download/goods.xls'); $this->common_model->logs('下载文件名:商品导入_'.date("YmdHis").'.xls'); force_download('商品导入_'.date("YmdHis").'.xls', $info); } //价格预警 public function downloadtemplate4() { $info = read_file('./data/download/preprice.xls'); $this->common_model->logs('下载文件名:价格预警导入_'.date("YmdHis").'.xls'); force_download('价格预警导入_'.date("YmdHis").'.xls', $info); } //客户导入 public function findDataImporter() { $fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false); print_r($fn); die(); if ($fn) { file_put_contents( 'upload/' . $fn, file_get_contents('php://input') ); echo "http://119.10.11.187:82/AAAUPIMG/1/uploads/".$fn; exit(); } print_r($_FILES); die(); // $dir = './data/upfile/' . date('Ymd') . '/'; // //$path = '/data/upfile/' . date('Ymd') . '/'; // $err = json_encode(array('url' => '', 'title' => '', 'state' => '请登录')); // $info = upload('resume_file', $dir); // if (is_array($info) && count($info) > 0) { // //$array = array('url' => $path . $info['file'], 'title' => $path . $info['file'], 'state' => 'SUCCESS'); // print_r($info); // die(); // } else { // die($err); // } die('{"status":200,"msg":"success","data":{"items":[{"id":1294598139109696,"date":"2015-04-25 14:41:35","uploadPath" :"customer_20150425024011.xls","uploadName":"customer_20150425024011.xls","resultPath":"uploadfiles/88887901 /customer_20150425024011.xls","resultName":"customer_20150425024011.xls","resultInfo":"商品导入完毕。
商 品一共:0条数据,成功导入:0条数据,失败:0条数据。
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕。
客户一共:10条数 据,成功导入:10条数据,失败:0条数据。
","status":2,"spendTime":0},{"id":1294598139109659,"date":"2015-04-25 14:40 :49","uploadPath":"customer_20150425024011.xls","uploadName":"customer_20150425024011.xls","resultPath" :"uploadfiles/88887901/customer_20150425024011.xls","resultName":"customer_20150425024011.xls","resultInfo" :"商品导入完毕。
商品一共:0条数据,成功导入:0条数据,失败:0条数据。
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕 。
客户一共:10条数据,成功导入:10条数据,失败:0条数据。
","status":2,"spendTime":0},{"id":1294597559113847,"date":"2015-04-17 16:54:39","uploadPath":"蓝港新系统xls.xls","uploadName":"蓝港新系统xls.xls","resultPath":"uploadfiles/88887901 /蓝港新系统xls.xls","resultName":"蓝港新系统xls.xls","resultInfo":"商品导入完毕。
商品一共:557条数据,成功导入:0条数据,失败:557条数据 。
(请检查模板是否匹配,建议重新下载模板导入)
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕。
客户一共:0条数 据,成功导入:0条数据,失败:0条数据。
","status":2,"spendTime":0}],"totalsize":3}}'); die('{"status":200,"msg":"success"}'); } //上传文件 public function upload() { die('{"status":200,"msg":"success","data":{"items":[{"id":1294598139109696,"date":"2015-04-25 14:41:35","uploadPath" :"customer_20150425024011.xls","uploadName":"customer_20150425024011.xls","resultPath":"uploadfiles/88887901 /customer_20150425024011.xls","resultName":"customer_20150425024011.xls","resultInfo":"商品导入完毕。
商 品一共:0条数据,成功导入:0条数据,失败:0条数据。
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕。
客户一共:10条数 据,成功导入:10条数据,失败:0条数据。
","status":2,"spendTime":0},{"id":1294598139109659,"date":"2015-04-25 14:40 :49","uploadPath":"customer_20150425024011.xls","uploadName":"customer_20150425024011.xls","resultPath" :"uploadfiles/88887901/customer_20150425024011.xls","resultName":"customer_20150425024011.xls","resultInfo" :"商品导入完毕。
商品一共:0条数据,成功导入:0条数据,失败:0条数据。
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕 。
客户一共:10条数据,成功导入:10条数据,失败:0条数据。
","status":2,"spendTime":0},{"id":1294597559113847,"date":"2015-04-17 16:54:39","uploadPath":"蓝港新系统xls.xls","uploadName":"蓝港新系统xls.xls","resultPath":"uploadfiles/88887901 /蓝港新系统xls.xls","resultName":"蓝港新系统xls.xls","resultInfo":"商品导入完毕。
商品一共:557条数据,成功导入:0条数据,失败:557条数据 。
(请检查模板是否匹配,建议重新下载模板导入)
供应商导入完毕。
供应商一共:0条数据,成功导入:0条数据,失败:0条数据。
客户导入完毕。
客户一共:0条数 据,成功导入:0条数据,失败:0条数据。
","status":2,"spendTime":0}],"totalsize":3}}'); } public function uploadExcel() { $path=$_FILES['file']; if($path['error']!= 0) str_alert(-1,'文件上传失败!'); if($path['size']>20*1024*1024) str_alert(-1,'上传文件大小超过限制!'); if($path['type']!='application/vnd.ms-excel' && strrchr($path['name'],'xls')!='xls'){ str_alert(200,'上传的文件不是excel类型!'); } //$filePath = "data/upload/".$path["name"]; //move_uploaded_file($path["tmp_name"],$filePath); //$reader = new Excel_reader2(); // 实例化解析类Spreadsheet_Excel_Reader $reader = $this->excel_reader2; $reader->setOutputEncoding("utf-8"); // 设置编码方式 $reader->read("{$path['tmp_name']}"); $data = $reader->sheets[0]['cells']; if(!isset($data[2])||!isset($data[2][1])) str_alert(-1,'无可导入的数据!'); $first = array_shift($data); $itype = ""; $this->db->trans_begin(); if($first[1]=='商品编号'){ $itype = "商品"; foreach ($data as $arr=>$row) { if(empty($row[1])) continue; $good['number'] = $row[1]; $good['name'] = $row[2]; $good['barCode'] = $row[3]; $good['spec'] = $row[4]; //$good['categoryId'] = 1; //$good['categoryName'] = $row[5]; //$good['locationId'] = $row[6]; //$good['baseUnitId'] = $row[9]; $good['purPrice'] = floatval($row[10]); $good['wholesalePrice'] = floatval($row[12]); $good['salePrice'] = floatval($row[11]); $good['pinYin'] = $this->getpinyin->getFirstPY($row[2]); $good['sonGoods'] = '[]'; $good['dopey'] = 0; empty($row[5])&&str_alert(-1,'商品【'.$row[2].'】类别不能为空!'); empty($row[6])&&str_alert(-1,'商品【'.$row[2].'】仓库不能为空!'); empty($row[9])&&str_alert(-1,'商品【'.$row[2].'】计量单位不能为空!'); $list = $this->mysql_model->get_rows('storage',array('isDelete'=>0,'name'=>$row[6])); if (count($list) > 0) { $good['locationId']= $list['id']; $good['locationName']= $row[6]; }else str_alert(-1,'仓库【'.$row[6].'】不存在,请先添加仓库后再导入!'); $list = $this->mysql_model->get_rows('category',array('name'=>$row[5],'typeNumber'=>'trade')); if (count($list) > 0) { $good['categoryId']= $list['id']; $good['categoryName']= $row[5]; }else{ str_alert(-1,'商品类别【'.$row[5].'】不存在,请先添加商品类别再导入!'); } $list = $this->mysql_model->get_rows('unit',array('name'=>$row[9])); if (count($list) > 0) { $good['baseUnitId']= $list['id']; $good['unitName']= $row[9]; }else{ str_alert(-1,'计量单位【'.$row[9].'】不存在,请先添加计量单位再导入!'); } $info = array( 'number','name','barCode','spec','categoryId','locationId','baseUnitId','purPrice','salePrice', 'locationName','unitName','categoryName','pinYin','sonGoods','dopey','wholesalePrice' ); $info = elements($info,$good,NULL); $existgood = $this->mysql_model->get_rows('goods',array('isDelete'=>0,'number'=>$good['number'])); // if($this->mysql_model->get_count('goods',array('isDelete'=>0,'number'=>$good['number'])) <= 0){ if(count($existgood) <= 0){ $rtn['id'] = $this->mysql_model->insert('goods',$info); }else { $rtn['id'] = $existgood['id']; $this->mysql_model->delete('invoice_info',array('billType'=>'INI','invId'=>$rtn['id'])); $this->mysql_model->update('goods',$info,array('number'=>$good['number'])); } if(!empty($row[19])){ $list = $this->mysql_model->get_rows('storage',array('isDelete'=>0,'name'=>$row[19])); if (count($list) > 0) { $arr = 0; $v[$arr]['invId'] = $rtn['id']; $v[$arr]['locationId'] = $list['id']; $v[$arr]['qty'] = floatval($row[21]); $v[$arr]['price'] = floatval($row[22]); $v[$arr]['amount'] = floatval($row[21])*floatval($row[22]); $v[$arr]['skuId'] = 0; $v[$arr]['billDate'] = date('Y-m-d');; $v[$arr]['billNo'] = '期初数量'; $v[$arr]['billType'] = 'INI'; $v[$arr]['transTypeName'] = '期初数量'; if (isset($v)) { $this->mysql_model->insert('invoice_info',$v); } } } } }else if($first[1]=='客户编号'){ $itype = "客户"; foreach ($data as $arr=>$row) { if(empty($row[1])) continue;//add by michen 20170917 for $cust['number'] = strval($row[1]); $cust['name'] = $row[2]; //$cust['cCategory'] = $row[3]; //$cust['cCategoryName'] = $row[4]; $cust['cLevel'] = 0; $cust['remark'] = $row[8]; $linkMan['linkName'] = $row[9]; $linkMan['linkMobile'] = $row[10]; $linkMan['linkPhone'] = $row[11]; $linkMan['linkPlace'] = $row[12]; $linkMan['linkIm'] = $row[13]; $linkMan['address'] = $row[14]; $linkMan['linkFirst'] = 1; $linkMan['id'] = 0; $linkMans[0] = $linkMan; $cust['linkMans'] = json_encode($linkMans); $cust['type'] = -10; empty($row[1])&&str_alert(-1,'第'.$arr.'行客户编号不能为空!'); empty($row[2])&&str_alert(-1,'第'.$arr.'行客户名称不能为空!'); empty($row[3])&&str_alert(-1,'第'.$arr.'行客户类别不能为空!'); $list = $this->mysql_model->get_rows('category',array('name'=>$row[3],'typeNumber'=>'customertype')); if (count($list) > 0) { $cust['cCategory']= $list['id']; $cust['cCategoryName']= $row[3]; }else{ str_alert(-1,'第'.$arr.'行客户类别【'.$row[3].'】不存在,请先添加客户类别再导入!'); } $info = array( 'number','name','cLevel','remark','cCategory','cCategoryName','linkMans','type' ); $info = elements($info,$cust,NULL); //die(var_export($cust,true)); if($this->mysql_model->get_count('contact',array('isDelete'=>0,'number'=>$cust['number'],'type'=>-10)) <= 0){ $rtn['id'] = $this->mysql_model->insert('contact',$info); }else { $this->mysql_model->update('contact',$info,array('number'=>$cust['number'],'type'=>-10)); } } }else if($first[1]=='供应商编号'){ $itype = "供应商"; foreach ($data as $arr=>$row) { if(empty($row[1])) continue; $sup['number'] = strval($row[1]); $sup['name'] = $row[2]; //$cust['cCategory'] = $row[3]; //$cust['cCategoryName'] = $row[4]; $sup['cLevel'] = 0; $sup['remark'] = $row[7]; $linkMan['linkName'] = $row[8]; $linkMan['linkMobile'] = $row[9]; $linkMan['linkPhone'] = $row[10]; $linkMan['linkPlace'] = $row[11]; $linkMan['linkIm'] = $row[12]; $linkMan['address'] = $row[13]; $linkMan['linkFirst'] = 1; $linkMan['id'] = 0; $linkMans[0] = $linkMan; $sup['linkMans'] = json_encode($linkMans); $sup['type'] = 10; empty($row[1])&&str_alert(-1,'第'.$arr.'行供应商编号不能为空!'); empty($row[2])&&str_alert(-1,'第'.$arr.'行供应商名称不能为空!'); empty($row[3])&&str_alert(-1,'第'.$arr.'行供应商类别不能为空!'); $list = $this->mysql_model->get_rows('category',array('name'=>$row[3],'typeNumber'=>'supplytype')); if (count($list) > 0) { $sup['cCategory']= $list['id']; $sup['cCategoryName']= $row[3]; }else{ str_alert(-1,'第'.$arr.'行供应商类别【'.$row[3].'】不存在,请先添加供应商类别再导入!'); } $info = array( 'number','name','cLevel','remark','cCategory','cCategoryName','linkMans','type' ); $info = elements($info,$sup,NULL); if($this->mysql_model->get_count('contact',array('isDelete'=>0,'number'=>$sup['number'],'type'=>10)) <= 0){ $rtn['id'] = $this->mysql_model->insert('contact',$info); }else { $this->mysql_model->update('contact',$info,array('number'=>$sup['number'],'type'=>10)); } } }else if($first[1]=='商品编码'){ $itype = "价格预警"; foreach ($data as $arr=>$row) { if(empty($row[1])) continue; $preprice['number'] = trim(strval($row[1])); $preprice['supplier'] = trim(strval($row[2])); $preprice['price'] = floatval($row[3]); empty($row[1])&&str_alert(-1,'第'.$arr.'行商品编码不能为空!'); empty($row[2])&&str_alert(-1,'第'.$arr.'行供应商编码不能为空!'); empty($row[3])&&str_alert(-1,'第'.$arr.'行价格不能为空!'); $list = $this->mysql_model->get_rows('goods',array('number'=>$preprice['number'],'isDelete'=>0)); if (count($list) > 0) { $preprice['invId'] = $list['id']; }else{ str_alert(-1,'第'.$arr.'行商品编码【'.$row[1].'】不存在,请先添加商品再导入!'); } $list = $this->mysql_model->get_rows('contact',array('number'=>$preprice['supplier'],'isDelete'=>0,'type'=>10)); if (count($list) > 0) { $preprice['buId'] = $list['id']; }else{ str_alert(-1,'第'.$arr.'行供应商编码【'.$row[2].'】不存在,请先添加供应商再导入!'); } $preprice['billDate'] = date('Y-m-d'); $info = array( 'invId','buId','price','billDate' ); $info = elements($info,$preprice,NULL); $rtn['id'] = $this->mysql_model->insert('preprice',$info); } } if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); str_alert(-1,'SQL错误回滚'); } else { $this->db->trans_commit(); str_alert(200,'恭喜您,导入'.$itype.'信息成功!'); } } } /* End of file welcome.php */ /* Location: ./application/controllers/welcome.php */