From 6722e123b7a54dcc6c6937bc4324c67293f233db Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 18 七月 2025 11:50:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java                |   11 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java |    1 
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java       |    1 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java    |  330 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java               |    5 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMaintenanceStandardServiceImpl.java    |   11 +
 6 files changed, 340 insertions(+), 19 deletions(-)

diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java
index f60fa58..464fc8e 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java
@@ -6,6 +6,7 @@
     WAIT_ADMIN_CONFIRM, //绠$悊鍛樼‘璁�
     WAIT_INSPECTOR_CONFIRM, // 妫�鏌ヤ汉纭
     COMPLETE,  //宸插畬鎴�
+    ABOLISH, //宸蹭綔搴�
     ;
 
     public static SecondMaintenanceStatusEnum getInstance(String code) {
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java
index 4b41b61..05e0c53 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamRepairOrderQuery.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.eam.request;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,7 +24,15 @@
     private static final long serialVersionUID = 7710893031748864058L;
 
 
-
+    //鍒楄〃灞曠ず
+    @TableField(exist = false)
+    private String equipmentCode;
+    @TableField(exist = false)
+    private String equipmentName;
+    @TableField(exist = false)
+    private String keyword;
+    @TableField(exist = false)
+    private String equipmentModel;
     private String column;
     private String order;
 }
diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
index 8bbc279..966af60 100644
--- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
+++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
@@ -27,6 +27,11 @@
     private String equipmentCode;
 
     /**
+     * 璁惧鍚嶇О
+     */
+    private String equipmentName;
+
+    /**
      * 寮�濮嬫椂闂�
      */
     private String startTime;
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
index 056eb5f..2405991 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
@@ -2,7 +2,9 @@
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -21,11 +23,11 @@
 import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -94,6 +96,119 @@
     }
 
     /**
+     * 鎵归噺娣诲姞
+     * @param requests
+     * @return
+     */
+    @AutoLog(value = "璁惧浜岀骇淇濆吇-鎵归噺娣诲姞")
+    @ApiOperation(value = "璁惧浜岀骇淇濆吇-鎵归噺娣诲姞", notes = "璁惧浜岀骇淇濆吇-鎵归噺娣诲姞")
+    @PostMapping(value = "/batchAdd")
+    public Result<?> batchAdd(@RequestBody List<EamSecondMaintenanceRequest> requests) {
+        if (CollectionUtils.isEmpty(requests)) {
+            return Result.error("娣诲姞鐨勫璞″垪琛ㄤ笉鑳戒负绌猴紒");
+        }
+
+        // 璁板綍鎴愬姛/澶辫触鐨勬潯鐩�
+        List<String> successOrders = new ArrayList<>();
+        List<Map<String, Object>> failedItems = new ArrayList<>();
+
+        for (int i = 0; i < requests.size(); i++) {
+            EamSecondMaintenanceRequest item = requests.get(i);
+            try {
+                // 1. 鍙傛暟鏍¢獙
+                if (item == null) {
+                    failedItems.add(createErrorItem(i, "瀵硅薄涓虹┖"));
+                    continue;
+                }
+                if (StrUtil.isEmpty(item.getStandardId())) {
+                    failedItems.add(createErrorItem(i, "淇濆吇椤逛笉鑳戒负绌�"));
+                    continue;
+                }
+
+                // 2. 鐢熸垚缂栫爜骞惰缃睘鎬�
+                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(
+                        BusinessCodeConst.SECOND_MAINTENANCE_CODE_RULE);
+                item.setOrderNum(codeSeq);
+                item.setCreationMethod(OrderCreationMethodEnum.MANUAL.name());
+
+                // 3. 鎵ц娣诲姞
+                if (eamSecondMaintenanceOrderService.addMaintenance(item)) {
+                    successOrders.add(codeSeq);
+                } else {
+                    failedItems.add(createErrorItem(i, "鏈嶅姟娣诲姞澶辫触"));
+                }
+            } catch (Exception e) {
+                failedItems.add(createErrorItem(i, "绯荤粺寮傚父: " + e.getMessage()));
+            }
+        }
+
+        // 4. 鏋勯�犺繑鍥炵粨鏋�
+        if (failedItems.isEmpty()) {
+            return Result.OK("鎵归噺娣诲姞鎴愬姛锛屽叡娣诲姞" + successOrders.size() + "鏉¤褰�");
+        } else {
+            Map<String, Object> result = new HashMap<>();
+            result.put("successCount", successOrders.size());
+            result.put("failedCount", failedItems.size());
+            result.put("failedDetails", failedItems);
+
+            return Result.OK(
+                    "閮ㄥ垎娣诲姞澶辫触锛堟垚鍔�" + successOrders.size() + "鏉★紝澶辫触" + failedItems.size() + "鏉★級",
+                    result
+            );
+        }
+    }
+
+    // 鍒涘缓閿欒鏉$洰淇℃伅
+    private Map<String, Object> createErrorItem(int index, String reason) {
+        Map<String, Object> error = new HashMap<>();
+        error.put("index", index);
+        error.put("reason", reason);
+        return error;
+    }
+
+    /**
+     * 鍒涘缓閿欒椤硅鎯�
+     * @param id 宸ュ崟ID
+     * @param errorMessage 閿欒淇℃伅
+     * @param detail 閿欒璇︽儏
+     * @return 閿欒璇︽儏Map
+     */
+    private Map<String, Object> createErrorItem(String id, String errorMessage, Object detail) {
+        Map<String, Object> errorItem = new HashMap<>();
+        errorItem.put("id", id);
+        errorItem.put("error", errorMessage);
+        if (detail != null) {
+            errorItem.put("detail", detail);
+        }
+        return errorItem;
+    }
+
+    /**
+     * 鏋勫缓鎵归噺鎿嶄綔杩斿洖缁撴灉
+     * @param successCount 鎴愬姛鏁伴噺
+     * @param failedDetails 澶辫触璇︽儏鍒楄〃
+     * @param actionName 鎿嶄綔鍚嶇О锛�"浣滃簾"鎴�"杩樺師"锛�
+     * @return 缁熶竴鏍煎紡鐨勮繑鍥炵粨鏋�
+     */
+    private Result<?> buildBatchResult(int successCount,
+                                       List<Map<String, Object>> failedDetails,
+                                       List<String> successIds,
+                                       String actionName) {
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("successCount", successCount);
+        resultMap.put("failedCount", failedDetails.size());
+        resultMap.put("successIds", successIds);
+        resultMap.put("failedDetails", failedDetails);
+
+        if (failedDetails.isEmpty()) {
+            return Result.OK("鎵归噺" + actionName + "鎴愬姛锛屽叡" + actionName + " " + successCount + " 鏉″伐鍗曪紒"+resultMap);
+        } else {
+            return Result.OK("鎵归噺" + actionName + "閮ㄥ垎鎴愬姛锛堟垚鍔�" + successCount + "鏉★紝澶辫触" + failedDetails.size() + "鏉★級"+resultMap.get("failedDetails"));
+        }
+    }
+
+
+    /**
      * 缂栬緫
      *
      * @param request
@@ -131,6 +246,167 @@
     }
 
     /**
+     * 閫氳繃id浣滃簾
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "璁惧浜岀骇淇濆吇-浣滃簾")
+    @ApiOperation(value = "璁惧浜岀骇淇濆吇-浣滃簾", notes = "璁惧浜岀骇淇濆吇-浣滃簾")
+    @DeleteMapping(value = "/abolish")
+    public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
+        EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
+        if (entity == null) {
+            return Result.error("瑕佷綔搴熺殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
+        }
+        if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
+            return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛屼綔搴燂紒");
+        }
+        entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name());
+        eamSecondMaintenanceOrderService.updateById(entity);
+        return Result.OK("浣滃簾鎴愬姛!");
+    }
+
+    @AutoLog(value = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾")
+    @ApiOperation(value = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾", notes = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾")
+    @DeleteMapping(value = "/abolishBatch")
+    public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) {
+        List<String> list = Arrays.asList(ids.split(","));
+
+        // 璁板綍鎿嶄綔缁撴灉
+        int successCount = 0;
+        List<Map<String, Object>> failedDetails = new ArrayList<>();
+        List<String> successIds = new ArrayList<>();
+
+        for (String id : list) {
+            try {
+                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
+                if (entity == null) {
+                    // 璁板綍宸ュ崟涓嶅瓨鍦�
+                    failedDetails.add(createErrorItem(id, "宸ュ崟涓嶅瓨鍦�", null));
+                    continue;
+                }
+
+                if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
+                    // 璁板綍鐘舵�佷笉绗﹀悎瑕佹眰
+                    failedDetails.add(createErrorItem(id, "宸ュ崟鐘舵�佷笉婊¤冻浣滃簾瑕佹眰", entity.getMaintenanceStatus()));
+                    continue;
+                }
+
+                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name());
+                boolean updateResult = eamSecondMaintenanceOrderService.updateById(entity);
+
+                if (updateResult) {
+                    successCount++;
+                    successIds.add(id);
+                } else {
+                    // 璁板綍鏇存柊澶辫触
+                    failedDetails.add(createErrorItem(id, "鏇存柊鎿嶄綔鎵ц澶辫触", entity.getMaintenanceStatus()));
+                }
+            } catch (Exception e) {
+                // 璁板綍绯荤粺寮傚父
+                failedDetails.add(createErrorItem(id, "绯荤粺寮傚父: " + e.getMessage(), null));
+            }
+        }
+
+        // 鏋勯�犺繑鍥炵粨鏋�
+        return buildBatchResult(successCount, failedDetails, successIds, "浣滃簾");
+    }
+
+    /**
+     * 杩樺師浣滃簾宸ュ崟
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "璁惧浜岀骇淇濆吇-杩樺師浣滃簾宸ュ崟")
+    @ApiOperation(value = "璁惧浜岀骇淇濆吇-杩樺師浣滃簾宸ュ崟", notes = "璁惧浜岀骇淇濆吇-杩樺師浣滃簾宸ュ崟")
+    @GetMapping(value = "/restore")
+    public Result<?> restore(@RequestParam(name = "id", required = true) String id) {
+        EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
+        if (entity == null) {
+            return Result.error("瑕佽繕鍘熺殑浣滃簾鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒");
+        }
+        if (!SecondMaintenanceStatusEnum.ABOLISH.name().equals(entity.getMaintenanceStatus())) {
+            return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛岃繕鍘燂紒");
+        }
+        //鏌ヨ褰撳墠璁惧鍜屼繚鍏昏鑼僫d鏄惁鏈夊��
+        List<EamSecondMaintenanceOrder> eamSecondMaintenanceOrderList=eamSecondMaintenanceOrderService
+                .list(new QueryWrapper<EamSecondMaintenanceOrder>().eq("equipment_id",entity.getEquipmentId())
+                        .eq("standard_id",entity.getStandardId())
+                        .ne("maintenance_status",SecondMaintenanceStatusEnum.ABOLISH.name()));
+        if(!eamSecondMaintenanceOrderList.isEmpty()){
+            return Result.error("璇ヨ澶囧凡瀛樺湪瀵瑰簲浜屼繚宸ュ崟锛屼笉鍏佽杩樺師!");
+        }
+        entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+        eamSecondMaintenanceOrderService.updateById(entity);
+        return Result.OK("杩樺師鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺杩樺師浣滃簾宸ュ崟
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "璁惧浜岀骇淇濆吇-鎵归噺杩樺師浣滃簾宸ュ崟")
+    @ApiOperation(value = "璁惧浜岀骇淇濆吇-鎵归噺杩樺師浣滃簾宸ュ崟", notes = "璁惧浜岀骇淇濆吇-鎵归噺杩樺師浣滃簾宸ュ崟")
+    @DeleteMapping(value = "/restoreBatch")
+    public Result<?> restoreBatch(@RequestParam(name = "ids", required = true) String ids) {
+        List<String> list = Arrays.asList(ids.split(","));
+
+        // 璁板綍鎿嶄綔缁撴灉
+        int successCount = 0;
+        List<Map<String, Object>> failedDetails = new ArrayList<>();
+        List<String> successIds = new ArrayList<>();
+
+        for (String id : list) {
+            try {
+                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
+                if (entity == null) {
+                    // 璁板綍宸ュ崟涓嶅瓨鍦�
+                    failedDetails.add(createErrorItem(id, "宸ュ崟涓嶅瓨鍦�", null));
+                    continue;
+                }
+
+                if (!SecondMaintenanceStatusEnum.ABOLISH.name().equals(entity.getMaintenanceStatus())) {
+                    // 璁板綍鐘舵�佷笉鏄凡浣滃簾
+                    failedDetails.add(createErrorItem(id, "宸ュ崟鐘舵�佷笉鏄凡浣滃簾", entity.getMaintenanceStatus()));
+                    continue;
+                }
+
+                // 鏌ヨ褰撳墠璁惧鍜屼繚鍏昏鑼冩槸鍚﹀瓨鍦ㄩ潪浣滃簾鐘舵�佺殑宸ュ崟
+                List<EamSecondMaintenanceOrder> existingOrders = eamSecondMaintenanceOrderService
+                        .list(new QueryWrapper<EamSecondMaintenanceOrder>()
+                                .eq("equipment_id", entity.getEquipmentId())
+                                .eq("standard_id", entity.getStandardId())
+                                .ne("maintenance_status", SecondMaintenanceStatusEnum.ABOLISH.name()));
+
+                if (CollectionUtils.isNotEmpty(existingOrders)) {
+                    // 璁板綍瀛樺湪闈炰綔搴熺姸鎬佺殑宸ュ崟
+                    failedDetails.add(createErrorItem(id, "璇ヨ澶囧拰淇濆吇瑙勮寖宸插瓨鍦ㄩ潪浣滃簾鐘舵�佺殑宸ュ崟", existingOrders.size()));
+                    continue;
+                }
+
+                entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name());
+                boolean updateResult = eamSecondMaintenanceOrderService.updateById(entity);
+
+                if (updateResult) {
+                    successCount++;
+                    successIds.add(id);
+                } else {
+                    // 璁板綍鏇存柊澶辫触
+                    failedDetails.add(createErrorItem(id, "鏇存柊鎿嶄綔鎵ц澶辫触", entity.getMaintenanceStatus()));
+                }
+            } catch (Exception e) {
+                // 璁板綍绯荤粺寮傚父
+                failedDetails.add(createErrorItem(id, "绯荤粺寮傚父: " + e.getMessage(), null));
+            }
+        }
+
+        // 鏋勯�犺繑鍥炵粨鏋�
+        return buildBatchResult(successCount, failedDetails, successIds, "杩樺師");
+    }
+
+    /**
      * 閫氳繃id棰嗗彇
      *
      * @param id
@@ -153,22 +429,50 @@
      * @param ids
      * @return
      */
