From e6d3803d1bafb782c0907fa925ec110932bc3f23 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 25 二月 2026 14:46:34 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 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 594cd86..04d3d0e 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
@@ -481,6 +481,24 @@
         return R.ok(locItems);
     }
 
+    @Override
+    public List<OrderOutItemDto>  getOrderOutTaskItemAuto(OrderOutTaskParam param) {
+        if (Cools.isEmpty(param.getWaveId())) {
+            throw new CoolException("绛栫暐鍙傛暟涓虹┖");
+        }
+        if (Cools.isEmpty(param.getOrderId())) {
+            throw new CoolException("鍗曟嵁ID涓虹┖");
+        }
+        WaveRule waveRule = waveRuleService.getOne(new LambdaQueryWrapper<WaveRule>()
+                .eq(WaveRule::getId, param.getWaveId()));
+        if (Cools.isEmpty(waveRule)) {
+            throw new CoolException("鏈壘鍒板綋鍓嶇瓥鐣�");
+        }
+        List<OrderOutItemDto> locItems = null;
+        locItems = getOutOrderList(param.getOrderId(), waveRule);
+        return locItems;
+    }
+
     /**
      * 鐢熸垚鍑哄簱浠诲姟
      *
@@ -501,6 +519,11 @@
             return LocUtils.isShallowLoc(item.getLocCode()) ? 1 : 0;
         }).reversed()).collect(Collectors.toList());
 
+        WkOrder wkOrder = outStockService.getById(outId);
+        if (Cools.isEmpty(wkOrder)) {
+            throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+        }
+
         for (OutStockToTaskParams param : Items) {
             if (Objects.isNull(param) || StringUtils.isBlank(param.getLocCode())) {
                 continue;
@@ -512,9 +535,9 @@
 
                 WkOrderItem orderItem = outStockItemService.getOne(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(StringUtils.isNotBlank(locItem.getBatch()), WkOrderItem::getSplrBatch, locItem.getBatch())
                         .eq(WkOrderItem::getMatnrId, locItem.getMatnrId()));
+//                        .eq(StringUtils.isNotBlank(locItem.getFieldsIndex()), WkOrderItem::getFieldsIndex, locItem.getFieldsIndex())
 
                 if (Objects.isNull(orderItem)) {
                     throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�");
@@ -533,9 +556,13 @@
                         .setItems(locItems)
                         .setSourceId(outId)
                         .setSiteNo(param.getSiteNo());
+                //澧炲姞澶囪揣鍑哄簱绫诲瀷鍒ゆ柇
+                Short type = wkOrder.getWkType().equals(OrderWorkType.ORDER_WORK_TYPE_STOCK_UP.type)
+                        ?TaskResouceType.TASK_RESOUCE_STOCK_UP.val
+                        :TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val;
                 try {
                     //鐢熸垚鍑哄簱浠诲姟
-                    locItemService.generateTask(TaskResouceType.TASK_RESOUCE_ORDER_TYPE.val, taskParams, loginUserId);
+                    locItemService.generateTask(type, taskParams, loginUserId);
                 } catch (Exception e) {
                     logger.error("UNK", e);
                     throw new CoolException(e.getMessage());

--
Gitblit v1.9.1