src/main/java/com/zy/crm/manager/controller/CstmrController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/crm/manager/service/CstmrService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/mould/甲方单位导入模板.xls | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/cstmr/cstmr.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/crm/manager/controller/CstmrController.java
@@ -13,14 +13,23 @@ import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.Cstmr; import com.zy.crm.manager.service.CstmrService; import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.util.*; @Slf4j @RestController public class CstmrController extends BaseController { @@ -85,7 +94,7 @@ throw new CoolException("客æ·å·²åå¨"); } cstmr.setHostId(hostId); cstmr.setUuid(cstmrService.getNextUuid(hostId)); // 客æ·ä»£å· cstmr.setUuid(cstmrService.getUuid(hostId)); // 客æ·ä»£å· cstmr.setDeptId(getDeptId()); // æå±é¨é¨ cstmr.setUserId(getUserId()); // æå±äººå @@ -162,8 +171,49 @@ * excelå¯¼å ¥ */ @PostMapping(value = "/cstmr/excel/import/auth") @ManagerAuth @ManagerAuth(memo = "ç²æ¹åä½Excelå¯¼å ¥") @Transactional public R cstmrExcelImport(MultipartFile file) throws IOException { try (InputStream inStream = file.getInputStream()) { String fileMime = file.getContentType(); int excelVersion = 2007; if ("application/vnd.ms-excel".equals(fileMime)) { excelVersion = 2003; } Workbook book = null; if (excelVersion == 2003) { book = new HSSFWorkbook(inStream); } else { // å½ excel æ¯ 2007 æ¶ book = new XSSFWorkbook(inStream); } Sheet sheet = book.getSheetAt(0); int totalRows = sheet.getPhysicalNumberOfRows() - 1; // æ» Long userId = getUserId(); Long hostId = getHostId(); Long deptId = getDeptId(); Date now = new Date(); for (int i = 2; i < totalRows; i++) { Cstmr cstmr = new Cstmr(); Row row = sheet.getRow(i); System.out.println(row.getCell(0).getStringCellValue()); cstmr.setHostId(hostId); cstmr.setDeptId(deptId); cstmr.setUserId(userId); cstmr.setStatus(1); cstmr.setCreateBy(userId); cstmr.setCreateTime(now); cstmr.setUpdateBy(userId); cstmr.setUpdateTime(now); if (!cstmrService.insert(cstmr)) { throw new CoolException("ä¿å失败ï¼è¯·éæ°å¯¼å ¥"); } } } catch (Exception e) { e.printStackTrace(); } return R.ok(); } src/main/java/com/zy/crm/manager/service/CstmrService.java
@@ -8,7 +8,7 @@ Cstmr selectByUuid(Long hostId, String uuid); String getNextUuid(Long hostId); String getUuid(Long hostId); Page<Cstmr> getPage(Page page, Long hostId, String deptId, String condition); src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java
@@ -1,6 +1,7 @@ package com.zy.crm.manager.service.impl; import com.baomidou.mybatisplus.plugins.Page; import com.core.common.Cools; import com.zy.crm.manager.mapper.CstmrMapper; import com.zy.crm.manager.entity.Cstmr; import com.zy.crm.manager.service.CstmrService; @@ -16,7 +17,21 @@ } @Override public String getNextUuid(Long hostId) { public synchronized String getUuid(Long hostId) { String uuid = null; int times = 0; while (Cools.isEmpty(uuid)) { if (times > 100) { break; } String nextUuid = getNextUuid(hostId); if (selectByUuid(hostId, nextUuid) == null) { uuid = nextUuid; } times ++; } return uuid; } private String getNextUuid(Long hostId) { Cstmr cstmr = this.baseMapper.selectCstmrByNewestUuid(hostId); if (cstmr == null) { return "0001"; src/main/webapp/mould/¼×·½µ¥Î»µ¼ÈëÄ£°å.xlsBinary files differ
src/main/webapp/static/js/cstmr/cstmr.js
@@ -1,6 +1,7 @@ var pageCurr; var pageCount = 0; var treeCond; var admin; layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ @@ -11,7 +12,7 @@ var layer = layui.layer; var layDate = layui.laydate; var form = layui.form; var admin = layui.admin; admin = layui.admin; var xmSelect = layui.xmSelect; var cascader = layui.cascader; var tree = layui.tree; @@ -53,7 +54,7 @@ ,id: 3 } ] ,click: function(item){ ,click: async function(item){ switch (item.id) { case 1: // 模æ¿ä¸è½½ @@ -63,6 +64,9 @@ break case 2: // å¯¼å ¥ Excel let arrFileHandle = await window.showOpenFilePicker() let file = await arrFileHandle[0].getFile(); upload(file); break case 3: // å¯¼åº Excel @@ -378,3 +382,43 @@ $(".layui-laypage-btn")[0].click(); } } function upload(file){ if(!file) { return; } admin.confirm('ç¡®è®¤åæ¥ [' + file.name +'] æä»¶åï¼', function (index) { layer.load(1, {shade: [0.1,'#fff']}); var url = baseUrl + "/cstmr/excel/import/auth"; var form = new FormData(); form.append("file", file); let xhr = new XMLHttpRequest(); xhr.open("post", url, true); xhr.setRequestHeader('token', localStorage.getItem('token')); xhr.onload = uploadComplete; xhr.onerror = uploadFailed; xhr.onloadend = function () { layer.closeAll('loading'); }; // xhr.upload.onprogress = progressFunction; xhr.upload.onloadstart = function(){ ot = new Date().getTime(); oloaded = 0; }; xhr.send(form); }, function(index){ }); } function uploadComplete(evt) { let res = JSON.parse(evt.target.responseText); if(res.code === 200) { layer.msg(res.msg, {icon: 1}); tableIns.refresh(); } else { layer.msg(res.msg, {icon: 2}); } } function uploadFailed(evt) { let res = JSON.parse(evt.target.responseText); layer.msg(res.msg, {icon: 2}); }