From 0063343edb7cee0a8b460f4b1424748e660ec370 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 31 七月 2025 16:23:03 +0800 Subject: [PATCH] 修改保养规范点检导入 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java | 80 +++++++++++++++++++++++++++++++++++----- 1 files changed, 70 insertions(+), 10 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java index 96338b7..963637d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java @@ -323,6 +323,16 @@ return eamMaintenanceStandardMapper.selectList(queryWrapper); } + @Override + public EamMaintenanceStandard queryByEquipmentIdAndCategory(String equipmentId, String maintenanceCategory) { + LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0); + queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory); + queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.START.name()); + queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId); + return eamMaintenanceStandardMapper.selectOne(queryWrapper); + } + /*娴佺▼涓氬姟浠g爜--------------------------寮�濮�*/ @@ -552,7 +562,11 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public Result<?> importPointInspectionExcel(MultipartFile file) { + public Result<?> importPointInspectionExcel(MultipartFile file,String id) { + EamMaintenanceStandard eamMaintenanceStandardOld=new EamMaintenanceStandard(); + if (StrUtil.isNotEmpty(id)){ + eamMaintenanceStandardOld=eamMaintenanceStandardMapper.selectById(id); + } try (Workbook workbook = WorkbookFactory.create(file.getInputStream())) { Sheet sheet = workbook.getSheetAt(0); @@ -567,11 +581,31 @@ eamMaintenanceStandard.setStandardName(name); - // 妫�鏌ラ噸澶� - EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), - eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name()); - if (exist != null) { - return Result.error(name + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞"); + // 妫�鏌ラ噸澶�,鍙鍏ユ牎楠岋紝鍗囩増涓嶆牎楠� + if (StrUtil.isEmpty(id)){ + EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), + eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name()); + if (exist != null) { + return Result.error(name + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞"); + } + } + if (StrUtil.isNotEmpty(id)){ + if (eamMaintenanceStandardOld.getEquipmentId().equals(eamMaintenanceStandard.getEquipmentId()) + &&eamMaintenanceStandardOld.getMaintenanceCategory().equals(eamMaintenanceStandard.getMaintenanceCategory())) { + //鍗囩増鎿嶄綔锛屼綔搴熷師鏈� + eamMaintenanceStandardOld.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name()); + eamMaintenanceStandardMapper.updateById(eamMaintenanceStandardOld); + //鐗堟湰閫掑鑾峰彇鏁板瓧 + Pattern pattern = Pattern.compile("(\\d+)(?:\\.\\d+)*$"); + Matcher matcher = pattern.matcher(eamMaintenanceStandardOld.getStandardVersion()); + if (matcher.find()) { + try { + int mainVersion = Integer.parseInt(matcher.group(1)); + eamMaintenanceStandard.setStandardVersion("v" + (mainVersion + 1)); + } catch (NumberFormatException ignored) { + } + } + } } eamMaintenanceStandard.setInitialDate(new Date()); eamMaintenanceStandardMapper.insert(eamMaintenanceStandard); @@ -1084,7 +1118,7 @@ */ @Override @Transactional - public Result<?> importMaintenanceStandard(MultipartFile file, String type) { + public Result<?> importMaintenanceStandard(MultipartFile file, String type,String id) { String fileName = file.getOriginalFilename(); try (XWPFDocument doc = new XWPFDocument(file.getInputStream())) { @@ -1130,11 +1164,37 @@ return Result.error(fileName + ": 璁惧淇℃伅鎻愬彇澶辫触"); } + EamMaintenanceStandard eamMaintenanceStandardOld=new EamMaintenanceStandard(); + if (StrUtil.isNotEmpty(id)){ + eamMaintenanceStandardOld=eamMaintenanceStandardMapper.selectById(id); + } + // 閰嶇疆绫诲瀷鐩稿叧鍙傛暟 configureStandard(standard, type, file); - EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name()); - if (exist != null) { - return Result.error(fileName + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞"); + if (StrUtil.isEmpty(id)){ + EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name()); + if (exist != null) { + return Result.error(fileName + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞"); + } + } + + if (StrUtil.isNotEmpty(id)){ + if (eamMaintenanceStandardOld.getEquipmentId().equals(standard.getEquipmentId()) + &&eamMaintenanceStandardOld.getMaintenanceCategory().equals(standard.getMaintenanceCategory())) { + //鍗囩増鎿嶄綔锛屼綔搴熷師鏈� + eamMaintenanceStandardOld.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name()); + eamMaintenanceStandardMapper.updateById(eamMaintenanceStandardOld); + //鐗堟湰閫掑鑾峰彇鏁板瓧 + Pattern pattern = Pattern.compile("(\\d+)(?:\\.\\d+)*$"); + Matcher matcher = pattern.matcher(eamMaintenanceStandardOld.getStandardVersion()); + if (matcher.find()) { + try { + int mainVersion = Integer.parseInt(matcher.group(1)); + standard.setStandardVersion("v" + (mainVersion + 1)); + } catch (NumberFormatException ignored) { + } + } + } } standard.setStandardName(documentTitle); eamMaintenanceStandardMapper.insert(standard); -- Gitblit v1.9.3