From e74b573ca564027c78406354dd3797bb3e36de35 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 04 二月 2026 09:21:15 +0800
Subject: [PATCH] bug3, 调整库存报错 locId为空

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
index 1852771..f1a7ffb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -478,16 +478,28 @@
             if (Objects.isNull(param) || StringUtils.isBlank(param.getLocCode())) {
                 continue;
             }
-            Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, param.getLocCode()).eq(Loc::getBarcode, param.getBarcode()));
+            // 淇锛氭瀯寤哄簱浣嶆煡璇㈡潯浠讹紝濡傛灉barcode涓虹┖锛屽彧鎸塴ocCode鏌ヨ
+            LambdaQueryWrapper<Loc> locQueryWrapper = new LambdaQueryWrapper<Loc>()
+                    .eq(Loc::getCode, param.getLocCode());
+            if (StringUtils.isNotBlank(param.getBarcode())) {
+                locQueryWrapper.eq(Loc::getBarcode, param.getBarcode());
+            }
+            Loc loc = locService.getOne(locQueryWrapper);
             if (!Objects.isNull(loc)) {
                 List<LocItem> locItems = new ArrayList<>();
                 LocItem locItem = locItemService.getById(param.getId());
 
-                WkOrderItem orderItem = outStockItemService.getOne(new LambdaQueryWrapper<WkOrderItem>()
+                // 淇锛氭瀯寤烘煡璇㈡潯浠讹紝鍏堟瀯寤哄熀纭�鏉′欢锛屽啀鏍规嵁鍊兼槸鍚︿负绌哄姩鎬佹坊鍔�
+                LambdaQueryWrapper<WkOrderItem> orderItemWrapper = new LambdaQueryWrapper<WkOrderItem>()
                         .eq(WkOrderItem::getOrderId, outId)
-                        .eq(StringUtils.isNotBlank(locItem.getBatch()), WkOrderItem::getSplrBatch, locItem.getBatch())
-                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), WkOrderItem::getFieldsIndex, locItem.getFieldsIndex())
-                        .eq(WkOrderItem::getMatnrId, locItem.getMatnrId()));
+                        .eq(WkOrderItem::getMatnrId, locItem.getMatnrId());
+                if (StringUtils.isNotBlank(locItem.getBatch())) {
+                    orderItemWrapper.eq(WkOrderItem::getSplrBatch, locItem.getBatch());
+                }
+                if (StringUtils.isNotBlank(locItem.getFieldsIndex())) {
+                    orderItemWrapper.eq(WkOrderItem::getFieldsIndex, locItem.getFieldsIndex());
+                }
+                WkOrderItem orderItem = outStockItemService.getOne(orderItemWrapper);
 
                 if (Objects.isNull(orderItem)) {
                     throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");

--
Gitblit v1.9.1