From c89f7dcf9344a35efde2a00edb10491b401ba000 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 16 九月 2026 09:19:00 +0800
Subject: [PATCH] feat(trace): 添加种子流向信息展示功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
index 313063f..39a8381 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java
@@ -4,6 +4,7 @@
 import cn.hutool.core.util.ObjUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchFlowRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchGenerateReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPageReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchProcessTraceRespVO;
@@ -409,6 +410,11 @@
     }
 
     @Override
+    public List<MesWmBatchFlowRespVO> getBatchFlowList(String code) {
+        return batchMapper.selectBatchFlowList(code);
+    }
+
+    @Override
     public MesWmBatchDO getBatchBySn(String sn) {
         MesWmSnDO snDO = snMapper.selectOne(MesWmSnDO::getCode, sn);
         if (snDO == null || StrUtil.isBlank(snDO.getBatchCode())) {
@@ -423,13 +429,21 @@
         if (proBatch == null || StrUtil.isBlank(proBatch.getCode())) {
             return null;
         }
-        // 1. 澶嶇敤宸叉湁浠撳簱鎵规锛堝悓涓�鐢熶骇鎵规鍙凤級
-        MesWmBatchDO existing = batchMapper.selectByCode(proBatch.getCode());
+        // 1. 浼樺厛鎸夌敓浜ф壒娆� ID 澶嶇敤锛屽吋瀹瑰巻鍙叉暟鎹啀鎸夋壒娆″彿鍖归厤
+        MesWmBatchDO existing = batchMapper.selectOne(MesWmBatchDO::getProBatchId, proBatch.getId());
+        if (existing == null) {
+            existing = batchMapper.selectByCode(proBatch.getCode());
+        }
         if (existing != null) {
+            if (existing.getProBatchId() == null && proBatch.getId() != null) {
+                existing.setProBatchId(proBatch.getId());
+                batchMapper.updateById(existing);
+            }
             return existing;
         }
         // 2. 鏂板缓浠撳簱鎵规锛氫互鐢熶骇鎵规鍙蜂綔涓轰粨搴撴壒娆″彿锛岃川閲忕姸鎬佺疆涓哄緟妫�楠�
         MesWmBatchDO batch = MesWmBatchDO.builder()
+                .proBatchId(proBatch.getId())
                 .code(proBatch.getCode())
                 .itemId(proBatch.getItemId())
                 .produceDate(proBatch.getProduceDate())

--
Gitblit v1.9.3