From e418f64a7ca0d6ec76096c46a2b543dab8495119 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 14 八月 2026 10:33:51 +0800
Subject: [PATCH] refactor(mes): 调整物料状态控制逻辑

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderProcessServiceImpl.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderProcessServiceImpl.java
index 9ee4e74..ebee3db 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderProcessServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderProcessServiceImpl.java
@@ -24,6 +24,7 @@
 import java.util.Comparator;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
@@ -31,7 +32,7 @@
 /**
  * MES 鐢熶骇宸ュ崟宸ュ簭 Service 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Service
 @Validated
@@ -60,6 +61,12 @@
 
         // 2. 鎻掑叆鏁版嵁
         MesProWorkOrderProcessDO workOrderProcess = BeanUtils.toBean(createReqVO, MesProWorkOrderProcessDO.class);
+        if (CollUtil.isNotEmpty(createReqVO.getOutputItemIds())) {
+            workOrderProcess.setOutputItemId(
+                createReqVO.getOutputItemIds().stream()
+                    .map(String::valueOf)
+                    .collect(Collectors.joining(",")));
+        }
         workOrderProcessMapper.insert(workOrderProcess);
 
         // 3. 閲嶅缓宸ュ簭閾�
@@ -75,6 +82,12 @@
 
         // 2. 鏇存柊鏁版嵁
         MesProWorkOrderProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProWorkOrderProcessDO.class);
+        if (CollUtil.isNotEmpty(updateReqVO.getOutputItemIds())) {
+            updateObj.setOutputItemId(
+                updateReqVO.getOutputItemIds().stream()
+                    .map(String::valueOf)
+                    .collect(Collectors.joining(",")));
+        }
         workOrderProcessMapper.updateById(updateObj);
 
         // 3. 閲嶅缓宸ュ簭閾�
@@ -175,10 +188,16 @@
             if (item.getId() == null) {
                 // 鏂板
                 MesProWorkOrderProcessDO process = BeanUtils.toBean(item, MesProWorkOrderProcessDO.class);
+                if (CollUtil.isNotEmpty(item.getOutputItemIds())) {
+                    process.setOutputItemId(item.getOutputItemIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
+                }
                 workOrderProcessMapper.insert(process);
             } else {
                 // 鏇存柊
                 MesProWorkOrderProcessDO updateObj = BeanUtils.toBean(item, MesProWorkOrderProcessDO.class);
+                if (CollUtil.isNotEmpty(item.getOutputItemIds())) {
+                    updateObj.setOutputItemId(item.getOutputItemIds().stream().map(String::valueOf).collect(Collectors.joining(",")));
+                }
                 workOrderProcessMapper.updateById(updateObj);
             }
         }

--
Gitblit v1.9.3