From 6435f7c6041ab14abff7e8727f4d8700c7ab6644 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期四, 03 四月 2025 10:02:58 +0800
Subject: [PATCH] #
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
index 9749974..41c4ed8 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -1,6 +1,8 @@
package com.zy.acs.manager.core.scheduler;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.acs.common.constant.RedisConstant;
+import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.common.domain.TaskDto;
@@ -10,6 +12,7 @@
import com.zy.acs.manager.core.service.MainService;
import com.zy.acs.manager.core.service.TrafficService;
import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam;
+import com.zy.acs.manager.manager.entity.Agv;
import com.zy.acs.manager.manager.entity.AgvModel;
import com.zy.acs.manager.manager.entity.Bus;
import com.zy.acs.manager.manager.entity.Loc;
@@ -29,6 +32,8 @@
@Slf4j
@Component
public class AutoRunScheduler {
+
+ private final RedisSupport redis = RedisSupport.defaultRedisSupport;
@Autowired
private AgvService agvService;
@@ -75,10 +80,10 @@
String memo = "DEMO_" + startRow + "-" + endRow;
- int agvCount = agvGroupList.size();
+ int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
// 鏈�澶� ? 缁刡us杩愯
- if (agvCount <= busService.count(new LambdaQueryWrapper<Bus>()
+ if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>()
.in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val())
.eq(Bus::getMemo, memo)
)) {
@@ -136,4 +141,23 @@
}
+ private int getAvailableAgvCount(List<String> agvNos) {
+ int res = 0;
+ if (Cools.isEmpty(agvNos)) {
+ return res;
+ }
+ for (String agvNo : agvNos) {
+ if (null == redis.getObject(RedisConstant.AGV_ONLINE_FLAG, agvNo)) {
+ continue;
+ }
+ Agv agv = agvService.selectByUuid(agvNo);
+ if (!agv.getStatusBool()) {
+ continue;
+ }
+ res++;
+ }
+
+ return res;
+ }
+
}
--
Gitblit v1.9.1