From 25b490eb79a0f64c9e0cd32d21b9178aa82929f8 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 09 七月 2025 15:10:44 +0800
Subject: [PATCH] 修改word导入

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java |   71 +++++++++++------------------------
 1 files changed, 22 insertions(+), 49 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 06054ef..6ac4eae 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
@@ -181,7 +181,7 @@
         //鍒犻櫎鏍囪
         entity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory());
+        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
         if(exist != null){
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
@@ -265,7 +265,7 @@
         //鍒犻櫎鏍囪
         newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory());
+        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(),MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
         if(exist != null){
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
@@ -286,12 +286,12 @@
     }
 
     @Override
-    public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory) {
+    public EamMaintenanceStandard checkDuplicate(String equipmentId, String maintenanceCategory,String standardStatus) {
         LambdaQueryWrapper<EamMaintenanceStandard> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);
         queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
         queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
-        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, standardStatus);
         queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion);
 
         List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper);
@@ -567,6 +567,12 @@
             }
 
             eamMaintenanceStandard.setStandardName(name);
+
+            EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(), eamMaintenanceStandard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name());
+            if(exist != null){
+                return Result.error(name + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
+            }
+
             eamMaintenanceStandardMapper.insert(eamMaintenanceStandard);
 
             // 2. 鎻愬彇姣忔棩鐐规椤圭洰
@@ -932,6 +938,7 @@
     /*瀵煎叆鐐规鏂囦欢Excel--------------------------缁撴潫*/
 
     /*瀵煎叆浜屼繚涓変繚鏂囦欢Excel--------------------------寮�濮�*/
+
     /**
      * 缁熶竴淇濆吇瑙勮寖瀵煎叆鍏ュ彛
      * @param file 涓婁紶鏂囦欢
@@ -967,13 +974,17 @@
                     }
 
                     // 鎻愬彇璁惧淇℃伅
-                    standard = extractDeviceInfo(table);
+                    standard = extractDeviceInfo(table,type);
                     if (standard == null) {
                         return Result.error(fileName + ": 璁惧淇℃伅鎻愬彇澶辫触");
                     }
 
                     // 閰嶇疆绫诲瀷鐩稿叧鍙傛暟
                     configureStandard(standard, type, file);
+                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(),MaintenanceStandardStatusEnum.START.name());
+                    if(exist != null){
+                        return Result.error(fileName + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
+                    }
                     eamMaintenanceStandardMapper.insert(standard);
                     standardId = standard.getId();
 
@@ -984,8 +995,7 @@
                         items.addAll(extractThirdMaintenanceItems(table, standardId, true));
                     }
 
-                    firstTableProcessed = true;
-                } else if (firstTableProcessed) { // 鍚庣画椤甸潰
+                } else { // 鍚庣画椤甸潰
                     // 鎻愬彇鍚庣画椤甸潰鐨勪繚鍏婚」鐩�
                     if ("SECOND".equals(type)) {
                         items.addAll(extractSecondMaintenanceItems(table, standardId, false));
@@ -1257,7 +1267,7 @@
     /**
      * 鎻愬彇璁惧鍩烘湰淇℃伅
      */
-    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table) {
+    private EamMaintenanceStandard extractDeviceInfo(XWPFTable table,String type) {
         if (table.getNumberOfRows() < 2) return null;
 
         // 鎻愬彇鍓嶄袱琛屾暟鎹�
@@ -1279,15 +1289,15 @@
             }else {
                 standard.setEquipmentId(equipments.getId());
             }
+            if (type.equals("THIRD")){
+                EamEquipmentExtend eamEquipmentExtend=eamEquipmentExtendService.getById(standard.getEquipmentId());
+                standard.setMaintenancePeriod(eamEquipmentExtend.getThirdMaintenancePeriod());
+            }
         }
 
         return standard;
     }
 
-    // 绠�鏄撶増瀛楃涓查潪绌哄垽鏂�
-    private boolean isNotBlank(String str) {
-        return str != null && !str.trim().isEmpty();
-    }
 
     /**
      * 琛ㄦ牸琛屾暟鎹В鏋�
@@ -1371,21 +1381,6 @@
     }
 
     /**
-     * 鍒涘缓淇濆吇椤圭洰
-     */
-    private EamMaintenanceStandardDetail createItem(
-            EamMaintenanceStandardDetailCategory category,
-            String content,
-            String standardId) {
-
-        EamMaintenanceStandardDetail item = new EamMaintenanceStandardDetail();
-        item.setItemCategory(category.name());
-        item.setStandardId(standardId);
-        item.setItemName(cleanContent(content));
-        return item;
-    }
-
-    /**
      * 鍏煎鐗堝崟鍏冩牸鏂囨湰鎻愬彇
      */
     private String getCellText(XWPFTableCell cell) {
@@ -1405,28 +1400,6 @@
             }
         }
         return text.toString();
-    }
-
-    /**
-     * 鍐呭娓呯悊
-     */
-    private String cleanContent(String text) {
-        if (text == null) return "";
-
-        // 鏇挎崲鐗规畩绌烘牸鍜屽悎骞惰繛缁┖鏍�
-        text = text.replace('\u00A0', ' ')
-                .replace('\u2007', ' ')
-                .replace('\u202F', ' ')
-                .replaceAll("\\s+", " ");
-
-        // 瑙勮寖鏍囩偣绗﹀彿
-        return text.replace(',', '銆�')
-                .replace('锛�', '銆�')
-                .replace(';', '锛�')
-                .replace('锛�', '锛�')
-                .replace(':', '锛�')
-                .replace('锛�', '锛�')
-                .trim();
     }
 
     /**

--
Gitblit v1.9.3