From dd637406e18a7afbf08d323c6ece913fe545b7ad Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 28 十月 2026 18:11:32 +0800
Subject: [PATCH] feat(mes): 增加盘号追溯功能和销售退货单优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java
index 084e2ad..36f617d 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/batch/MesWmBatchMapper.java
@@ -95,6 +95,11 @@
     default MesWmBatchDO selectFirst(MesWmBatchDO batch) {
         LambdaQueryWrapper<MesWmBatchDO> query = new LambdaQueryWrapper<>();
         query.eq(MesWmBatchDO::getItemId, batch.getItemId());
+        if (ObjUtil.isNull(batch.getReelNo())) {
+            query.isNull(MesWmBatchDO::getReelNo);
+        } else {
+            query.eq(MesWmBatchDO::getReelNo, batch.getReelNo());
+        }
         if (ObjUtil.isNull(batch.getVendorId())) {
             query.isNull(MesWmBatchDO::getVendorId);
         } else {
@@ -168,6 +173,12 @@
 
         // 杩斿洖 ID 鏈�灏忕殑鎵规
         query.orderByAsc(MesWmBatchDO::getId);
+        if (batch.getReelNo() != null) {
+            // 鏁版嵁搴撴帓搴忚鍒欏彲鑳藉拷鐣ュぇ灏忓啓鎴栨湯灏剧┖鏍硷紱鐩樺彿蹇呴』鎸夎緭鍏ュ�肩簿纭尮閰嶃��
+            return selectList(query).stream()
+                    .filter(candidate -> batch.getReelNo().equals(candidate.getReelNo()))
+                    .findFirst().orElse(null);
+        }
         query.last("LIMIT 1");
         return selectOne(query);
     }

--
Gitblit v1.9.3