From b0978a62cf2050170793e87fbd01db1760808043 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期三, 04 十一月 2026 09:50:30 +0800
Subject: [PATCH] feat: 从长辉移植新高缺失的六个业务模块(安全生产/能耗/数采/备件/质检台账/售后问题回访)

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
index 8730d3e..b3c8697 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productreceipt/MesWmProductReceiptServiceImpl.java
@@ -112,7 +112,10 @@
         }
 
         String code = "AUTO-PR-" + produce.getId();
-        MesWmProductReceiptDO existing = productReceiptMapper.selectByCode(code);
+        MesWmProductReceiptDO existing = productReceiptMapper.selectByProduceId(produce.getId());
+        if (existing == null) {
+            existing = productReceiptMapper.selectByCode(code); // 鍏煎鎵ц杩佺Щ SQL 鍓嶇敓鎴愮殑鍘嗗彶鍗曟嵁
+        }
         if (existing != null) {
             return existing.getId();
         }
@@ -127,6 +130,7 @@
                 .code(code)
                 .name("鐢熶骇瀹屾垚鑷姩鍏ュ簱-" + workOrderCode)
                 .workOrderId(produce.getWorkOrderId())
+                .produceId(produce.getId())
                 .itemId(firstMdmItemId)
                 .receiptDate(LocalDateTime.now())
                 .status(MesWmProductReceiptStatusEnum.PREPARE.getStatus())
@@ -262,8 +266,11 @@
             throw exception(WM_PRODUCT_RECPT_NO_DETAIL);
         }
 
-        // 鍒涘缓搴撳瓨浜嬪姟
-        createTransactionList(receipt, details);
+        // 鑷姩鍏ュ簱鍗曟潵婧愪骇鍑哄崟宸叉寜宸ヨ壓璺嚎浠撳簱璁拌处锛屾澶勪粎瀹屾垚涓氬姟鍗曟嵁锛岄伩鍏嶅疄闄呬粨搴撻噸澶嶅叆搴撱��
+        // 鎵嬪伐鍒涘缓鐨勪骇鍝佸叆搴撳崟浠嶆墽琛屸�滆櫄鎷熺嚎杈瑰簱 OUT + 瀹為檯浠撳簱 IN鈥濄��
+        if (receipt.getProduceId() == null) {
+            createTransactionList(receipt, details);
+        }
 
         // 鏇存柊鏀惰揣鍗曠姸鎬�
         productReceiptMapper.updateById(new MesWmProductReceiptDO()

--
Gitblit v1.9.3