From 93768902560c4e20ffe44c82288fe90137e264cb Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期三, 11 三月 2026 13:25:30 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java |   87 +++++++++++++++++++++++++++++++------------
 1 files changed, 62 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 08ff1ef..2382b26 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -20,10 +20,8 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * Created by vincent on 2020/7/7
@@ -83,8 +81,6 @@
             }
         }
     }
-
-
     /**
      * 浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
      *
@@ -97,29 +93,70 @@
         if (wrkMasts.isEmpty()) {
             return;
         }
-//        Collections.shuffle(wrkMasts);
-        wrkMasts.forEach(wrkMast -> {
-            WorkTaskParams params = new WorkTaskParams();
-            if (wrkMast.getIoType().equals(11)) {
-                CompleteParam param = new CompleteParam();
-                param.setTaskNo(wrkMast.getWrkNo() + "");
-                param.setSourceLocNo(wrkMast.getSourceLocNo());
-                param.setLocNo(wrkMast.getLocNo());
-//                param.set
-                mobileService.taskMove(param, 9527L);
-            } else if (wrkMast.getIoType() > 100) {
-                params.setType("out")
-                        .setTaskNo(wrkMast.getWrkNo() + "")
-                        .setLocNo(wrkMast.getSourceLocNo())
-                        .setBarcode(wrkMast.getBarcode())
-                        .setStaNo(wrkMast.getStaNo())
-                        .setTaskPri(wrkMast.getIoPri().intValue());
-                wcsApiService.pubWrkToWcs(params);
+        Map<Integer, List<WrkMast>> listMap = wrkMasts.stream().collect(Collectors.groupingBy(WrkMast::getCrnNo));
+        listMap.keySet().forEach(key -> {
+            List<WrkMast> wrkMasts1 = listMap.get(key);
+            Collections.shuffle(wrkMasts1);
+            Integer crnNos = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", key));
+            if (crnNos < 6) {
+                wrkMasts1.forEach(wrkMast -> {
+                    WorkTaskParams params = new WorkTaskParams();
+                    if (wrkMast.getIoType().equals(11)) {
+                        CompleteParam param = new CompleteParam();
+                        param.setTaskNo(wrkMast.getWrkNo() + "");
+                        param.setSourceLocNo(wrkMast.getSourceLocNo());
+                        param.setLocNo(wrkMast.getLocNo());
+                        mobileService.taskMove(param, 9527L);
+                    } else if (wrkMast.getIoType() > 100) {
+                        params.setType("out")
+                                .setTaskNo(wrkMast.getWrkNo() + "")
+                                .setLocNo(wrkMast.getSourceLocNo())
+                                .setBarcode(wrkMast.getBarcode())
+                                .setStaNo(wrkMast.getStaNo())
+                                .setTaskPri(wrkMast.getIoPri().intValue());
+                        wcsApiService.pubWrkToWcs(params);
+                    }
+                });
             }
         });
-
     }
 
+
+//    /**
+//     * 浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
+//     *
+//     * @author Ryan
+//     * @date 2026/1/10 14:42
+//     */
+//    @Scheduled(cron = "0/5 * * * * ? ")
+//    private void autoPubTasks() {
+//        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(11L, 1L)));
+//        if (wrkMasts.isEmpty()) {
+//            return;
+//        }
+////        Collections.shuffle(wrkMasts);
+//        wrkMasts.forEach(wrkMast -> {
+//            WorkTaskParams params = new WorkTaskParams();
+//            if (wrkMast.getIoType().equals(11)) {
+//                CompleteParam param = new CompleteParam();
+//                param.setTaskNo(wrkMast.getWrkNo() + "");
+//                param.setSourceLocNo(wrkMast.getSourceLocNo());
+//                param.setLocNo(wrkMast.getLocNo());
+////                param.set
+//                mobileService.taskMove(param, 9527L);
+//            } else if (wrkMast.getIoType() > 100) {
+//                params.setType("out")
+//                        .setTaskNo(wrkMast.getWrkNo() + "")
+//                        .setLocNo(wrkMast.getSourceLocNo())
+//                        .setBarcode(wrkMast.getBarcode())
+//                        .setStaNo(wrkMast.getStaNo())
+//                        .setTaskPri(wrkMast.getIoPri().intValue());
+//                wcsApiService.pubWrkToWcs(params);
+//            }
+//        });
+//
+//    }
+
     /**
      * AGV浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
      *

--
Gitblit v1.9.1