From 4f47f94957e67df0864930a2f638e9bdc8411b36 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期三, 25 二月 2026 09:50:06 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGeneralParam.java   |    6 +++
 rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java |   31 +++++++++++++--
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java   |   32 ++++++++--------
 3 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
index d47a8cb..89faf4c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/pda/PdaOutStockController.java
@@ -10,12 +10,13 @@
 import com.vincent.rsf.server.api.entity.params.OrderOutGeneralParam;
 import com.vincent.rsf.server.api.service.PdaOutStockService;
 import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam;
+import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams;
+import com.vincent.rsf.server.manager.entity.Loc;
+import com.vincent.rsf.server.manager.entity.LocItem;
 import com.vincent.rsf.server.manager.entity.WkOrder;
 import com.vincent.rsf.server.manager.entity.WkOrderItem;
 import com.vincent.rsf.server.manager.enums.OrderType;
-import com.vincent.rsf.server.manager.service.AsnOrderItemService;
-import com.vincent.rsf.server.manager.service.OutStockItemService;
-import com.vincent.rsf.server.manager.service.OutStockService;
+import com.vincent.rsf.server.manager.service.*;
 import com.vincent.rsf.server.system.constant.DictTypeCode;
 import com.vincent.rsf.server.system.controller.BaseController;
 import com.vincent.rsf.server.system.entity.DictData;
@@ -27,6 +28,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -45,6 +47,10 @@
     private DictDataService dictDataService;
     @Autowired
     private AsnOrderItemService asnOrderItemService;
+    @Autowired
+    private LocService locService;
+    @Autowired
+    private LocItemService locItemService;
 
     @GetMapping("/outStockTaskItem/{barcode}")
     @ApiOperation("蹇�熸嫞璐ф煡璇�")
@@ -154,9 +160,24 @@
     //
     @PostMapping("/orderOut/getOutLocRun")
     public R orderOutGetOutLocRun(@RequestBody OrderOutGeneralParam param) {
-        //鍙傛暟 param.getOrderItemId()//鍑哄簱鎵ц
+        LocItem locItem = locItemService.getById(param.getItemId());
+        if (Cools.isEmpty(locItem)) {
+            return R.error().add("鏈煡璇㈠埌搴撳瓨鏄庣粏");
+        }
+        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, locItem.getLocCode()));
 
-        return R.ok();
+        if (Cools.isEmpty(loc)) {
+            return R.error().add("鏈煡璇㈠埌搴撲綅淇℃伅");
+        }
+        WkOrderItem orderItem = asnOrderItemService.getById(param.getOrderItemId());
+
+
+        List<OutStockToTaskParams> tasks = new ArrayList<>();
+        OutStockToTaskParams outStockToTaskParams = new OutStockToTaskParams(orderItem);
+        outStockToTaskParams.setLocCode(loc.getCode());
+        outStockToTaskParams.setSiteNo(param.getOutSta().toString());
+        tasks.add(outStockToTaskParams);
+        return outStockService.genOutStockTask(tasks,getLoginUserId(), orderItem.getOrderId());
     }
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGeneralParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGeneralParam.java
index e01066d..b4465d3 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGeneralParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/params/OrderOutGeneralParam.java
@@ -19,5 +19,11 @@
         private Double anfme;
     }
 
+    private Long itemId;//搴撳瓨鏄庣粏ID
+
+    private Long outQty;//鍑哄簱鏁伴噺
+
+    private Long outSta;//鍑哄簱绔欑偣
+
 
 }
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index b82d633..0cb4583 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -615,25 +615,25 @@
     @Async
     public void asyncOutboundExecutionWcs(List<OutStockToTaskParams> param, Long orderId, Long loginUserId) {
         try {
-            int i = 0;
-            List<OutStockToTaskParams> tasks = new ArrayList<>();
-            while (true) {
-                tasks = new ArrayList<>();
-                i++;
-                if (i > 5) return;
-                Thread.sleep(3000);
-                for (OutStockToTaskParams taskParam : new OutStockToTaskParams[param.size()]) {
-                    if (StringUtils.isNotBlank(taskParam.getLocCode())) {
-                        tasks.add(taskParam);
-                    }
-                }
-                break;
-            }
-            if (tasks.isEmpty()){
+//            int i = 0;
+//            List<OutStockToTaskParams> tasks = new ArrayList<>();
+//            while (true) {
+//                tasks = new ArrayList<>();
+//                i++;
+//                if (i > 5) return;
+//                Thread.sleep(3000);
+//                for (OutStockToTaskParams taskParam : new OutStockToTaskParams[param.size()]) {
+//                    if (StringUtils.isNotBlank(taskParam.getLocCode())) {
+//                        tasks.add(taskParam);
+//                    }
+//                }
+//                break;
+//            }
+            if (param.isEmpty()){
                 log.warn("璁㈠崟ID {} 娌℃湁鎵惧埌鍙嚭搴撴槑缁嗭紝璺宠繃鑷姩鍑哄簱", orderId);
                 return;
             }
-            outStockService.genOutStockTask(tasks, loginUserId, orderId);
+            outStockService.genOutStockTask(param, loginUserId, orderId);
 
             log.info("璁㈠崟ID {} 鑷姩鍑哄簱锛屽叡澶勭悊 {} 涓槑缁�", orderId, param.size());
         } catch (Exception e) {

--
Gitblit v1.9.1