From 5072520172e8f45e3ccb8afc26cf0c8186ba4cdd Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 19 十月 2026 16:31:42 +0800
Subject: [PATCH] refactor(mes): 重构质量管理和批次绑定功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java |   26 +++++++++++---------------
 1 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
index 5a46e79..e7cda33 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
@@ -80,6 +80,12 @@
                 updateItem(createReqVO);
                 return createReqVO.getId();
             }
+            // 瀛樺湪閫昏緫鍒犻櫎璁板綍锛堝彇娑堝悓姝ュ悗閲嶆柊鍚屾锛夛細鎭㈠璇ヨ褰曞悗璧版洿鏂帮紝閬垮厤涓婚敭鍐茬獊
+            if (itemMapper.selectAnyById(createReqVO.getId()) != null) {
+                itemMapper.restoreById(createReqVO.getId());
+                updateItem(createReqVO);
+                return createReqVO.getId();
+            }
         }
 
         // 鎻掑叆
@@ -129,10 +135,10 @@
     private void validateItemSaveData(MesMdItemSaveReqVO reqVO) {
         // 鏍¢獙鐗╂枡缂栫爜鐨勫敮涓�鎬�
         validateItemCodeUnique(reqVO.getId(), reqVO.getCode());
-        // 鏍¢獙鐗╂枡鍚嶇О鐨勫敮涓�鎬�
-        validateItemNameUnique(reqVO.getId(), reqVO.getName());
-        // 鏍¢獙鐗╂枡鍒嗙被瀛樺湪
-        validateItemTypeExists(reqVO.getItemTypeId());
+        // 鏍¢獙鐗╂枡鍒嗙被瀛樺湪锛圡DM 鍝佺鍚屾涓嶄紶鍒嗙被锛屽厑璁镐负绌猴級
+        if (reqVO.getItemTypeId() != null) {
+            validateItemTypeExists(reqVO.getItemTypeId());
+        }
         // 鏍¢獙璁¢噺鍗曚綅瀛樺湪
         validateUnitMeasureExists(reqVO.getUnitMeasureId());
     }
@@ -202,16 +208,6 @@
         }
         if (ObjUtil.notEqual(item.getId(), id)) {
             throw exception(MD_ITEM_CODE_DUPLICATE);
-        }
-    }
-
-    private void validateItemNameUnique(Long id, String name) {
-        MesMdItemDO item = itemMapper.selectByName(name);
-        if (item == null) {
-            return;
-        }
-        if (ObjUtil.notEqual(item.getId(), id)) {
-            throw exception(MD_ITEM_NAME_DUPLICATE);
         }
     }
 
@@ -413,4 +409,4 @@
         return item;
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3