From 0857cf1830039d60ce73005f386f284cf575e511 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 26 十月 2026 14:00:19 +0800
Subject: [PATCH] feat(mes): 新增ERP销售订单生产状态枚举及MES工艺路线优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 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 319ea0f..b43e40f 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
@@ -135,8 +135,10 @@
     private void validateItemSaveData(MesMdItemSaveReqVO reqVO) {
         // 鏍¢獙鐗╂枡缂栫爜鐨勫敮涓�鎬�
         validateItemCodeUnique(reqVO.getId(), reqVO.getCode());
-        // 鏍¢獙鐗╂枡鍚嶇О鐨勫敮涓�鎬�
-        validateItemNameUnique(reqVO.getId(), reqVO.getName());
+        // 鏍¢獙鐗╂枡鍚嶇О鐨勫敮涓�鎬э細MDM 涓绘暟鎹互缂栫爜涓哄敮涓�鏍囪瘑锛屽厑璁稿悓鍚嶄笉鍚岃鏍�
+        if (reqVO.getMdmItemId() == null) {
+            validateItemNameUnique(reqVO.getId(), reqVO.getName());
+        }
         // 鏍¢獙鐗╂枡鍒嗙被瀛樺湪
         validateItemTypeExists(reqVO.getItemTypeId());
         // 鏍¢獙璁¢噺鍗曚綅瀛樺湪
@@ -212,11 +214,9 @@
     }
 
     private void validateItemNameUnique(Long id, String name) {
-        MesMdItemDO item = itemMapper.selectByName(name);
-        if (item == null) {
-            return;
-        }
-        if (ObjUtil.notEqual(item.getId(), id)) {
+        // 浣跨敤鍒楄〃鏌ヨ锛氬瓨閲忔暟鎹彲鑳藉瓨鍦ㄥ悓鍚嶇墿鏂欙紝閬垮厤 selectOne 鐩存帴鎶涘紓甯�
+        List<MesMdItemDO> items = itemMapper.selectList(MesMdItemDO::getName, name);
+        if (items.stream().anyMatch(item -> ObjUtil.notEqual(item.getId(), id))) {
             throw exception(MD_ITEM_NAME_DUPLICATE);
         }
     }

--
Gitblit v1.9.3