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 |  127 +++++++++++++++++++++++++++++++++--------
 1 files changed, 101 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 1a73349..2382b26 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -1,10 +1,15 @@
 package com.zy.asrs.task;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.api.controller.params.AgvCarriesParam;
 import com.zy.api.controller.params.WorkTaskParams;
+import com.zy.api.entity.CallAgvParams;
+import com.zy.api.service.AgvScheduleService;
 import com.zy.api.service.WcsApiService;
 import com.zy.asrs.entity.Task;
 import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.param.CompleteParam;
+import com.zy.asrs.service.MobileService;
 import com.zy.asrs.service.TaskService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.task.core.ReturnT;
@@ -15,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
@@ -35,7 +38,11 @@
     @Autowired
     private WcsApiService wcsApiService;
     @Autowired
+    private MobileService mobileService;
+    @Autowired
     private TaskService taskService;
+    @Autowired
+    private AgvScheduleService agvScheduleService;
 
     @Scheduled(cron = "0/3 * * * * ? ")
     private void execute() {
@@ -74,40 +81,108 @@
             }
         }
     }
-
-
     /**
      * 浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
      *
      * @author Ryan
      * @date 2026/1/10 14:42
      */
-    @Scheduled(cron = "0/15 * * * * ? ")
+    @Scheduled(cron = "0/5 * * * * ? ")
     private void autoPubTasks() {
-        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(11L)));
+        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(1)) {
-//                params.setType("in");
-//                params.setTaskNo(wrkMast.getWrkNo() + "")
-//                        .setLocNo(wrkMast.getLocNo())
-//                        .setBarcode(wrkMast.getBarcode())
-//                        .setTaskPri(wrkMast.getIoPri().intValue());
-//            } else {
-                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浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
+     *
+     * @author Ryan
+     * @date 2026/1/10 14:42
+     */
+    @Scheduled(cron = "0/5 * * * * ? ")
+    private void autoPubAgvTasks() {
+        List<Task> tasks = taskService.selectList(new EntityWrapper<Task>()
+                .in("wrk_sts", Arrays.asList(201L, 301L)));
+        if (tasks.isEmpty()) {
+            return;
+        }
+        Collections.shuffle(tasks);
+        tasks.forEach(wrkMast -> {
+            CallAgvParams param = new CallAgvParams();
+            if (wrkMast.getIoType() == 1) {
+                param.setWrkNo(wrkMast.getWrkNo() + "");
+                param.setOrgSite(wrkMast.getSourceStaNo());
+                param.setTarSite(wrkMast.getLocNo());
+            } else if (wrkMast.getIoType() == 110 ||wrkMast.getIoType() == 101){
+                param.setWrkNo(wrkMast.getWrkNo() + "");
+                param.setOrgSite(wrkMast.getSourceLocNo());
+                param.setTarSite(wrkMast.getStaNo());
+            }
+            agvScheduleService.callAgvCarry(param);
+        });
+    }
 }

--
Gitblit v1.9.1