From b61c2d7525bcbdf02db339c1b9865c6032412a8c Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期四, 19 三月 2026 14:10:25 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 19c03a1..35c6fe2 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -14,10 +14,11 @@
 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;
-import com.zy.common.utils.Synchro;
 import com.zy.common.web.BaseController;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -50,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 = "鍟嗗搧淇℃伅鍚屾鎺ュ彛")
@@ -425,31 +430,33 @@
      */
     @PostMapping("/comb/auth")
     public synchronized R comb(@RequestBody ArrayList<MesToCombParam> param){
-        List<MesToCombReturnParam> errorComb = Lists.newArrayList();
+        List<MesToCombParam> errorComb = Lists.newArrayList();
+        List<MesToCombParam> validComb = Lists.newArrayList();
         for (MesToCombParam mesToCombParam : param) {
-//            if (mesToCombParam.getPalletId().length() != 8) {
-//                return R.error(mesToCombParam.getPalletId()+"-璇ユ墭鐩樼爜涓嶄负8浣�");
-//            }
+            if (Cools.isEmpty(mesToCombParam.getBizNo())) {
+                return R.error("bizNo涓嶈兘鐐虹┖");
+            }
 //        if (param.getCombMats().size()>1){
 //            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
 //        }
+
 
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", mesToCombParam.getPalletId()));
             int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", mesToCombParam.getPalletId()));
 //        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",param.getPalletId()));
             if (countLoc > 0 || countWrk > 0) {
-                MesToCombReturnParam mesToCombReturnParam = new MesToCombReturnParam();
-                Synchro.Copy(mesToCombParam, mesToCombReturnParam);
-                errorComb.add(mesToCombReturnParam);
+                errorComb.add(mesToCombParam);
 //                return R.error(mesToCombParam.getPalletId()+"-宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�");
+                continue;
             }
             // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
             if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                     eq("zpallet", mesToCombParam.getPalletId()).eq("io_status", "N")) > 0) {
                 waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", mesToCombParam.getPalletId()));
             }
+            validComb.add(mesToCombParam);
         }
-        for (MesToCombParam mesToCombParam : param) {
+        for (MesToCombParam mesToCombParam : validComb) {
             openService.mesToComb(mesToCombParam);
         }
         // TODO:寰呮祴璇�
@@ -466,20 +473,48 @@
 
     @PostMapping("/outOrder")
     public synchronized R outOrder (@RequestBody ArrayList<OutTaskParam> params){
-        List<OutTaskReturnParam> errorOutOrders = Lists.newArrayList();
+        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) {
             // TODO:寰呮脯瑭︼紝鏍¢搴瓨淇℃伅锛屼笉瀛樺湪鍓囪繑鍥�
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", outTaskParam.getPalletId()));
             if (countLoc == 0){
-                OutTaskReturnParam outTaskReturnParam = new OutTaskReturnParam();
-                Synchro.Copy(outTaskParam, outTaskReturnParam);
-                errorOutOrders.add(outTaskReturnParam);
-
-                params.remove(outTaskParam);
+                errorOutOrders.add(outTaskParam);
+                continue;
             }
+            validOutOrders.add(outTaskParam);
         }
 
-        for (OutTaskParam outTaskParam : params) {
+        for (OutTaskParam outTaskParam : validOutOrders) {
             R r = openService.outOrder(outTaskParam);
             if (!r.get("code").equals(200)){
                 return r;

--
Gitblit v1.9.1