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