From 6f5c384b7f838f35e3da4db129a57c76cd54d508 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:51:51 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 17 +++++++++++++---- zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java | 2 ++ zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java | 19 ++++++++++++------- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java | 4 ++++ 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java b/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java index 7256a12..4d8f80c 100644 --- a/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java +++ b/zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java @@ -15,6 +15,8 @@ public static final String AGV_DATA_FLAG = "AGV_DATA_FLAG"; + public static final String AGV_TO_STANDBY_FLAG = "AGV_TO_STANDBY_FLAG"; + public static final String AGV_FAULT_REPORT_FLAG = "AGV_FAULT_REPORT_FLAG"; public static final String DIGITAL_AGV_FLAG = "DIGITAL_AGV_FLAG"; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java index 53943f5..a0769c3 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/MaintainScheduler.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.enums.AgvStatusType; +import com.zy.acs.common.utils.RedisSupport; import com.zy.acs.framework.common.DateUtils; import com.zy.acs.manager.core.service.MainService; import com.zy.acs.manager.manager.entity.*; @@ -24,6 +25,8 @@ @Slf4j @Component public class MaintainScheduler { + + private final RedisSupport redis = RedisSupport.defaultRedisSupport; @Autowired private AgvService agvService; @@ -122,14 +125,16 @@ continue; } // the time between the latest task and now that be must more that 10 seconds - Integer intervalOfAutoStandby = configService.getVal("intervalOfAutoStandby", Integer.class); - if (null != intervalOfAutoStandby && intervalOfAutoStandby > 0) { - Task latestTask = taskService.findLatestTask(agv.getId(), null); - if (null != latestTask) { - long seconds = DateUtils.diffToSeconds(latestTask.getUpdateTime(), new Date()); - if (seconds < intervalOfAutoStandby) { continue; } +// if (!Optional.ofNullable((Boolean) redis.getObject(RedisConstant.AGV_TO_STANDBY_FLAG, agv.getUuid())).orElse(false)) { + Integer intervalOfAutoStandby = configService.getVal("intervalOfAutoStandby", Integer.class); + if (null != intervalOfAutoStandby && intervalOfAutoStandby > 0) { + Task latestTask = taskService.findLatestTask(agv.getId(), null); + if (null != latestTask) { + long seconds = DateUtils.diffToSeconds(latestTask.getUpdateTime(), new Date()); + if (seconds < intervalOfAutoStandby) { continue; } + } } - } +// } mainService.buildMinorTask(agv, agvDetail, TaskTypeType.TO_STANDBY, null); } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java index ba7f2b2..cb6fd28 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java @@ -3,9 +3,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.zy.acs.framework.common.Cools; -import com.zy.acs.framework.common.SnowflakeIdWorker; -import com.zy.acs.framework.exception.CoolException; import com.zy.acs.common.domain.AgvAction; import com.zy.acs.common.domain.AgvActionItem; import com.zy.acs.common.domain.AgvProtocol; @@ -14,8 +11,15 @@ import com.zy.acs.common.domain.protocol.AGV_70_UP; import com.zy.acs.common.domain.protocol.IMessageBody; import com.zy.acs.common.domain.protocol.action.*; -import com.zy.acs.common.enums.*; +import com.zy.acs.common.enums.AgvBackpackType; +import com.zy.acs.common.enums.AgvCompleteType; +import com.zy.acs.common.enums.AgvDirectionType; +import com.zy.acs.common.enums.AgvSpeedType; +import com.zy.acs.common.utils.RedisSupport; import com.zy.acs.common.utils.Utils; +import com.zy.acs.framework.common.Cools; +import com.zy.acs.framework.common.SnowflakeIdWorker; +import com.zy.acs.framework.exception.CoolException; import com.zy.acs.manager.common.domain.TaskDto; import com.zy.acs.manager.common.exception.BusinessException; import com.zy.acs.manager.common.utils.CommonUtil; @@ -46,6 +50,7 @@ @Component("mainService") public class MainService { + private final RedisSupport redis = RedisSupport.defaultRedisSupport; private static final int LOCK_TIMEOUT = 5; private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE); @@ -650,6 +655,10 @@ break; } +// if (taskType.equals(TaskTypeType.TO_STANDBY)) { +// redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, agv.getUuid(), false); +// } + return true; } catch (Exception e) { log.error("mainService.buildMinorTask[task]", e); diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java index d643bfb..2e41211 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java @@ -1,5 +1,6 @@ package com.zy.acs.manager.core.service.astart; +import com.zy.acs.common.utils.RedisSupport; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.common.utils.MapDataUtils; import com.zy.acs.manager.core.domain.Lane; @@ -22,6 +23,8 @@ */ @Service public class AStarNavigateService { + + private final RedisSupport redis = RedisSupport.defaultRedisSupport; public static final boolean OPEN_TURN_COST_WEIGHT = Boolean.FALSE; @@ -131,6 +134,7 @@ if (!laneVehicle.equals(DynamicNodeType.ACCESS.val)) { if (!laneVehicle.equals(agvNo)) { otherVehicleCount++; +// redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, laneVehicle, true, 30); } } } -- Gitblit v1.9.1