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 |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 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 c90f8a7..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("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
@@ -711,7 +723,7 @@
                         p1.getUnit(),
                         p1.getTrackCode(),
                         p1.getFieldsIndex(),
-                        Math.round((p1.getAnfme() + p2.getAnfme()) * 100) / 100.0,
+                        Math.round((p1.getAnfme() + p2.getAnfme())* 1000000) / 1000000.0,
                         p1.getWorkQty(),
                         p1.getTenantId(),
                         p1.getStatus(),
@@ -727,4 +739,25 @@
 
         return waveItems;
     }
+
+
+    /**
+     * @param id
+     * @return
+     * @author Ryan
+     * @description 瀹屾垚鍑哄簱鍗�
+     * @time 2025/4/25 10:07
+     */
+    @Override
+    public R completeOutOrderById(Long id) {
+        WkOrder order = this.getById(id);
+        if (Objects.isNull(order)) {
+            return R.error("鍑哄簱鍗曚笉瀛樺湪锛侊紒");
+        }
+        order.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_DONE.val);
+        if (!this.updateById(order)) {
+            throw new CoolException("瀹屾垚鍑哄簱鍗曞け璐ワ紒锛�");
+        }
+         return R.ok("瀹屾垚鍑哄簱鍗曟垚鍔燂紒锛�");
+    }
 }

--
Gitblit v1.9.1