From 67ac603f410319a0d999e5f493c8ef2d74163fe1 Mon Sep 17 00:00:00 2001 From: Houjie <714924425@qq.com> Date: 星期一, 15 九月 2025 19:44:47 +0800 Subject: [PATCH] 保养标准:点检标准导入 点检名称修改/ 设备台账导入 --- src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java | 12 --- src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java | 127 +++++++++++++++--------------------------- src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java | 35 ++++++----- 3 files changed, 66 insertions(+), 108 deletions(-) diff --git a/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java index c911f91..e696b47 100644 --- a/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java +++ b/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java @@ -16,7 +16,6 @@ import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.util.TranslateDictTextUtils; -import org.jeecg.modules.eam.constant.AssetStatusEnum; import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum; import org.jeecg.modules.eam.constant.MaintenanceStandardStatusEnum; import org.jeecg.modules.eam.entity.EamEquipment; @@ -82,9 +81,7 @@ // @AutoLog(value = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ") @ApiOperation(value = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧鍙拌处-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") - public Result<?> queryPageList(EamEquipmentQuery eamEquipment, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + public Result<?> queryPageList(EamEquipmentQuery eamEquipment, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { // QueryWrapper<EamEquipment> queryWrapper = QueryGenerator.initQueryWrapper(eamEquipment, req.getParameterMap()); IPage<EamEquipment> page = new Page<>(pageNo, pageSize); IPage<EamEquipment> pageList = eamEquipmentService.queryPageList(page, eamEquipment); @@ -181,7 +178,7 @@ return Result.error("鏈壘鍒板搴旀暟鎹�"); } EamEquipmentExtend extend = eamEquipmentExtendService.getById(id); - if(extend != null){ + if (extend != null) { eamEquipment.setRepairStatus(extend.getRepairStatus()); eamEquipment.setMaintenanceStatus(extend.getMaintenanceStatus()); } @@ -229,62 +226,54 @@ // 鑾峰彇涓婁紶鏂囦欢瀵硅薄 MultipartFile file = entity.getValue(); ImportParams params = new ImportParams(); - params.setTitleRows(0); - params.setHeadRows(1); - params.setNeedSave(true); + params.setHeadRows(1); // 璺宠繃绗�1琛岋紝浠庣2琛屽紑濮嬭鍙栧垪鍚� + params.setTitleRows(1); // 绗�1琛屼负鏍囬琛岋紙鍙�夛級 params.setStartSheetIndex(0); params.setSheetNum(1); try { List<EamEquipment> list = ExcelImportUtil.importExcel(file.getInputStream(), EamEquipment.class, params); - //update-begin-author:taoyan date:20190528 for:鎵归噺鎻掑叆鏁版嵁 long start = System.currentTimeMillis(); -// service.saveBatch(list); StringBuilder sb = new StringBuilder(); for (EamEquipment eamEquipment : list) { - //蹇呭~瀛楁鏍¢獙 + boolean isInvalid = false; + StringBuilder errorMsg = new StringBuilder(); + // 璁惧缂栧彿鍜岃澶囧悕绉版牎楠� if (StringUtils.isBlank(eamEquipment.getEquipmentCode()) || StringUtils.isBlank(eamEquipment.getEquipmentName())) { - sb.append(String.format("璁惧缂栫爜[%s]鎴栬澶囧悕绉癧%s]涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode(), eamEquipment.getEquipmentName())); - continue; + errorMsg.append(String.format("璁惧缂栫爜[%s]鎴栬澶囧悕绉颁负绌猴紝鏃犳硶瀵煎叆\n\n", eamEquipment.getEquipmentCode(), eamEquipment.getEquipmentName())); + isInvalid = true; } - if (StringUtils.isBlank(eamEquipment.getEquipmentCategory())) { - sb.append(String.format("璁惧缂栫爜[%s]璁惧鍒嗙被涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode())); - continue; + // 鎵�灞炰骇绾挎牎楠� + if (StringUtils.isBlank(eamEquipment.getOrgId())) { + errorMsg.append(String.format("璁惧缂栫爜[%s]鎵�灞炰骇绾夸负绌猴紝鏃犳硶瀵煎叆\n\n", eamEquipment.getEquipmentCode())); + isInvalid = true; } - if (StringUtils.isBlank(eamEquipment.getOrgId()) || StringUtils.isBlank(eamEquipment.getEquipmentManager())) { - sb.append(String.format("璁惧缂栫爜[%s]浣跨敤杞﹂棿鎴栬澶囩鐞嗗憳涓虹┖锛屾棤娉曞鍏n\n", eamEquipment.getEquipmentCode())); - continue; - } -// if (eamEquipment.getAcceptanceCheckDate() == null) { -// sb.append(String.format("璁惧缂栫爜[%s]楠屾敹涓虹┖锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode())); -// continue; -// } -// if (StringUtils.isBlank(eamEquipment.getTechnologyStatus())) { -// sb.append(String.format("璁惧缂栫爜[%s]鎶�鏈姸鎬佷负绌猴紝鏃犳硶瀵煎叆\n\r", eamEquipment.getEquipmentCode())); -// continue; -// } + // 璁惧缂栫爜鍞竴鎬ф牎楠� EamEquipment one = eamEquipmentService.getOne(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getEquipmentCode, eamEquipment.getEquipmentCode()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0)); if (one != null) { - sb.append(String.format("璁惧缂栫爜[%s]宸插瓨鍦紝鏃犳硶閲嶅瀵煎叆\n\r", eamEquipment.getEquipmentCode())); + errorMsg.append(String.format("璁惧缂栫爜[%s]宸插瓨鍦紝鏃犳硶閲嶅瀵煎叆\n\r", eamEquipment.getEquipmentCode())); + isInvalid = true; + } + // 鏍¢獙涓嶉�氳繃锛岃褰曢敊璇苟璺宠繃瀵煎叆 + if (isInvalid) { + sb.append(errorMsg); continue; } + // 鏍¢獙閫氳繃锛屾墽琛屽鍏� if (!CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) { eamEquipment.setMdcFlag(CommonConstant.DEFAULT_0); } EamEquipment equipment = eamEquipmentService.saveEquipment(eamEquipment); if (equipment == null) { - //淇濆瓨澶辫触锛岃烦杩囨湰娆″惊鐜� sb.append(String.format("璁惧缂栫爜[%s]淇濆瓨澶辫触锛屾棤娉曞鍏n\r", eamEquipment.getEquipmentCode())); - continue; } - //璋冪敤mdcEquipment鎻掑叆MDC璁惧 -// if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) { -// //鎻掑叆MDC璁惧 -// MdcEquipment mdcEquipment = new MdcEquipment(); -// mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode()); -// mdcEquipment.setEquipmentType(eamEquipment.getDeviceType()); -// mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName()); -// mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId()); -// } + // MDC璁惧鐩稿叧閫昏緫锛堣嫢鏈夐渶瑕侊級 + // if (CommonConstant.DEFAULT_1.equals(eamEquipment.getMdcFlag())) { + // MdcEquipment mdcEquipment = new MdcEquipment(); + // mdcEquipment.setEquipmentId(eamEquipment.getEquipmentCode()); + // mdcEquipment.setEquipmentType(eamEquipment.getDeviceType()); + // mdcEquipment.setEquipmentName(eamEquipment.getEquipmentName()); + // mdcEquipmentService.addNewEquipmentFromEam(mdcEquipment, eamEquipment.getOrgId()); + // } } //400鏉� saveBatch娑堣�楁椂闂�1592姣 寰幆鎻掑叆娑堣�楁椂闂�1947姣 //1200鏉� saveBatch娑堣�楁椂闂�3687姣 寰幆鎻掑叆娑堣�楁椂闂�5212姣 @@ -295,7 +284,7 @@ } return Result.ok("鏂囦欢瀵煎叆鎴愬姛锛佹暟鎹鏁帮細" + list.size()); } catch (Exception e) { - //update-begin-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + String msg = e.getMessage(); log.error(msg, e); if (msg != null && msg.indexOf("Duplicate entry") >= 0) { @@ -303,7 +292,7 @@ } else { return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage()); } - //update-end-author:taoyan date:20211124 for: 瀵煎叆鏁版嵁閲嶅澧炲姞鎻愮ず + } finally { try { file.getInputStream().close(); @@ -315,32 +304,18 @@ return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); } -// @ApiOperation(value = "璁惧琛�-閫氳繃杞﹂棿ids鑾峰彇璁惧鏍�", notes = "璁惧琛�-閫氳繃杞﹂棿ids鑾峰彇璁惧鏍�") -// @GetMapping(value = "/loadTreeListByProductionIds") -// public Result<List<EamEquipmentTree>> loadTreeListByProductionIds(@RequestParam(name = "ids", required = true) String ids) { -// Result<List<EamEquipmentTree>> result = new Result<>(); -// try { -// List<EamEquipmentTree> mdcEquipmentTreeList = eamEquipmentService.loadTreeListByProductionIds(ids); -// result.setSuccess(true); -// result.setResult(mdcEquipmentTreeList); -// } catch (Exception e) { -// log.error(e.getMessage(), e); -// } -// return result; -// } /** * 妫�绱㈣澶� - * @param keyword 鏌ヨ鍏抽敭璇� 璁惧缂栧彿锛岃澶囧悕绉版ā绯婂尮閰� + * + * @param keyword 鏌ヨ鍏抽敭璇� 璁惧缂栧彿锛岃澶囧悕绉版ā绯婂尮閰� * @param pageSize 涓�娆¤繑鍥炲灏戣褰� - * @param id 璁惧涓婚敭 + * @param id 璁惧涓婚敭 * @return */ @ApiOperation(value = "璁惧琛�-寮傛鍔犺浇璁惧鍒楄〃", notes = "璁惧琛�-寮傛鍔犺浇璁惧鍒楄〃") @GetMapping(value = "/asyncLoadEquipment") - public Result<?> asyncLoadEquipment(@RequestParam(name="keyword",required = false) String keyword, - @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize, - @RequestParam(name="id",required = false) String id) { + public Result<?> asyncLoadEquipment(@RequestParam(name = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", required = false, defaultValue = "20") Integer pageSize, @RequestParam(name = "id", required = false) String id) { List<EquipmentSearchResult> resultList = eamEquipmentService.asyncLoadEquipment(keyword, pageSize, id); return Result.ok(resultList); } @@ -353,18 +328,11 @@ if (workOrder == null) { return Result.error("宸ュ崟涓嶅瓨鍦紒"); } - List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>() - .eq(EamEquipment::getOrgId, workOrder.getFactoryId()) - .eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0) - .apply("NOT EXISTS (SELECT 1 FROM eam_inspection_order t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId) - .apply("EXISTS (SELECT 1 FROM eam_maintenance_standard t WHERE t.equipment_id = eam_equipment.id AND t.del_flag = {0} " + - "AND t.standard_status = {1} AND t.maintenance_category = {2})", - CommonConstant.DEL_FLAG_0, MaintenanceStandardStatusEnum.NORMAL.name(), MaintenanceCategoryEnum.POINT_INSPECTION.name())) - .stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{ - put("value", e.getId()); - put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); - put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); - }}).collect(Collectors.toList()); + List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getOrgId, workOrder.getFactoryId()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0).apply("NOT EXISTS (SELECT 1 FROM eam_inspection_order t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId).apply("EXISTS (SELECT 1 FROM eam_maintenance_standard t WHERE t.equipment_id = eam_equipment.id AND t.del_flag = {0} " + "AND t.standard_status = {1} AND t.maintenance_category = {2})", CommonConstant.DEL_FLAG_0, MaintenanceStandardStatusEnum.NORMAL.name(), MaintenanceCategoryEnum.POINT_INSPECTION.name())).stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{ + put("value", e.getId()); + put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); + put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); + }}).collect(Collectors.toList()); return Result.ok(equipmentMapList); } @@ -376,16 +344,11 @@ if (workOrder == null) { return Result.error("宸ュ崟涓嶅瓨鍦紒"); } - List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>() - .eq(EamEquipment::getOrgId, workOrder.getFactoryId()) - .eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0) - .apply("EXISTS (SELECT 1 FROM eam_equipment_process_parameters t WHERE t.equipment_id = eam_equipment.id)") - .apply("NOT EXISTS (SELECT 1 FROM eam_process_check t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId)) - .stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{ - put("value", e.getId()); - put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); - put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); - }}).collect(Collectors.toList()); + List<Map<String, Object>> equipmentMapList = eamEquipmentService.list(new LambdaQueryWrapper<EamEquipment>().eq(EamEquipment::getOrgId, workOrder.getFactoryId()).eq(EamEquipment::getDelFlag, CommonConstant.DEL_FLAG_0).apply("EXISTS (SELECT 1 FROM eam_equipment_process_parameters t WHERE t.equipment_id = eam_equipment.id)").apply("NOT EXISTS (SELECT 1 FROM eam_process_check t WHERE t.equipment_id = eam_equipment.id AND t.work_order_id = {0})", orderId)).stream().map(e -> (Map<String, Object>) new HashMap<String, Object>() {{ + put("value", e.getId()); + put("label", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); + put("text", e.getEquipmentCode() + "[" + e.getEquipmentName() + "]"); + }}).collect(Collectors.toList()); return Result.ok(equipmentMapList); } } diff --git a/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java b/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java index a9025c6..a9913c1 100644 --- a/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java +++ b/src/main/java/org/jeecg/modules/eam/controller/EamMaintenanceStandardController.java @@ -324,7 +324,7 @@ continue; } - standardRequest.setStandardName(standardRequest.getEquipmentName() + "鐐规鏍囧噯"); + standardRequest.setStandardName(equipment.getEquipmentName() + "鐐规鏍囧噯"); standardRequest.setMaintenanceCategory(MaintenanceCategoryEnum.POINT_INSPECTION.name()); standardRequest.setEquipmentId(equipment.getId()); @@ -519,11 +519,6 @@ throw new JeecgBootException("Excel銆�" + file.getOriginalFilename() + "銆戠浜岃绗竴鍒楄幏鍙栧埌鐨勮澶囩紪鍙蜂负绌猴紒"); } request.setFileCode(fileCodeValue.trim()); -// if(CellType.NUMERIC.equals(equipmentCode.getCellType())) { -// request.setEquipmentCode(String.valueOf((int) equipmentCode.getNumericCellValue())); -// }else if(CellType.STRING.equals(equipmentCode.getCellType())) { -// request.setEquipmentCode(equipmentCode.getStringCellValue()); -// } String equipmentCodeStr = extractEquipmentCode(equipmentCode); if (StringUtils.isBlank(equipmentCodeStr)) { throw new JeecgBootException("Excel銆� " + file.getOriginalFilename() + "銆戞病鏈夎鍙栧埌鏈夋晥鐨勮澶囩紪鍙凤紝瀵煎叆澶辫触锛�"); @@ -539,11 +534,6 @@ } else { request.setInitialDate(new Date()); } - //璁惧鍚嶇О -// Cell equipmentName = row.getCell(13); -// request.setEquipmentName(equipmentName.getStringCellValue()); - - row = sheet.getRow(4); //淇濆吇鍛ㄦ湡 Cell period = row.getCell(7); diff --git a/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java b/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java index e2a6fc7..4a4fa70 100644 --- a/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java +++ b/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java @@ -71,20 +71,22 @@ /** * 璁惧缁熶竴缂栧彿 */ - @Excel(name = "璁惧缂栧彿", width = 15, orderNum = "1") + @Excel(name = "璁惧缂栧彿", width = 15, orderNum = "5") @ApiModelProperty(value = "璁惧缂栧彿") private String equipmentCode; + + /** * 璁惧鍚嶇О */ - @Excel(name = "璁惧鍚嶇О", width = 15, orderNum = "2") + @Excel(name = "璁惧鍚嶇О", width = 15, orderNum = "4") @ApiModelProperty(value = "璁惧鍚嶇О") private String equipmentName; /** * 浣跨敤閮ㄩ棬 */ - @Excel(name = "浣跨敤杞﹂棿", width = 25, dictTable = "base_factory", dicText = "factory_name", dicCode = "id", orderNum = "9") - @ApiModelProperty(value = "浣跨敤閮ㄩ棬") + @Excel(name = "鎵�灞炰骇绾�", width = 25, dictTable = "base_factory", dicText = "factory_name", dicCode = "id", orderNum = "3") + @ApiModelProperty(value = "鎵�灞炰骇绾�") @Dict(dicCode = "base_factory, factory_name, id") private String orgId; /** @@ -104,7 +106,7 @@ /** * 璁惧鍨嬪彿 */ - @Excel(name = "璁惧鍨嬪彿", width = 15, orderNum = "3") + @Excel(name = "璁惧鍨嬪彿", width = 15, orderNum = "5") @ApiModelProperty(value = "璁惧鍨嬪彿") private String equipmentModel; /** @@ -130,40 +132,42 @@ /** * 鍑哄巶缂栧彿 */ - @Excel(name = "鍑哄巶缂栧彿", width = 15, orderNum = "12") + @Excel(name = "鍑哄巶缂栧彿", width = 15, orderNum = "7") @ApiModelProperty(value = "鍑哄巶缂栧彿") private String factoryNumber; /** - * 鏈哄簥鍘傚 + * 鐢熶骇鍘傚 */ - @Excel(name = "鏈哄簥鍘傚", width = 15, orderNum = "13") - @ApiModelProperty(value = "鏈哄簥鍘傚") + @Excel(name = "鐢熶骇鍘傚", width = 15, orderNum = "8") + @ApiModelProperty(value = "鐢熶骇鍘傚") private String manufacturingEnterprise; /** * 鏉ユ簮鍥藉 */ - @Excel(name = "鏉ユ簮鍥藉", width = 25, orderNum = "14") + @Excel(name = "鏉ユ簮鍥藉", width = 25) @ApiModelProperty(value = "鏉ユ簮鍥藉") private String originCountry; /** * 璁惧渚涘簲鍟� */ - @Excel(name = "璁惧渚涘簲鍟�", width = 25, orderNum = "15") + @Excel(name = "璁惧渚涘簲鍟�", width = 25) @ApiModelProperty(value = "璁惧渚涘簲鍟�") private String supplier; /** * 鍑哄巶鏃ユ湡 */ - @Excel(name = "鍑哄巶鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "16") + @Excel(name = "鍑哄巶鏃ユ湡", width = 25, format = "yyyy/MM/dd") @ApiModelProperty(value = "鍑哄巶鏃ユ湡") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date leaveFactoryDate; /** - * 楠屾敹鏃ユ湡 + * 杩涘巶鏃ユ湡 */ - @Excel(name = "鎶曠敤鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "17") - @ApiModelProperty(value = "楠屾敹鏃ユ湡") + +// @Excel(name = "杩涘巶鏃ユ湡", width = 25, format = "yyyy.MM.dd", orderNum = "6") + @Excel(name = "杩涘巶鏃ユ湡", width = 25, format = "yyyy.MM.dd", orderNum = "6") + @ApiModelProperty(value = "杩涘巶鏃ユ湡") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date acceptanceCheckDate; @@ -290,6 +294,7 @@ /** * 绔嬮」鍗″彿 */ + @Excel(name = "璧勪骇缂栧彿", width = 15, orderNum = "1") @ApiModelProperty(value = "绔嬮」鍗″彿") private String cardNumber; /** -- Gitblit v1.9.3