From 3990ae574c221e3764ce9cbc2e4e3eb71b7b1b52 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 24 十月 2026 23:41:23 +0800
Subject: [PATCH] fix(mes): 修复批次正反向追溯链路

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/batch/MesWmBatchServiceImpl.java |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 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 ea88533..ddf3f49 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
@@ -382,7 +382,22 @@
 
     @Override
     public List<MesWmBatchPurchaseSourceRespVO> getPurchaseSourceList(String code) {
-        return batchMapper.selectPurchaseSourceList(code);
+        // 鎴愬搧鎵规鏈韩閫氬父娌℃湁閲囪喘鍏ュ簱璁板綍锛岄渶瑕佸悓鏃舵眹鎬绘墍鏈変笂娓稿師鏂欐壒娆$殑閲囪喘鏉ユ簮銆�
+        List<String> batchCodes = new ArrayList<>();
+        Set<String> visited = new HashSet<>();
+        if (StrUtil.isNotBlank(code) && visited.add(code)) {
+            batchCodes.add(code);
+        }
+        for (MesWmBatchDO batch : getBackwardBatchList(code)) {
+            if (StrUtil.isNotBlank(batch.getCode()) && visited.add(batch.getCode())) {
+                batchCodes.add(batch.getCode());
+            }
+        }
+        List<MesWmBatchPurchaseSourceRespVO> result = new ArrayList<>();
+        for (String batchCode : batchCodes) {
+            result.addAll(batchMapper.selectPurchaseSourceList(batchCode));
+        }
+        return result;
     }
 
     @Override

--
Gitblit v1.9.3