From a64658c5d91adba50240676eb8ffa6a24aa6caa4 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 31 三月 2026 13:49:33 +0800
Subject: [PATCH] 跑库代码更新
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/test/AutoRunScheduler.java | 79 +++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 37 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/test/AutoRunScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/test/AutoRunScheduler.java
index 14ec959..58e5b20 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/test/AutoRunScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/test/AutoRunScheduler.java
@@ -6,10 +6,13 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.common.domain.TaskDto;
-import com.zy.acs.manager.core.service.*;
import com.zy.acs.manager.core.integrate.dto.OpenBusSubmitParam;
+import com.zy.acs.manager.core.service.AreaGovernService;
+import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.manager.entity.*;
-import com.zy.acs.manager.manager.enums.*;
+import com.zy.acs.manager.manager.enums.AgvModelType;
+import com.zy.acs.manager.manager.enums.BusStsType;
+import com.zy.acs.manager.manager.enums.LocStsType;
import com.zy.acs.manager.manager.service.*;
import com.zy.acs.manager.manager.service.impl.CodeServiceImpl;
import com.zy.acs.manager.manager.service.impl.TaskServiceImpl;
@@ -17,13 +20,12 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
-@Component
+//@Component
public class AutoRunScheduler {
private static final AgvModelType DEFAULT_AGV_MODEL = AgvModelType.CTU_BOX_TRANSPORT_AGV;
@@ -78,26 +80,39 @@
}
private void autoRun(AgvModel agvModel) {
- int availableAgvCount = this.getAvailableAgvCount();
- if (0 == availableAgvCount) {
- log.error("failed to run auto agv task, 璺戝簱鍖哄煙鏃犲彲鐢ㄥ皬杞�");
- return;
- }
-// List<String> staPreNos = getStaPrefixes(staGroupList);
List<String> staPreNos = new ArrayList<>();
String memo = "DEMO_STA_" + String.join("-", staPreNos);
- List<String> codes = getTestAreaCodes();
- if (codes.isEmpty()) {
- log.error("failed to run auto agv task, 鏈厤缃窇搴撳尯鍩�");
+ String taskAssignModeArea = configService.getVal("TaskAssignModeArea", String.class);
+ if (Cools.isEmpty(taskAssignModeArea)) {
return;
}
- // 鍏ュ簱
- this.runStaToLoc(agvModel, codes, memo);
- // 鍑哄簱
- this.runLocToSta(agvModel, codes, memo);
- // 绉诲簱
- this.runLocToLoc(agvModel, codes, memo);
+ for (String areaCode : taskAssignModeArea.split(";")) {
+ List<String> testAreaCodes = getTestAreaCodes(areaCode);
+ if (testAreaCodes.isEmpty()) {
+ continue;
+ }
+ List<Area> list = areaService.list(new LambdaQueryWrapper<Area>().eq(Area::getName, areaCode));
+ Optional<Integer> max = list.stream().map(Area::getPriority).filter(Objects::nonNull).max(Integer::compareTo);
+ Integer priority = max.isPresent() ? max.get() : null;
+ if (!Cools.isEmpty(priority)) {
+ // 鍏ュ簱
+ this.runStaToLoc(agvModel, testAreaCodes, memo);
+ // 鍑哄簱
+ this.runLocToSta(agvModel, testAreaCodes, memo);
+ // 绉诲簱
+ this.runLocToLoc(areaCode, agvModel, testAreaCodes, memo);
+ } else if (priority > 10) {
+ // 鍑哄簱
+ this.runLocToSta(agvModel, testAreaCodes, memo);
+ // 绉诲簱
+ this.runLocToLoc(areaCode, agvModel, testAreaCodes, memo);
+ } else if (priority > 100) {
+ // 绉诲簱
+ this.runLocToLoc(areaCode, agvModel, testAreaCodes, memo);
+ }
+ }
+
}
// 鍏ュ簱
@@ -193,10 +208,10 @@
}
// 绉诲簱
- private void runLocToLoc(AgvModel agvModel, List<String> codes, String staTaskMemo) {
+ private void runLocToLoc(String area, AgvModel agvModel, List<String> codes, String staTaskMemo) {
String memo = "DEMO_LOC";
- int availableAgvCount = this.getAvailableAgvCount();
+ int availableAgvCount = this.getAvailableAgvCount(area);
// 鏈�澶� ? 缁刡us杩愯
if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>()
@@ -267,26 +282,16 @@
}
- public List<String> getTestAreaCodes() {
- String taskAssignModeArea = configService.getVal("TaskAssignModeArea", String.class);
- if (Cools.isEmpty(taskAssignModeArea)) {
- List<Code> list = codeService.list(new LambdaQueryWrapper<Code>().eq(Code::getStatus, 1));
- return list.stream().map(Code::getData).collect(Collectors.toList());
- }
- List<Area> list = areaService.list(new LambdaQueryWrapper<Area>().eq(Area::getName, taskAssignModeArea));
+ public List<String> getTestAreaCodes(String areaCode) {
+ List<Area> list = areaService.list(new LambdaQueryWrapper<Area>().eq(Area::getName, areaCode));
if (list.isEmpty()) {
return Collections.emptyList();
}
return areaGovernService.queryCodes(list.stream().map(Area::getId).collect(Collectors.toList()));
}
- public List<Long> getTestAreaAgvs() {
- String taskAssignModeArea = configService.getVal("TaskAssignModeArea", String.class);
- if (Cools.isEmpty(taskAssignModeArea)) {
- List<Agv> list = agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, 1));
- return list.stream().map(Agv::getId).collect(Collectors.toList());
- }
- List<Area> list = areaService.list(new LambdaQueryWrapper<Area>().eq(Area::getName, taskAssignModeArea));
+ public List<Long> getTestAreaAgvs(String areaCode) {
+ List<Area> list = areaService.list(new LambdaQueryWrapper<Area>().eq(Area::getName, areaCode));
if (list.isEmpty()) {
return Collections.emptyList();
}
@@ -304,9 +309,9 @@
return result;
}
- private int getAvailableAgvCount() {
+ private int getAvailableAgvCount(String areaCode) {
int res = 0;
- List<Long> testAreaAgvs = getTestAreaAgvs();
+ List<Long> testAreaAgvs = getTestAreaAgvs(areaCode);
for (Long agvId : testAreaAgvs) {
String agvNo = agvService.getAgvNo(agvId);
Agv agv = agvService.selectByUuid(agvNo);
--
Gitblit v1.9.1