From fe40840225ba68e956fd8f2500823fcee348f421 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 14 五月 2025 14:15:47 +0800 Subject: [PATCH] art: 设备管理-保养标准-导入功能 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java | 22 +++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/ThirdMaintenanceStandardImport.java | 19 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/SecondMaintenanceStandardImport.java | 19 ++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java | 121 +++++++++++++++++++++++++++++ 6 files changed, 180 insertions(+), 5 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java index 6ad4dab..1a62a9f 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MaintenanceCategoryEnum.java @@ -6,5 +6,7 @@ public enum MaintenanceCategoryEnum { POINT_INSPECTION, //鐐规 WEEK_MAINTENANCE, //鍛ㄤ繚 + SECOND_MAINTENANCE, //浜屼繚 + THIRD_MAINTENANCE, //涓変繚 ; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java index 35b2997..48d0bef 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java @@ -23,6 +23,8 @@ import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.dto.MaintenanceStandardImport; +import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport; +import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport; import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamMaintenanceStandard; @@ -373,6 +375,122 @@ } /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/secondMaintenanceImportExcel", method = RequestMethod.POST) + public Result<?> secondMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + // 鑾峰彇涓婁紶鏂囦欢瀵硅薄 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setSheetNum(1); + params.setNeedSave(true); + EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest(); + try { + //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑 + readWeekExcel(file, standardRequest); + EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode()); + if(equipment == null) { + log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode()); + continue; + } + standardRequest.setStandardName(standardRequest.getEquipmentName() + "浜屼繚鏍囧噯"); + standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.SECOND_MAINTENANCE.name()); + standardRequest.setEquipmentId(equipment.getId()); + //璇诲彇淇濆吇鏄庣粏鍐呭 + List<SecondMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), SecondMaintenanceStandardImport.class, params); + //鏄庣粏椤� + List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList()); + standardRequest.setTableDetailList(tableList); + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE); + standardRequest.setStandardCode(codeSeq); + boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest); + if (!b) { + log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode()); + } + } catch (Exception e) { + //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + String msg = e.getMessage(); + log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e); + //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + } + return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/thirdMaintenanceImportExcel", method = RequestMethod.POST) + public Result<?> thirdMaintenanceImportExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + // 鑾峰彇涓婁紶鏂囦欢瀵硅薄 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setSheetNum(1); + params.setNeedSave(true); + EamMaintenanceStandardRequest standardRequest = new EamMaintenanceStandardRequest(); + try { + //璇诲彇璁惧缂栧彿锛屽浘鐗囩瓑 + readWeekExcel(file, standardRequest); + EamEquipment equipment = eamEquipmentService.selectByEquipmentCode(standardRequest.getEquipmentCode()); + if(equipment == null) { + log.error("璁惧涓嶅瓨鍦細{}", standardRequest.getEquipmentCode()); + continue; + } + standardRequest.setStandardName(standardRequest.getEquipmentName() + "涓変繚鏍囧噯"); + standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.THIRD_MAINTENANCE.name()); + standardRequest.setEquipmentId(equipment.getId()); + //璇诲彇淇濆吇鏄庣粏鍐呭 + List<ThirdMaintenanceStandardImport> list = ExcelImportUtil.importExcel(file.getInputStream(), ThirdMaintenanceStandardImport.class, params); + //鏄庣粏椤� + List<EamMaintenanceStandardDetail> tableList = list.stream().map(EamMaintenanceStandardDetail::new).collect(Collectors.toList()); + standardRequest.setTableDetailList(tableList); + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.MAINTENANCE_STANDARD_CODE_RULE); + standardRequest.setStandardCode(codeSeq); + boolean b = eamMaintenanceStandardService.addMaintenanceStandard(standardRequest); + if (!b) { + log.error("淇濆瓨澶辫触锛� {}", standardRequest.getEquipmentCode()); + } + } catch (Exception e) { + //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + String msg = e.getMessage(); + log.error("鏂囦欢 {} 澶勭悊寮傚父锛� {}", file.getOriginalFilename(), msg, e); + //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + } + return Result.ok("鏂囦欢瀵煎叆瀹屾垚锛�"); + } + + /** * 璇诲彇Excel 绗竴琛岋紝 绗簩琛岀殑淇℃伅锛屽寘鎷浘鐗囦俊鎭� * @param file * @param request @@ -496,8 +614,7 @@ if (CellType.NUMERIC.equals(period.getCellType())) { request.setMaintenancePeriod((int) period.getNumericCellValue()); } else { - //榛樿鐐规鍛ㄦ湡 1 - request.setMaintenancePeriod(1); + request.setMaintenancePeriod(null); } //鏂囦欢缂栫爜 Cell fileCode = row.getCell(8); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java index 048c2b9..451d990 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/MaintenanceStandardImport.java @@ -14,8 +14,6 @@ private String itemName; @Excel(name = "鐐规閮ㄤ綅", width = 15) private String itemPart; - @Excel(name = "鐐规鍐呭", width = 15) - private String itemContent; @Excel(name = "鐐规瑕佹眰", width = 15) private String itemDemand; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/SecondMaintenanceStandardImport.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/SecondMaintenanceStandardImport.java new file mode 100644 index 0000000..0a3e6fc --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/SecondMaintenanceStandardImport.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.eam.dto; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +@Data +public class SecondMaintenanceStandardImport implements Serializable { + + @Excel(name = "搴忓彿", width = 15) + private Integer itemCode; + @Excel(name = "閮ㄤ綅", width = 15) + private String itemPart; + @Excel(name = "淇濆吇鍐呭", width = 15) + private String itemName; + @Excel(name = "淇濆吇瑕佹眰", width = 15) + private String itemDemand; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/ThirdMaintenanceStandardImport.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/ThirdMaintenanceStandardImport.java new file mode 100644 index 0000000..be9f4cb --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/dto/ThirdMaintenanceStandardImport.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.eam.dto; + +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +@Data +public class ThirdMaintenanceStandardImport implements Serializable { + + @Excel(name = "搴忓彿", width = 15) + private Integer itemCode; + @Excel(name = "閮ㄤ綅", width = 15) + private String itemPart; + @Excel(name = "淇濆吇鍐呭", width = 15) + private String itemName; + @Excel(name = "淇濆吇瑕佹眰", width = 15) + private String itemDemand; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java index 0ad9bc0..ca50e2e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandardDetail.java @@ -9,6 +9,8 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.modules.eam.dto.MaintenanceStandardImport; +import org.jeecg.modules.eam.dto.SecondMaintenanceStandardImport; +import org.jeecg.modules.eam.dto.ThirdMaintenanceStandardImport; import org.jeecg.modules.eam.dto.WeekMaintenanceStandardImport; import java.io.Serializable; @@ -48,6 +50,9 @@ /**淇濆吇椤瑰簭鍙�*/ @ApiModelProperty(value = "淇濆吇椤瑰簭鍙�") private Integer itemCode; + /**閮ㄤ綅*/ + @ApiModelProperty(value = "閮ㄤ綅") + private String itemPart; /**淇濆吇椤�*/ @ApiModelProperty(value = "淇濆吇椤�") private String itemName; @@ -63,7 +68,8 @@ public EamMaintenanceStandardDetail(MaintenanceStandardImport dto) { this.itemCode = dto.getItemCode(); - this.itemName = dto.getItemName() + " " + dto.getItemPart() + " " + dto.getItemContent(); + this.itemPart = dto.getItemPart(); + this.itemName = dto.getItemName(); this.itemDemand = dto.getItemDemand(); } @@ -73,4 +79,18 @@ this.subItemName = dto.getSubItemName() + " " + (dto.getItemPart() == null ? "" : dto.getItemPart()); this.itemDemand = dto.getItemDemand(); } + + public EamMaintenanceStandardDetail(SecondMaintenanceStandardImport dto) { + this.itemCode = dto.getItemCode(); + this.itemName = dto.getItemName(); + this.itemPart = dto.getItemPart(); + this.itemDemand = dto.getItemDemand(); + } + + public EamMaintenanceStandardDetail(ThirdMaintenanceStandardImport dto) { + this.itemCode = dto.getItemCode(); + this.itemName = dto.getItemName(); + this.itemPart = dto.getItemPart(); + this.itemDemand = dto.getItemDemand(); + } } -- Gitblit v1.9.3