From 707d414c0e6a8baff3ce7affec820f0fc1a13c19 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 24 二月 2026 09:06:04 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 81 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 0d39e15..78e86ff 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -1,7 +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;
@@ -12,6 +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;
 
@@ -28,10 +38,16 @@
     @Autowired
     private WorkMastHandler workMastHandler;
     @Autowired
+    private WcsApiService wcsApiService;
+    @Autowired
+    private MobileService mobileService;
+    @Autowired
     private TaskService taskService;
+    @Autowired
+    private AgvScheduleService agvScheduleService;
 
     @Scheduled(cron = "0/3 * * * * ? ")
-    private void execute(){
+    private void execute() {
         List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
         if (wrkMasts.isEmpty()) {
             return;
@@ -50,7 +66,7 @@
     }
 
     @Scheduled(cron = "0/3 * * * * ? ")
-    private void executeTask(){
+    private void executeTask() {
         List<Task> wrkMasts = taskService.selectToBeCompleteData();
         if (wrkMasts.isEmpty()) {
             return;
@@ -68,4 +84,67 @@
         }
     }
 
+
+    /**
+     * 浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
+     *
+     * @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