From 6e98da8a58b29ca550f2b5f45564f9ecf7740b5b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 07 十一月 2026 10:27:07 +0800
Subject: [PATCH] fix(bpm): 修正业务监听器的流程 key 匹配与空单号防护
---
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