From c9944fa15889ef97236960fcc9370a582cd86267 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 17 三月 2026 14:37:34 +0800
Subject: [PATCH] 1.wcs下发出库任务方式需更改,先采集数据再一次性下发:下发组batch和序号batch_seq 2.库位分配逻辑需优化,目前分配单个巷道 3.

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index be2808f..deba829 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -14,6 +14,8 @@
 import com.zy.asrs.service.OpenService;
 import com.zy.asrs.service.WaitPakinService;
 import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastLogService;
+import com.zy.asrs.service.WrkMastService;
 import com.zy.common.model.DetlDto;
 import com.zy.common.model.LocDetlDto;
 import com.zy.common.model.enums.WorkNoType;
@@ -49,6 +51,10 @@
     private WaitPakinService waitPakinService;
     @Autowired
     private WrkDetlService wrkDetlService;
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkMastLogService wrkMastLogService;
 
 //    @PostMapping("/order/matSync/default/v1")
 ////    @AppAuth(memo = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
@@ -466,6 +472,35 @@
 
     @PostMapping("/outOrder")
     public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){
+        if (Cools.isEmpty(params)) {
+            return R.error("璇锋眰鍙傛暟涓嶈兘涓虹┖");
+        }
+        Set<String> orderIds = new LinkedHashSet<>();
+        for (OutTaskParam outTaskParam : params) {
+            if (Cools.isEmpty(outTaskParam) || Cools.isEmpty(outTaskParam.getOrderId())) {
+                return R.error("鍑哄簱鍗曞彿涓嶈兘涓虹┖");
+            }
+            orderIds.add(outTaskParam.getOrderId());
+        }
+        if (!orderIds.isEmpty()) {
+            Set<String> existedOrderIds = new LinkedHashSet<>();
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("user_no", orderIds));
+            for (WrkMast wrkMast : wrkMasts) {
+                if (!Cools.isEmpty(wrkMast.getUserNo())) {
+                    existedOrderIds.add(wrkMast.getUserNo());
+                }
+            }
+            List<WrkMastLog> wrkMastLogs = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().in("user_no", orderIds));
+            for (WrkMastLog wrkMastLog : wrkMastLogs) {
+                if (!Cools.isEmpty(wrkMastLog.getUserNo())) {
+                    existedOrderIds.add(wrkMastLog.getUserNo());
+                }
+            }
+            if (!existedOrderIds.isEmpty()) {
+                return R.error("鍑哄簱鍗曞彿宸插瓨鍦ㄤ换鍔℃。鎴栦换鍔″巻鍙叉。锛�" + String.join("锛�", existedOrderIds));
+            }
+        }
+
         List<OutTaskParam> errorOutOrders = Lists.newArrayList();
         List<OutTaskParam> validOutOrders = Lists.newArrayList();
         for (OutTaskParam outTaskParam : params) {

--
Gitblit v1.9.1