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 | 118 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 94 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index e14d6bc..2382b26 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -1,7 +1,10 @@
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;
@@ -17,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
@@ -40,6 +41,8 @@
private MobileService mobileService;
@Autowired
private TaskService taskService;
+ @Autowired
+ private AgvScheduleService agvScheduleService;
@Scheduled(cron = "0/3 * * * * ? ")
private void execute() {
@@ -78,8 +81,6 @@
}
}
}
-
-
/**
* 浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
*
@@ -92,27 +93,96 @@
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浠诲姟鑷姩涓嬪彂鍑哄簱浠诲姟
+ *
+ * @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