From f02d0df2f1dfc7a8b775cf50d45375e57628a5ef Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 10 十一月 2026 11:26:22 +0800
Subject: [PATCH] feat(ncr): 完善NCR处置联动逻辑与关闭校验

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
index 84452a3..9d43702 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
@@ -44,7 +44,7 @@
 /**
  * MES 鐗╂枡娑堣�楄褰� Service 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Service
 @Validated
@@ -78,9 +78,10 @@
         if (feedback.getWorkOrderId() == null) {
             throw exception(PRO_FEEDBACK_ROUTE_PROCESS_INVALID);
         }
-        // 1.2 鏌ヨ宸ュ崟 BOM 鐗╂枡鍒楄〃锛堝�掑啿鎸夊伐鍗曟姇鏂欙紝闈炲伐鑹鸿矾绾匡級
-        List<MesProWorkOrderBomDO> boms = workOrderBomService.getWorkOrderBomListByWorkOrderId(
-                feedback.getWorkOrderId());
+        // 1.2 鏌ヨ璇ュ�掑啿宸ュ簭鐨勬姇鏂� BOM 鍒楄〃锛堟寜鎶ュ伐宸ュ簭杩囨护锛屽彧鎵e綋鍓嶅伐搴忕殑鎶曟枡鏄庣粏锛�
+        //     閬垮厤鎶婂叾浠栧伐搴忕殑鎶曟枡涓�骞舵墸闄ゅ鑷村鎵g墿鏂欙級
+        List<MesProWorkOrderBomDO> boms = workOrderBomService.getWorkOrderBomListByWorkOrderIdAndProcessId(
+                feedback.getWorkOrderId(), feedback.getProcessId());
         if (CollUtil.isEmpty(boms)) {
             return null;
         }
@@ -177,6 +178,9 @@
         // 1. 鏌ヨ娑堣�楁槑缁嗭紙detail 绾у埆锛屽寘鍚簿纭殑鎵规/浠撳簱淇℃伅锛�
         List<MesWmItemConsumeDetailDO> details = itemConsumeDetailService
                 .getItemConsumeDetailListByConsumeId(consumeId);
+        // 鐢熶骇璁㈠崟 ID 鍐椾綑鍒版祦姘达紝渚夸簬鍑哄簱鍙拌处鎸夌敓浜ц鍗曡拷婧�
+        MesWmItemConsumeDO consume = itemConsumeMapper.selectById(consumeId);
+        Long workOrderId = consume != null ? consume.getWorkOrderId() : null;
 
         // 2. 閬嶅巻鏄庣粏锛屽垱寤哄簱瀛樹簨鍔★紙鎸夋壒娆$簿纭墸鍑忕嚎杈瑰簱锛�
         for (MesWmItemConsumeDetailDO detail : details) {
@@ -191,7 +195,7 @@
                     .setAreaId(detail.getAreaId())
                     .setCheckFlag(false) // 绾胯竟搴撳厑璁歌礋搴撳瓨
                     .setBizType(MesBizTypeConstants.WM_ITEM_CONSUME)
-                    .setBizId(consumeId)
+                    .setBizId(consumeId).setWorkOrderId(workOrderId)
                     .setBizCode("")
                     .setBizLineId(detail.getLineId()));
         }

--
Gitblit v1.9.3