lxzn-boot-base-core/src/main/java/org/jeecg/common/util/PmsUtil.java
@@ -62,4 +62,34 @@ return saveDir + name + ".txt"; } public static String saveErrorMsgByList(List<String> msg, String name) { Date d = new Date(); String saveDir = "logs" + File.separator + DateUtils.yyyyMMdd.get().format(d) + File.separator; String saveFullDir = uploadPath + File.separator + saveDir; File saveFile = new File(saveFullDir); if (!saveFile.exists()) { saveFile.mkdirs(); } name += DateUtils.yyyymmddhhmmss.get().format(d) + Math.round(Math.random() * 10000); String saveFilePath = saveFullDir + name + ".txt"; try { //å°è£ ç®çå° BufferedWriter bw = new BufferedWriter(new FileWriter(saveFilePath)); //éåéå for (String s : msg) { //åæ°æ® bw.write(s); //bw.newLine(); bw.write("\r\n"); } //éæ¾èµæº bw.flush(); bw.close(); } catch (Exception e) { log.info("excelå¯¼å ¥çæé误æ¥å¿æä»¶å¼å¸¸:" + e.getMessage()); } return saveDir + name + ".txt"; } } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaHoleToolsController.java
@@ -1,5 +1,8 @@ package org.jeecg.modules.tms.controller; import java.io.File; import java.io.InputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -9,10 +12,21 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.PmsUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.tms.entity.BaseTools; import org.jeecg.modules.tms.entity.ParaHoleTools; import org.jeecg.modules.tms.entity.ToolsClassify; import org.jeecg.modules.tms.service.IBaseToolsService; import org.jeecg.modules.tms.service.IParaHoleToolsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +34,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.tms.service.IToolsClassifyService; import org.jeecg.modules.tms.utils.ExcelUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -36,125 +52,129 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** /** * @Description: tms_para_hole_tools * @Author: jeecg-boot * @Date: 2025-05-12 * @Date: 2025-05-12 * @Version: V1.0 */ @Api(tags="tms_para_hole_tools") @Api(tags = "tms_para_hole_tools") @RestController @RequestMapping("/tms/paraHoleTools") @Slf4j public class ParaHoleToolsController extends JeecgController<ParaHoleTools, IParaHoleToolsService> { @Autowired private IParaHoleToolsService paraHoleToolsService; /** * å页å表æ¥è¯¢ * * @param paraHoleTools * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_para_hole_tools-å页å表æ¥è¯¢") @ApiOperation(value="tms_para_hole_tools-å页å表æ¥è¯¢", notes="tms_para_hole_tools-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<ParaHoleTools>> queryPageList(ParaHoleTools paraHoleTools, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<ParaHoleTools> queryWrapper = QueryGenerator.initQueryWrapper(paraHoleTools, req.getParameterMap()); Page<ParaHoleTools> page = new Page<ParaHoleTools>(pageNo, pageSize); IPage<ParaHoleTools> pageList = paraHoleToolsService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param paraHoleTools * @return */ @AutoLog(value = "tms_para_hole_tools-æ·»å ") @ApiOperation(value="tms_para_hole_tools-æ·»å ", notes="tms_para_hole_tools-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody ParaHoleTools paraHoleTools) { paraHoleToolsService.save(paraHoleTools); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param paraHoleTools * @return */ @AutoLog(value = "tms_para_hole_tools-ç¼è¾") @ApiOperation(value="tms_para_hole_tools-ç¼è¾", notes="tms_para_hole_tools-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody ParaHoleTools paraHoleTools) { paraHoleToolsService.updateById(paraHoleTools); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_para_hole_tools-éè¿idå é¤") @ApiOperation(value="tms_para_hole_tools-éè¿idå é¤", notes="tms_para_hole_tools-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name="id",required=true) String id) { paraHoleToolsService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_para_hole_tools-æ¹éå é¤") @ApiOperation(value="tms_para_hole_tools-æ¹éå é¤", notes="tms_para_hole_tools-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.paraHoleToolsService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_para_hole_tools-éè¿idæ¥è¯¢") @ApiOperation(value="tms_para_hole_tools-éè¿idæ¥è¯¢", notes="tms_para_hole_tools-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<ParaHoleTools> queryById(@RequestParam(name="id",required=true) String id) { ParaHoleTools paraHoleTools = paraHoleToolsService.getById(id); if(paraHoleTools==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(paraHoleTools); } @Autowired private IParaHoleToolsService paraHoleToolsService; @Autowired private IToolsClassifyService toolsClassifyService; @Autowired private IBaseToolsService baseToolsService; /** * 导åºexcel * * @param request * @param paraHoleTools */ * å页å表æ¥è¯¢ * * @param paraHoleTools * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_para_hole_tools-å页å表æ¥è¯¢") @ApiOperation(value = "tms_para_hole_tools-å页å表æ¥è¯¢", notes = "tms_para_hole_tools-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<ParaHoleTools>> queryPageList(ParaHoleTools paraHoleTools, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper<ParaHoleTools> queryWrapper = QueryGenerator.initQueryWrapper(paraHoleTools, req.getParameterMap()); Page<ParaHoleTools> page = new Page<ParaHoleTools>(pageNo, pageSize); IPage<ParaHoleTools> pageList = paraHoleToolsService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param paraHoleTools * @return */ @AutoLog(value = "tms_para_hole_tools-æ·»å ") @ApiOperation(value = "tms_para_hole_tools-æ·»å ", notes = "tms_para_hole_tools-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody ParaHoleTools paraHoleTools) { paraHoleToolsService.save(paraHoleTools); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param paraHoleTools * @return */ @AutoLog(value = "tms_para_hole_tools-ç¼è¾") @ApiOperation(value = "tms_para_hole_tools-ç¼è¾", notes = "tms_para_hole_tools-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<String> edit(@RequestBody ParaHoleTools paraHoleTools) { paraHoleToolsService.updateById(paraHoleTools); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_para_hole_tools-éè¿idå é¤") @ApiOperation(value = "tms_para_hole_tools-éè¿idå é¤", notes = "tms_para_hole_tools-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name = "id", required = true) String id) { paraHoleToolsService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_para_hole_tools-æ¹éå é¤") @ApiOperation(value = "tms_para_hole_tools-æ¹éå é¤", notes = "tms_para_hole_tools-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.paraHoleToolsService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_para_hole_tools-éè¿idæ¥è¯¢") @ApiOperation(value = "tms_para_hole_tools-éè¿idæ¥è¯¢", notes = "tms_para_hole_tools-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<ParaHoleTools> queryById(@RequestParam(name = "id", required = true) String id) { ParaHoleTools paraHoleTools = paraHoleToolsService.getById(id); if (paraHoleTools == null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(paraHoleTools); } /** * 导åºexcel * * @param request * @param paraHoleTools */ //@RequiresPermissions("org.jeecg.modules:tms_para_hole_tools:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ParaHoleTools paraHoleTools) { @@ -162,16 +182,261 @@ } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("tms_para_hole_tools:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, ParaHoleTools.class); MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); // éè¯¯ä¿¡æ¯ List<String> errorMessage = new ArrayList<>(); int successLines = 0, errorLines = 0, dataLines = 0; List<ParaHoleTools> paraHoleToolsImportList = new ArrayList<>(); try { for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { // è·åä¸ä¼ æä»¶å¯¹è±¡ MultipartFile file = entity.getValue(); InputStream inputStream = file.getInputStream(); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { ParaHoleTools paraHoleTools = new ParaHoleTools(); int rowNum = row.getRowNum(); int currentRowNum = rowNum + 1; //表头è¡å空è¡ç¥è¿ if (rowNum == 0 || ExcelUtils.isRowEmpty(row)) { continue; } dataLines++; Cell cell1 = row.getCell(1); if (cell1 == null || cell1.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ä¸çº§åç±»å称为空! "); errorLines++; continue; } Cell cell2 = row.getCell(2); if (cell2 == null || cell2.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,äºçº§åç±»å称为空! "); errorLines++; continue; } Cell cell3 = row.getCell(3); if (cell3 == null || cell3.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ä¸çº§åç±»å称为空! "); errorLines++; continue; } Cell cell4 = row.getCell(4); if (cell4 == null || cell4.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,å级åç±»å称为空! "); errorLines++; continue; } Cell cell9 = row.getCell(9); if (cell9 == null || cell9.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå·/å¾å·ä¸ºç©º! "); errorLines++; continue; } //æ ¹æ®å级åç±»åç§°ååå·/å¾å·æ¥è¯¢å·¥å ·ä¿¡æ¯ List<ToolsClassify> toolClassifyList = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>() .eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell4)) .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1)); if (CollectionUtil.isEmpty(toolClassifyList)) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç³»ç»ä¸åå¨è¯¥å级åç±»åç§°! "); errorLines++; continue; } else { ToolsClassify toolsClassify = toolClassifyList.get(0); List<BaseTools> baseToolsList = baseToolsService.list(new LambdaQueryWrapper<BaseTools>() .eq(BaseTools::getClassifyId, toolsClassify.getId()) .eq(BaseTools::getToolModel, ExcelUtils.getCellValueAsString(cell9))); if (CollectionUtil.isEmpty(baseToolsList)) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç³»ç»ä¸åå¨å¯¹åºçå·¥å ·ä¿¡æ¯! "); errorLines++; continue; } else { BaseTools baseTools = baseToolsList.get(0); List<ParaHoleTools> paraHoleToolsList = paraHoleToolsService.list(new LambdaQueryWrapper<ParaHoleTools>() .eq(ParaHoleTools::getToolCode, baseTools.getId()) .eq(ParaHoleTools::getToolModel, ExcelUtils.getCellValueAsString(cell9))); if (CollectionUtil.isEmpty(paraHoleToolsList)) { paraHoleTools.setClassifyId(toolsClassify.getId()); paraHoleTools.setToolCode(baseTools.getId()); paraHoleTools.setToolModel(ExcelUtils.getCellValueAsString(cell9)); } else { paraHoleTools = paraHoleToolsList.get(0); } } } Cell cell0 = row.getCell(0); paraHoleTools.setSignCode(cell0.getStringCellValue()); Cell cell5 = row.getCell(5);//ç©å䏿åç§° if (cell5 == null || cell5.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç©å䏿å称为空! "); errorLines++; continue; } else { paraHoleTools.setChineseName(ExcelUtils.getCellValueAsString(cell5)); } Cell cell6 = row.getCell(6);//ç©å夿åç§° paraHoleTools.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6)); Cell cell7 = row.getCell(7);//æ åçº§å« paraHoleTools.setStandardLevel(ExcelUtils.getCellValueAsString(cell7)); Cell cell8 = row.getCell(8);//æ åå· paraHoleTools.setStandardCode(ExcelUtils.getCellValueAsString(cell8)); Cell cell10 = row.getCell(10);//åå ·ç´å¾ if (cell10 == null || cell10.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·ç´å¾ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setDiameter(ExcelUtils.getCellValueAsString(cell10)); } Cell cell11 = row.getCell(11);//åååé¥è§ paraHoleTools.setConeAngle(ExcelUtils.getCellValueAsString(cell11)); Cell cell12 = row.getCell(12);//åååé¿ if (cell12 == null || cell12.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åååé¿ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setEdgeLength(ExcelUtils.getCellValueAsString(cell12)); } Cell cell13 = row.getCell(13);//åå ·æ»é¿ if (cell13 == null || cell13.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·æ»é¿ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setTotalLength(ExcelUtils.getCellValueAsString(cell13)); } Cell cell14 = row.getCell(14);//åå ·ææ if (cell14 == null || cell14.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·ææä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setToolMaterial(ExcelUtils.getCellValueAsString(cell14)); } Cell cell15 = row.getCell(15);//é¶ä»¶ææ paraHoleTools.setPartMaterial(ExcelUtils.getCellValueAsString(cell15)); Cell cell16 = row.getCell(16);//æ¯å¦æ¶å± if (cell16 == null || cell16.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,æ¯å¦æ¶å±ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell16)); } Cell cell17 = row.getCell(17);//åå ·åå¼ if (cell17 == null || cell17.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·åå¼ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setToolPattern(ExcelUtils.getCellValueAsString(cell17)); } Cell cell18 = row.getCell(18);//æé¨è§æ ¼ if (cell18 == null || cell18.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,æé¨è§æ ¼ä¸ºç©º! "); errorLines++; continue; } else { paraHoleTools.setHandleSpecifications(ExcelUtils.getCellValueAsString(cell18)); } Cell cell19 = row.getCell(19);//å·å´æ¹å¼ if (cell19 == null || cell19.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,å·å´æ¹å¼ä¸ºç©ºï¼"); errorLines++; continue; } else { paraHoleTools.setCoolingMethod(ExcelUtils.getCellValueAsString(cell19)); } Cell cell20 = row.getCell(20);//éå ææ¯æ¡ä»¶ if (cell20 == null || cell20.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,éå ææ¯æ¡ä»¶ä¸ºç©ºï¼"); errorLines++; continue; } else { paraHoleTools.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell20)); } Cell cell21 = row.getCell(21);//éå ææ¯æ¡ä»¶è¯´æ paraHoleTools.setConditionsInfo(ExcelUtils.getCellValueAsString(cell21)); Cell cell22 = row.getCell(22);//åç paraHoleTools.setBrand(ExcelUtils.getCellValueAsString(cell22)); Cell cell23 = row.getCell(23);//å¶å¼ paraHoleTools.setTypes(ExcelUtils.getCellValueAsString(cell23)); Cell cell24 = row.getCell(24);//å ¬å·®ç级 paraHoleTools.setToleranceClass(ExcelUtils.getCellValueAsString(cell24)); Cell cell25 = row.getCell(25);//æå±æ§½å½¢å¼ paraHoleTools.setFluteForm(ExcelUtils.getCellValueAsString(cell25)); Cell cell26 = row.getCell(26);//æé¨å½¢å¼ paraHoleTools.setHandleForm(ExcelUtils.getCellValueAsString(cell26)); Cell cell27 = row.getCell(27);//åæ° paraHoleTools.setBladeCount(ExcelUtils.getCellValueAsString(cell27)); Cell cell28 = row.getCell(28);//æå°ç´å¾ paraHoleTools.setSmallDiameter(ExcelUtils.getCellValueAsString(cell28)); Cell cell29 = row.getCell(29);//åè§è§åº¦ paraHoleTools.setChamferAngle(ExcelUtils.getCellValueAsString(cell29)); Cell cell30 = row.getCell(30);//éé åç-å头-åæ paraHoleTools.setFitterPart(ExcelUtils.getCellValueAsString(cell30)); Cell cell31 = row.getCell(31);//ææå å·¥é¿åº¦ paraHoleTools.setEffectiveLength(ExcelUtils.getCellValueAsString(cell31)); Cell cell32 = row.getCell(32);//é»å¤´ç´å¾èå´ paraHoleTools.setDrillDiameterRange(ExcelUtils.getCellValueAsString(cell32)); Cell cell33 = row.getCell(33);//åæç´å¾ paraHoleTools.setKnifeDiameter(ExcelUtils.getCellValueAsString(cell33)); Cell cell34 = row.getCell(34);//åå¾ paraHoleTools.setBoreDiameter(ExcelUtils.getCellValueAsString(cell34)); Cell cell35 = row.getCell(35);//æ¥å£å½¢å¼ paraHoleTools.setConnectorType(ExcelUtils.getCellValueAsString(cell35)); Cell cell36 = row.getCell(36);//æ¥å£æ§½é¿è§æ ¼ paraHoleTools.setSlotSpecification(ExcelUtils.getCellValueAsString(cell36)); Cell cell37 = row.getCell(37);//éç¨èå´ paraHoleTools.setScopeOfApplication(ExcelUtils.getCellValueAsString(cell37)); Cell cell38 = row.getCell(38);//æå°éåç´å¾ paraHoleTools.setLatestBoringDiameter(ExcelUtils.getCellValueAsString(cell38)); Cell cell39 = row.getCell(39);//æå¤§éåç´å¾ paraHoleTools.setMaxBoringDiameter(ExcelUtils.getCellValueAsString(cell39)); Cell cell40 = row.getCell(40);//å å·¥æ¹å¼ paraHoleTools.setProcessingmethod(ExcelUtils.getCellValueAsString(cell40)); Cell cell41 = row.getCell(41);//åå¤´æ° paraHoleTools.setHeadsNumber(ExcelUtils.getCellValueAsString(cell41)); Cell cell42 = row.getCell(42);//éé å座 paraHoleTools.setAdaptHolder(ExcelUtils.getCellValueAsString(cell42)); paraHoleToolsImportList.add(paraHoleTools); successLines++; } } paraHoleToolsService.saveOrUpdateBatch(paraHoleToolsImportList); if (successLines == dataLines) { return Result.OK("å ±" + dataLines + "è¡æ°æ®å ¨é¨å¯¼å ¥æåï¼"); } else { JSONObject result = new JSONObject(5); result.put("successCount", successLines); result.put("msg", "æ»ä¸ä¼ è¡æ°ï¼" + dataLines + "ï¼æåå¯¼å ¥è¡æ°ï¼" + successLines); result.put("errorMsg", errorMessage); String fileUrl = PmsUtil.saveErrorMsgByList(errorMessage, "userImportExcelErrorLog"); int lastIndex = fileUrl.lastIndexOf(File.separator); String fileName = fileUrl.substring(lastIndex + 1); result.put("fileUrl", "/sys/common/static/" + fileUrl); result.put("fileName", fileName); Result res = Result.ok(result); res.setCode(201); res.setMessage("æä»¶å¯¼å ¥æåï¼ä½æé误ã"); return res; } } catch (IOException e) { throw new RuntimeException(e); } } } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/ParaThreadingToolController.java
@@ -1,5 +1,9 @@ package org.jeecg.modules.tms.controller; import java.io.File; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -9,10 +13,22 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.util.PmsUtil; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.tms.entity.BaseTools; import org.jeecg.modules.tms.entity.ParaHoleTools; import org.jeecg.modules.tms.entity.ParaThreadingTool; import org.jeecg.modules.tms.entity.ToolsClassify; import org.jeecg.modules.tms.service.IBaseToolsService; import org.jeecg.modules.tms.service.IParaThreadingToolService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +36,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.tms.service.IToolsClassifyService; import org.jeecg.modules.tms.utils.ExcelUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -36,125 +54,129 @@ import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** /** * @Description: tms_para_threading_tool * @Author: jeecg-boot * @Date: 2025-05-12 * @Date: 2025-05-12 * @Version: V1.0 */ @Api(tags="tms_para_threading_tool") @Api(tags = "tms_para_threading_tool") @RestController @RequestMapping("/tms/paraThreadingTool") @Slf4j public class ParaThreadingToolController extends JeecgController<ParaThreadingTool, IParaThreadingToolService> { @Autowired private IParaThreadingToolService paraThreadingToolService; /** * å页å表æ¥è¯¢ * * @param paraThreadingTool * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_para_threading_tool-å页å表æ¥è¯¢") @ApiOperation(value="tms_para_threading_tool-å页å表æ¥è¯¢", notes="tms_para_threading_tool-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<ParaThreadingTool>> queryPageList(ParaThreadingTool paraThreadingTool, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<ParaThreadingTool> queryWrapper = QueryGenerator.initQueryWrapper(paraThreadingTool, req.getParameterMap()); Page<ParaThreadingTool> page = new Page<ParaThreadingTool>(pageNo, pageSize); IPage<ParaThreadingTool> pageList = paraThreadingToolService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param paraThreadingTool * @return */ @AutoLog(value = "tms_para_threading_tool-æ·»å ") @ApiOperation(value="tms_para_threading_tool-æ·»å ", notes="tms_para_threading_tool-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody ParaThreadingTool paraThreadingTool) { paraThreadingToolService.save(paraThreadingTool); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param paraThreadingTool * @return */ @AutoLog(value = "tms_para_threading_tool-ç¼è¾") @ApiOperation(value="tms_para_threading_tool-ç¼è¾", notes="tms_para_threading_tool-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody ParaThreadingTool paraThreadingTool) { paraThreadingToolService.updateById(paraThreadingTool); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_para_threading_tool-éè¿idå é¤") @ApiOperation(value="tms_para_threading_tool-éè¿idå é¤", notes="tms_para_threading_tool-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name="id",required=true) String id) { paraThreadingToolService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_para_threading_tool-æ¹éå é¤") @ApiOperation(value="tms_para_threading_tool-æ¹éå é¤", notes="tms_para_threading_tool-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.paraThreadingToolService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_para_threading_tool-éè¿idæ¥è¯¢") @ApiOperation(value="tms_para_threading_tool-éè¿idæ¥è¯¢", notes="tms_para_threading_tool-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<ParaThreadingTool> queryById(@RequestParam(name="id",required=true) String id) { ParaThreadingTool paraThreadingTool = paraThreadingToolService.getById(id); if(paraThreadingTool==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(paraThreadingTool); } @Autowired private IParaThreadingToolService paraThreadingToolService; @Autowired private IToolsClassifyService toolsClassifyService; @Autowired private IBaseToolsService baseToolsService; /** * 导åºexcel * * @param request * @param paraThreadingTool */ * å页å表æ¥è¯¢ * * @param paraThreadingTool * @param pageNo * @param pageSize * @param req * @return */ //@AutoLog(value = "tms_para_threading_tool-å页å表æ¥è¯¢") @ApiOperation(value = "tms_para_threading_tool-å页å表æ¥è¯¢", notes = "tms_para_threading_tool-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<IPage<ParaThreadingTool>> queryPageList(ParaThreadingTool paraThreadingTool, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper<ParaThreadingTool> queryWrapper = QueryGenerator.initQueryWrapper(paraThreadingTool, req.getParameterMap()); Page<ParaThreadingTool> page = new Page<ParaThreadingTool>(pageNo, pageSize); IPage<ParaThreadingTool> pageList = paraThreadingToolService.page(page, queryWrapper); return Result.OK(pageList); } /** * æ·»å * * @param paraThreadingTool * @return */ @AutoLog(value = "tms_para_threading_tool-æ·»å ") @ApiOperation(value = "tms_para_threading_tool-æ·»å ", notes = "tms_para_threading_tool-æ·»å ") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:add") @PostMapping(value = "/add") public Result<String> add(@RequestBody ParaThreadingTool paraThreadingTool) { paraThreadingToolService.save(paraThreadingTool); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param paraThreadingTool * @return */ @AutoLog(value = "tms_para_threading_tool-ç¼è¾") @ApiOperation(value = "tms_para_threading_tool-ç¼è¾", notes = "tms_para_threading_tool-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<String> edit(@RequestBody ParaThreadingTool paraThreadingTool) { paraThreadingToolService.updateById(paraThreadingTool); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "tms_para_threading_tool-éè¿idå é¤") @ApiOperation(value = "tms_para_threading_tool-éè¿idå é¤", notes = "tms_para_threading_tool-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:delete") @DeleteMapping(value = "/delete") public Result<String> delete(@RequestParam(name = "id", required = true) String id) { paraThreadingToolService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "tms_para_threading_tool-æ¹éå é¤") @ApiOperation(value = "tms_para_threading_tool-æ¹éå é¤", notes = "tms_para_threading_tool-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.paraThreadingToolService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿å!"); } /** * éè¿idæ¥è¯¢ * * @param id * @return */ //@AutoLog(value = "tms_para_threading_tool-éè¿idæ¥è¯¢") @ApiOperation(value = "tms_para_threading_tool-éè¿idæ¥è¯¢", notes = "tms_para_threading_tool-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<ParaThreadingTool> queryById(@RequestParam(name = "id", required = true) String id) { ParaThreadingTool paraThreadingTool = paraThreadingToolService.getById(id); if (paraThreadingTool == null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(paraThreadingTool); } /** * 导åºexcel * * @param request * @param paraThreadingTool */ //@RequiresPermissions("org.jeecg.modules:tms_para_threading_tool:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ParaThreadingTool paraThreadingTool) { @@ -162,16 +184,250 @@ } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("tms_para_threading_tool:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, ParaThreadingTool.class); } MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); // éè¯¯ä¿¡æ¯ List<String> errorMessage = new ArrayList<>(); int successLines = 0, errorLines = 0, dataLines = 0; List<ParaThreadingTool> paraThreadingToolImportList = new ArrayList<>(); try { for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { // è·åä¸ä¼ æä»¶å¯¹è±¡ MultipartFile file = entity.getValue(); InputStream inputStream = file.getInputStream(); Workbook workbook = new XSSFWorkbook(inputStream); Sheet sheet = workbook.getSheetAt(0); for (Row row : sheet) { ParaThreadingTool paraThreadingTool = new ParaThreadingTool(); int rowNum = row.getRowNum(); int currentRowNum = rowNum + 1; //表头è¡å空è¡ç¥è¿ if (rowNum == 0 || ExcelUtils.isRowEmpty(row)) { continue; } dataLines++; Cell cell1 = row.getCell(1); if (cell1 == null || cell1.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ä¸çº§åç±»å称为空! "); errorLines++; continue; } Cell cell2 = row.getCell(2); if (cell2 == null || cell2.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,äºçº§åç±»å称为空! "); errorLines++; continue; } Cell cell3 = row.getCell(3); if (cell3 == null || cell3.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ä¸çº§åç±»å称为空! "); errorLines++; continue; } Cell cell4 = row.getCell(4); if (cell4 == null || cell4.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,å级åç±»å称为空! "); errorLines++; continue; } Cell cell9 = row.getCell(9); if (cell9 == null || cell9.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå·/å¾å·ä¸ºç©º! "); errorLines++; continue; } //æ ¹æ®å级åç±»åç§°ååå·/å¾å·æ¥è¯¢å·¥å ·ä¿¡æ¯ List<ToolsClassify> toolClassifyList = toolsClassifyService.list(new LambdaQueryWrapper<ToolsClassify>() .eq(ToolsClassify::getTypeName, ExcelUtils.getCellValueAsString(cell4)) .eq(ToolsClassify::getStatus, CommonConstant.STATUS_1)); if (CollectionUtil.isEmpty(toolClassifyList)) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç³»ç»ä¸åå¨è¯¥å级åç±»åç§°! "); errorLines++; continue; } else { ToolsClassify toolsClassify = toolClassifyList.get(0); List<BaseTools> baseToolsList = baseToolsService.list(new LambdaQueryWrapper<BaseTools>() .eq(BaseTools::getClassifyId, toolsClassify.getId()) .eq(BaseTools::getToolModel, ExcelUtils.getCellValueAsString(cell9))); if (CollectionUtil.isEmpty(baseToolsList)) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç³»ç»ä¸åå¨å¯¹åºçå·¥å ·ä¿¡æ¯! "); errorLines++; continue; } else { BaseTools baseTools = baseToolsList.get(0); List<ParaThreadingTool> paraThreadingToolList = paraThreadingToolService.list(new LambdaQueryWrapper<ParaThreadingTool>() .eq(ParaThreadingTool::getToolCode, baseTools.getId()) .eq(ParaThreadingTool::getToolModel, ExcelUtils.getCellValueAsString(cell9))); if (CollectionUtil.isEmpty(paraThreadingToolList)) { paraThreadingTool.setClassifyId(toolsClassify.getId()); paraThreadingTool.setToolCode(baseTools.getId()); paraThreadingTool.setToolModel(ExcelUtils.getCellValueAsString(cell9)); } else { paraThreadingTool = paraThreadingToolList.get(0); } } } Cell cell0 = row.getCell(0);//åºå·(æä¼ä¸å å代ç ) paraThreadingTool.setSignCode(ExcelUtils.getCellValueAsString(cell0)); Cell cell5 = row.getCell(5);//ç©å䏿åç§° if (cell5 == null || cell5.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,ç©å䏿å称为空! "); errorLines++; continue; } else { paraThreadingTool.setChineseName(ExcelUtils.getCellValueAsString(cell5)); } Cell cell6 = row.getCell(6);//ç©å夿åç§° paraThreadingTool.setForeignLanguageName(ExcelUtils.getCellValueAsString(cell6)); Cell cell7 = row.getCell(7);//æ åçº§å« paraThreadingTool.setStandardLevel(ExcelUtils.getCellValueAsString(cell7)); Cell cell8 = row.getCell(8);//æ åå· paraThreadingTool.setStandardCode(ExcelUtils.getCellValueAsString(cell8)); Cell cell10 = row.getCell(10);//èºçº¹ä»£å· if (cell10 == null || cell10.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,èºçº¹ä»£å·ä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setThreadCode(ExcelUtils.getCellValueAsString(cell10)); } Cell cell11 = row.getCell(11);//èºè· if (cell11 == null || cell11.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,èºè·ä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setPitch(ExcelUtils.getCellValueAsString(cell11)); } Cell cell12 = row.getCell(12);//èºçº¹æå if (cell12 == null || cell12.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,èºçº¹æå为空! "); errorLines++; continue; } else { paraThreadingTool.setRotationDirection(ExcelUtils.getCellValueAsString(cell12)); } Cell cell13 = row.getCell(13);//èºçº¹å ¬å·®å¸¦ä»£å·/精度ç级 if (cell13 == null || cell13.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,èºçº¹å ¬å·®å¸¦ä»£å·/精度ç级为空! "); errorLines++; continue; } else { paraThreadingTool.setTolerancezoneLevel(ExcelUtils.getCellValueAsString(cell13)); } Cell cell14 = row.getCell(14);//åååé¿ if (cell14 == null || cell14.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åååé¿ä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setEdgeLength(ExcelUtils.getCellValueAsString(cell14)); } Cell cell15 = row.getCell(15);//åå ·æ»é¿ if (cell15 == null || cell15.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·æ»é¿ä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setTotalLength(ExcelUtils.getCellValueAsString(cell15)); } Cell cell16 = row.getCell(16);//åå ·ææ if (cell16 == null || cell16.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,åå ·ææä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setToolMaterial(ExcelUtils.getCellValueAsString(cell16)); } Cell cell17 = row.getCell(17);//é¶ä»¶ææ paraThreadingTool.setPartMaterial(ExcelUtils.getCellValueAsString(cell17)); Cell cell18 = row.getCell(18);//æ¯å¦æ¶å± if (cell18 == null || cell18.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,æ¯å¦æ¶å±ä¸ºç©º! "); errorLines++; continue; } else { paraThreadingTool.setPaintcoatFlag(ExcelUtils.getCellValueAsString(cell18)); } Cell cell19 = row.getCell(19);//å¤å½¢å°ºå¯¸ paraThreadingTool.setExternalDimensions(ExcelUtils.getCellValueAsString(cell19)); Cell cell20 = row.getCell(20);//æé¨è§æ ¼ if (cell20 == null || cell20.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,æé¨è§æ ¼ä¸ºç©ºï¼"); errorLines++; continue; } else { paraThreadingTool.setHandleSpecifications(ExcelUtils.getCellValueAsString(cell20)); } Cell cell21 = row.getCell(21);//éå ææ¯æ¡ä»¶ if (cell21 == null || cell21.getCellType() == CellType.BLANK) { errorMessage.add("第" + currentRowNum + "è¡ï¼æ°æ®å¯¼å ¥å¤±è´¥,éå ææ¯æ¡ä»¶ä¸ºç©ºï¼"); errorLines++; continue; } else { paraThreadingTool.setTechnicalConditions(ExcelUtils.getCellValueAsString(cell21)); } Cell cell22 = row.getCell(22);//éå ææ¯æ¡ä»¶è¯´æ paraThreadingTool.setConditionsInfo(ExcelUtils.getCellValueAsString(cell22)); Cell cell23 = row.getCell(23);//åç paraThreadingTool.setBrand(ExcelUtils.getCellValueAsString(cell23)); Cell cell24 = row.getCell(24);//å¶å¼ paraThreadingTool.setTypes(ExcelUtils.getCellValueAsString(cell24)); Cell cell25 = row.getCell(25);//èºåç±»å paraThreadingTool.setScrewHoleType(ExcelUtils.getCellValueAsString(cell25)); Cell cell26 = row.getCell(26);//å·å´æ¹å¼ paraThreadingTool.setCoolingMethod(ExcelUtils.getCellValueAsString(cell26)); Cell cell27 = row.getCell(27);//èºçº¹æ å paraThreadingTool.setThreadStandard(ExcelUtils.getCellValueAsString(cell27)); Cell cell28 = row.getCell(28);//æå±æ§½å paraThreadingTool.setFluteSoltType(ExcelUtils.getCellValueAsString(cell28)); Cell cell29 = row.getCell(29);//èºçº¹ç±»å paraThreadingTool.setThreadType(ExcelUtils.getCellValueAsString(cell29)); Cell cell30 = row.getCell(30);//导å尺寸 paraThreadingTool.setGuidingSize(ExcelUtils.getCellValueAsString(cell30)); Cell cell31 = row.getCell(31);//è¿æ¥åå¾ paraThreadingTool.setConnectionAperture(ExcelUtils.getCellValueAsString(cell31)); Cell cell32 = row.getCell(32);//è¿æ¥é®æ§½ paraThreadingTool.setConnectingKeyway(ExcelUtils.getCellValueAsString(cell32)); paraThreadingToolImportList.add(paraThreadingTool); successLines++; } } paraThreadingToolService.saveOrUpdateBatch(paraThreadingToolImportList); if (successLines == dataLines) { return Result.OK("å ±" + dataLines + "è¡æ°æ®å ¨é¨å¯¼å ¥æåï¼"); } else { JSONObject result = new JSONObject(5); result.put("successCount", successLines); result.put("msg", "æ»ä¸ä¼ è¡æ°ï¼" + dataLines + "ï¼æåå¯¼å ¥è¡æ°ï¼" + successLines); result.put("errorMsg", errorMessage); String fileUrl = PmsUtil.saveErrorMsgByList(errorMessage, "userImportExcelErrorLog"); int lastIndex = fileUrl.lastIndexOf(File.separator); String fileName = fileUrl.substring(lastIndex + 1); result.put("fileUrl", "/sys/common/static/" + fileUrl); result.put("fileName", fileName); Result res = Result.ok(result); res.setCode(201); res.setMessage("æä»¶å¯¼å ¥æåï¼ä½æé误ã"); return res; } } catch (IOException e) { throw new RuntimeException(e); } } } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaHoleTools.java
@@ -200,6 +200,10 @@ @Excel(name = "å头æ°", width = 15) @ApiModelProperty(value = "å头æ°") private String headsNumber; /**éé å座*/ @Excel(name = "éé å座", width = 15) @ApiModelProperty(value = "éé å座") private String adaptHolder; /**夿³¨*/ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") @@ -213,9 +217,9 @@ @ApiModelProperty(value = "å建人") private String createdBy; /**å建æ¶é´*/ @Excel(name = "å建æ¶é´", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @Excel(name = "å建æ¶é´", width = 15, format = "yyyy-MM-dd HH:mm") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") @ApiModelProperty(value = "å建æ¶é´") private Date createdTime; /**æ´æ°äºº*/ @@ -223,9 +227,9 @@ @ApiModelProperty(value = "æ´æ°äºº") private String updatedBy; /**æ´æ°æ¶é´*/ @Excel(name = "æ´æ°æ¶é´", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @Excel(name = "æ´æ°æ¶é´", width = 15, format = "yyyy-MM-dd HH:mm") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm") @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updatedTime; } lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ParaThreadingTool.java
@@ -43,7 +43,7 @@ /**å·¥å ·ç¼å·*/ @Excel(name = "å·¥å ·ç¼å·", width = 15) @ApiModelProperty(value = "å·¥å ·ç¼å·") private String toolId; private String toolCode; /**åºå·ï¼æä¼ä¸å å代ç ï¼*/ @Excel(name = "åºå·ï¼æä¼ä¸å å代ç ï¼", width = 15) @ApiModelProperty(value = "åºå·ï¼æä¼ä¸å å代ç ï¼") lxzn-module-tms/src/main/java/org/jeecg/modules/tms/utils/ExcelUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package org.jeecg.modules.tms.utils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.Row; import java.text.SimpleDateFormat; public class ExcelUtils { // è¾ å©æ¹æ³ï¼æ ¹æ®åå æ ¼ç±»åå®å ¨å°è·ååç¬¦ä¸²å¼ public static String getCellValueAsString(Cell cell) { if (cell == null) { return null; } switch (cell.getCellType()) { case STRING: return cell.getStringCellValue(); case NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { // å¦ææ¯æ¥ææ ¼å¼ï¼è¿åæ¥æå符串 return new SimpleDateFormat("yyyy-MM-dd").format(cell.getDateCellValue()); } else { // å¦åè¿åæ°å¼çåç¬¦ä¸²å½¢å¼ return String.valueOf(cell.getNumericCellValue()); } case BOOLEAN: return String.valueOf(cell.getBooleanCellValue()); case FORMULA: try { return String.valueOf(cell.getNumericCellValue()); // å°è¯è§£æå ¬å¼ç»æ } catch (Exception e) { return String.valueOf(cell.getStringCellValue()); // å¦æå ¬å¼ç»æä¸ºå符串 } default: return ""; } } // 夿æä¸è¡æ¯å¦å ¨ä¸ºç©º(æææ°æ®è¡å¤æ) public static boolean isRowEmpty(Row row) { if (row == null) return true; for (int c = row.getFirstCellNum(); c < row.getLastCellNum(); c++) { Cell cell = row.getCell(c); if (cell != null && cell.getCellType() != CellType.BLANK) { return false; } } return true; } }