From d76b518341ec0644c3500555d5c4121bc30d581e Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 31 七月 2025 09:24:09 +0800
Subject: [PATCH] 台账导入导出字段修改

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |   68 ++++++++++++++++++++++++++++-----
 1 files changed, 57 insertions(+), 11 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 111e961..159c091 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
@@ -562,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);
 
@@ -577,14 +581,32 @@
 
             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 (eamMaintenanceStandardOld.getEquipmentId().equals(eamMaintenanceStandard.getEquipmentId())
+                &&eamMaintenanceStandardOld.getMaintenanceCategory().equals(eamMaintenanceStandard.getMaintenanceCategory())) {
+                //鍗囩増鎿嶄綔锛屼綔搴熷師鏈�
+                eamMaintenanceStandardOld.setStandardStatus(MaintenanceStandardStatusEnum.ABOLISH.name());
+                eamMaintenanceStandardMapper.updateById(eamMaintenanceStandard);
+                //鐗堟湰閫掑鑾峰彇鏁板瓧
+                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);
+            eamMaintenanceStandardMapper.insert(eamMaintenanceStandardOld);
 
             Map<Integer, String> rowErrors = new HashMap<>();
 
@@ -1094,7 +1116,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())) {
@@ -1140,11 +1162,35 @@
                         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 (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