-    @AutoLog(value = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇")
-    @ApiOperation(value = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇", notes = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇")
+    @AutoLog(value = "璁惧浜岀骇淇濆吇-鎵归噺棰嗗彇")
+    @ApiOperation(value = "璁惧浜岀骇淇濆吇-鎵归噺棰嗗彇", notes = "璁惧浜岀骇淇濆吇-鎵归噺棰嗗彇")
     @DeleteMapping(value = "/collectBatch")
     public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) {
         List<String> list = Arrays.asList(ids.split(","));
-        AtomicInteger i = new AtomicInteger();
-        list.forEach(id -> {
-            EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
-            if (entity != null && SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
-                boolean b = eamSecondMaintenanceOrderService.collect(id);
-                if (b) {
-                    i.getAndIncrement();
+
+        // 璁板綍鎿嶄綔缁撴灉
+        int successCount = 0;
+        List<Map<String, Object>> failedDetails = new ArrayList<>();
+        List<String> successIds = new ArrayList<>();
+
+        for (String id : list) {
+            try {
+                EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id);
+                if (entity == null) {
+                    // 璁板綍宸ュ崟涓嶅瓨鍦�
+                    failedDetails.add(createErrorItem(id, "宸ュ崟涓嶅瓨鍦�", null));
+                    continue;
                 }
+
+                // 鐘舵�佹牎楠�
+                if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) {
+                    failedDetails.add(createErrorItem(id,
+                            "宸ュ崟褰撳墠鐘舵�佷笉婊¤冻棰嗗彇鏉′欢",
+                            entity.getMaintenanceStatus()));
+                    continue;
+                }
+
+                // 鎵ц棰嗗彇鎿嶄綔
+                boolean collectResult = eamSecondMaintenanceOrderService.collect(id);
+
+                if (collectResult) {
+                    successCount++;
+                    successIds.add(id);
+                } else {
+                    failedDetails.add(createErrorItem(id, "棰嗗彇鎿嶄綔鎵ц澶辫触", null));
+                }
+            } catch (Exception e) {
+                failedDetails.add(createErrorItem(id, "绯荤粺寮傚父: " + e.getMessage(), null));
             }
-        });
-        return Result.OK("鎵归噺棰嗗彇鎴愬姛 " + i.get() + " 鏉″伐鍗曪紒");
+        }
+
+        // 鏋勯�犺繑鍥炵粨鏋滐紙浣跨敤涓庢壒閲忎綔搴�/杩樺師鐩稿悓鐨勬柟娉曪級
+        return buildBatchResult(successCount, failedDetails, successIds, "棰嗗彇");
     }
 
     /**
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 73913b9..8dbc946 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
@@ -183,7 +183,7 @@
         //鍒犻櫎鏍囪
         entity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+        EamMaintenanceStandard exist = checkDuplicate(entity.getEquipmentId(), entity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
         if (exist != null) {
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
@@ -259,7 +259,7 @@
         //鍒犻櫎鏍囪
         newEntity.setDelFlag(CommonConstant.DEL_FLAG_0);
         //閲嶅鎬ф牎楠�
-        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.WAIT_SUBMIT.name());
+        EamMaintenanceStandard exist = checkDuplicate(newEntity.getEquipmentId(), newEntity.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
         if (exist != null) {
             throw new JeecgBootException("璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞锛�");
         }
@@ -285,7 +285,7 @@
         queryWrapper.eq(EamMaintenanceStandard::getEquipmentId, equipmentId);
         queryWrapper.eq(EamMaintenanceStandard::getMaintenanceCategory, maintenanceCategory);
         queryWrapper.eq(EamMaintenanceStandard::getDelFlag, CommonConstant.DEL_FLAG_0);
-        queryWrapper.eq(EamMaintenanceStandard::getStandardStatus, standardStatus);
+        queryWrapper.ne(EamMaintenanceStandard::getStandardStatus, standardStatus);
         queryWrapper.orderByDesc(EamMaintenanceStandard::getStandardVersion);
 
         List<EamMaintenanceStandard> list = eamMaintenanceStandardMapper.selectList(queryWrapper);
@@ -382,6 +382,7 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Result<?> auditEamMaintenanceStandard(EamMaintenanceStandardVo eamMaintenanceStandardVo) {
         try {
             // 鍙傛暟鏍¢獙
@@ -562,7 +563,7 @@
 
             // 妫�鏌ラ噸澶�
             EamMaintenanceStandard exist = checkDuplicate(eamMaintenanceStandard.getEquipmentId(),
-                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
+                    eamMaintenanceStandard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
             if (exist != null) {
                 return Result.error(name + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
             }
@@ -1125,7 +1126,7 @@
 
                     // 閰嶇疆绫诲瀷鐩稿叧鍙傛暟
                     configureStandard(standard, type, file);
-                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.START.name());
+                    EamMaintenanceStandard exist = checkDuplicate(standard.getEquipmentId(), standard.getMaintenanceCategory(), MaintenanceStandardStatusEnum.ABOLISH.name());
                     if (exist != null) {
                         return Result.error(fileName + ": 璁惧鏍囧噯宸插瓨鍦紝涓嶈兘閲嶅娣诲姞");
                     }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
index b8cd1ce..89cdf03 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -183,6 +183,7 @@
             eamMaintenanceStandardDetailList.forEach(item -> {
                 EamSecondMaintenanceOrderDetail detail = new EamSecondMaintenanceOrderDetail();
                 BeanUtils.copyProperties(item, detail);
+                detail.setId(null);
                 detail.setOrderId(order.getId());
                 requestTableDetailList.add(detail);
             });

--
Gitblit v1.9.3