From fa7d999ace7025725433a1a609e7d469c71e6c29 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期一, 07 十一月 2022 15:12:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/crm/manager/controller/CstmrController.java | 145 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 143 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/crm/manager/controller/CstmrController.java b/src/main/java/com/zy/crm/manager/controller/CstmrController.java index 375d880..5c60c43 100644 --- a/src/main/java/com/zy/crm/manager/controller/CstmrController.java +++ b/src/main/java/com/zy/crm/manager/controller/CstmrController.java @@ -12,17 +12,37 @@ import com.core.exception.CoolException; import com.zy.crm.common.web.BaseController; import com.zy.crm.manager.entity.Cstmr; +import com.zy.crm.manager.entity.CstmrType; import com.zy.crm.manager.service.CstmrService; +import com.zy.crm.manager.service.CstmrTypeService; +import com.zy.crm.system.entity.Dic; +import com.zy.crm.system.service.DicService; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.DataFormatter; +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.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 { @Autowired private CstmrService cstmrService; + @Autowired + private CstmrTypeService cstmrTypeService; + @Autowired + private DicService dicService; @RequestMapping(value = "/cstmr/{id}/auth") @ManagerAuth @@ -50,9 +70,13 @@ return R.ok(cstmrService.getPage(new Page<>(curr, limit) , getHostId() , String.valueOf(param.get("dept_id")) - , param.get("condition")) + , condition) ); } else { + if (Cools.isEmpty(param.get("user_id"))) { + wrapper.andNew(); + wrapper.eq("user_id", getUserId()); + } return R.ok(cstmrService.selectPage(new Page<>(curr, limit), wrapper)); } } @@ -78,7 +102,7 @@ throw new CoolException("瀹㈡埛宸插瓨鍦�"); } cstmr.setHostId(hostId); - cstmr.setUuid(cstmrService.getNextUuid(hostId)); // 瀹㈡埛浠e彿 + cstmr.setUuid(cstmrService.getUuid(hostId)); // 瀹㈡埛浠e彿 cstmr.setDeptId(getDeptId()); // 鎵�灞為儴闂� cstmr.setUserId(getUserId()); // 鎵�灞炰汉鍛� @@ -149,4 +173,121 @@ return R.ok(); } + /*************************************** 鏁版嵁鐩稿叧 ***********************************************/ + + /** + * excel瀵煎叆 + */ + @PostMapping(value = "/cstmr/excel/import/auth") + @ManagerAuth(memo = "鐢叉柟鍗曚綅Excel瀵煎叆") +// @Transactional + public R cstmrExcelImport(MultipartFile file) throws IOException { + 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.getLastRowNum() + 1; // 鎬� + Long userId = getUserId(); + Long hostId = getHostId(); + Long deptId = getDeptId(); + Date now = new Date(); + DataFormatter dataFormatter = new DataFormatter(); + for (int i = 2; i < totalRows; i++) { + Cstmr cstmr = new Cstmr(); + Row row = sheet.getRow(i); + // 瀹㈡埛浠e彿 + String uuid = dataFormatter.formatCellValue(row.getCell(0)); + if (!Cools.isEmpty(uuid)) { + if (cstmrService.selectByUuid(hostId, uuid) != null) { +// throw new CoolException(uuid + "瀹㈡埛浠e彿宸插瓨鍦紝璇烽噸鏂板鍏�"); + continue; + } else { + cstmr.setUuid(uuid); + } + } else { + cstmr.setUuid(cstmrService.getUuid(hostId)); + } + // 瀹㈡埛浠e彿 + String name = dataFormatter.formatCellValue(row.getCell(1)); + if (Cools.isEmpty(name)) { + throw new CoolException("绗�" + i + "琛屽鎴峰悕绉颁笉鑳戒负绌猴紝璇烽噸鏂板鍏�"); + } + cstmr.setName(name); + // 瀹㈡埛绫诲埆 + String type = dataFormatter.formatCellValue(row.getCell(2)); + if (Cools.isEmpty(type)) { + throw new CoolException("绗�" + i + "琛屽鎴风被鍒笉鑳戒负绌猴紝璇烽噸鏂板鍏�"); + } + CstmrType cstmrType = cstmrTypeService.selectByName(hostId, type); + if (null == cstmrType) { + throw new CoolException("绗�" + i + "琛屽鎴风被鍒笉鍚堟硶锛岃閲嶆柊瀵煎叆"); + } + cstmr.setCstmrType(cstmrType.getId()); + // 瀹㈡埛鍏崇郴 + cstmr.setRela(dataFormatter.formatCellValue(row.getCell(3))); + // 鐢佃瘽 + cstmr.setTel(dataFormatter.formatCellValue(row.getCell(4))); + // 瀹㈡埛鑱旂郴浜� + cstmr.setContacts(dataFormatter.formatCellValue(row.getCell(5))); + // 澶囨敞 + cstmr.setRemarks(dataFormatter.formatCellValue(row.getCell(6))); + // 鐪� + String province = dataFormatter.formatCellValue(row.getCell(7)); + Dic dicProvince = dicService.selectByName(province); + if (Cools.isEmpty(dicProvince)) { + throw new CoolException("绗�" + i + "琛岀渷鍚嶄笉鍚堟硶锛岃閲嶆柊瀵煎叆"); + } + cstmr.setProvince(dicProvince.getCode()); + // 甯� + String city = dataFormatter.formatCellValue(row.getCell(8)); + Dic dicCity = dicService.selectByName(city); + if (Cools.isEmpty(dicCity)) { + throw new CoolException("绗�" + i + "琛屽競鍚嶄笉鍚堟硶锛岃閲嶆柊瀵煎叆"); + } + cstmr.setCity(dicCity.getCode()); + // 鍖� + String district = dataFormatter.formatCellValue(row.getCell(9)); + Dic dicDistrict = dicService.selectByName(district); + if (Cools.isEmpty(dicDistrict)) { + throw new CoolException("绗�" + i + "琛屽幙鍚嶄笉鍚堟硶锛岃閲嶆柊瀵煎叆"); + } + cstmr.setDistrict(dicDistrict.getCode()); + // 璇︾粏鍦板潃 + cstmr.setAddr(dataFormatter.formatCellValue(row.getCell(10))); + // 鍖哄垎 + cstmr.setType0(dataFormatter.formatCellValue(row.getCell(11))); + 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("淇濆瓨澶辫触锛岃閲嶆柊瀵煎叆"); + } + } + return R.ok(); + } + + /** + * excel瀵煎嚭 + */ + @PostMapping(value = "/cstmr/excel/export/auth") + @ManagerAuth + public void cstmrExcelExport(HttpServletResponse response) throws IOException { + + } + } -- Gitblit v1.9.1