From 0a2206a53d5889b6095f4819c263be858d86ca91 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 29 十月 2026 17:22:31 +0800
Subject: [PATCH] feat(mes): 增加盘号管理和库存搜索功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java
index ef8e9ff..f083ece 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/materialstock/MesWmMaterialStockServiceImpl.java
@@ -132,6 +132,8 @@
             MesMdItemDO item = mdItemService.getItem(pageReqVO.getItemId());
             if (item != null && item.getMdmItemId() != null) {
                 itemIds = SetUtils.asSet(item.getMdmItemId());
+            } else {
+                return PageResult.empty();
             }
         }
         // 1.3 瑙f瀽 virtualFilter锛氳浆鎹负铏氭嫙浠� warehouseId
@@ -459,11 +461,16 @@
     private MesWmBatchDO resolveBatch(MesWmMaterialStockAdjustReqVO reqVO, MesMdmItemDO item) {
         // 鍗充娇鐗╂枡鏈惎鐢ㄦ櫘閫氭壒娆$鐞嗭紝涔熻淇濈暀骞舵牎楠岀洏鍙疯拷婧壒娆°��
         if (reqVO.getBatchId() != null) {
-            return batchService.validateBatchExists(reqVO.getBatchId(), reqVO.getItemId());
+            MesWmBatchDO existing = batchService.validateBatchExists(reqVO.getBatchId(), reqVO.getItemId());
+            if (StrUtil.isNotBlank(reqVO.getReelNo())
+                    && !Objects.equals(StrUtil.trim(reqVO.getReelNo()), StrUtil.trim(existing.getReelNo()))) {
+                throw exception(WM_BATCH_REEL_MISMATCH);
+            }
+            return existing;
         }
 
         // 1. 鏈寚瀹氳拷婧壒娆′笖鐗╂枡鏈惎鐢ㄦ壒娆$鐞嗭紝杩斿洖 null
-        if (Boolean.FALSE.equals(item.getIsBatchManaged())) {
+        if (Boolean.FALSE.equals(item.getIsBatchManaged()) && StrUtil.isBlank(reqVO.getReelNo())) {
             return null;
         }
 
@@ -471,6 +478,7 @@
         MesWmBatchGenerateReqVO batchReqVO = new MesWmBatchGenerateReqVO()
                 .setItemId(reqVO.getItemId())
                 .setBatchCode(reqVO.getBatchCode())
+                .setReelNo(StrUtil.trimToNull(reqVO.getReelNo()))
                 .setVendorId(reqVO.getVendorId())
                 .setProduceDate(reqVO.getProduceDate() != null ? reqVO.getProduceDate().atStartOfDay() : null)
                 .setExpireDate(reqVO.getExpireDate() != null ? reqVO.getExpireDate().atStartOfDay() : null)

--
Gitblit v1.9.3