From da407d4525cd6ea211d952fc2fd96f5ba30510e8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 27 十一月 2024 15:43:28 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java | 14 ++++---------- zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java | 4 ++-- zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java | 6 ++++++ zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java | 10 +++++++++- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java index 3833c64..ba6ee0f 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/constant/MapDataConstant.java @@ -7,4 +7,10 @@ public static final Double MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR = 1.09; + public static final Integer MAX_STEPS_SINGLE = 25; + + public static final Integer MIN_SLICE_PATH_LENGTH = 3; + + public static final Integer MAX_JAM_TIMEOUT = 5 * 1000; + } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java index 94ff2a4..f36a0b5 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java @@ -1,12 +1,12 @@ package com.zy.acs.manager.core.domain.type; -import com.zy.acs.manager.core.service.TrafficService; +import com.zy.acs.manager.core.constant.MapDataConstant; public enum BlockSeverityType { // NONE(0), NONE(0), - SEVERE(9 * TrafficService.MAX_JAM_TIMEOUT), + SEVERE(7 * MapDataConstant.MAX_JAM_TIMEOUT), ; public long duration; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java index 54b6457..2097a81 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java @@ -4,6 +4,7 @@ import com.zy.acs.common.enums.AgvDirectionType; import com.zy.acs.framework.common.Cools; import com.zy.acs.manager.common.utils.MapDataUtils; +import com.zy.acs.manager.core.constant.MapDataConstant; import com.zy.acs.manager.core.service.astart.*; import com.zy.acs.manager.core.service.astart.domain.DynamicNode; import com.zy.acs.manager.core.service.floyd.FloydNavigateService; @@ -79,7 +80,14 @@ // navigateNode.setParent(null); // } - return navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList()); + List<String> navigatePath = navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList()); + + // max count of steps + if (navigatePath.size() > MapDataConstant.MAX_STEPS_SINGLE) { + navigatePath = navigatePath.subList(0, MapDataConstant.MAX_STEPS_SINGLE); + } + + return navigatePath; } /** diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java index acfe085..4727985 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java @@ -2,11 +2,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.utils.GsonUtils; -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.framework.exception.CoolException; import com.zy.acs.manager.common.utils.MapDataUtils; +import com.zy.acs.manager.core.constant.MapDataConstant; import com.zy.acs.manager.core.domain.BlockVehicleDto; import com.zy.acs.manager.core.domain.TaskPosDto; import com.zy.acs.manager.core.domain.type.BlockSeverityType; @@ -37,12 +37,6 @@ @Slf4j @Component public class TrafficService { - - public static final Integer MIN_SLICE_PATH_LENGTH = 3; - - public static final Integer MAX_JAM_TIMEOUT = 5 * 1000; - - private final RedisSupport redis = RedisSupport.defaultRedisSupport; @Autowired private AgvService agvService; @@ -239,7 +233,7 @@ assert !Cools.isEmpty(blockVehicleList); boolean hasUnavoidableBlocks = blockVehicleList.stream().anyMatch(blockVehicleDto -> !blockVehicleDto.isAvoidable()); - if (hasUnavoidableBlocks && pathList.size() <= MIN_SLICE_PATH_LENGTH) { + if (hasUnavoidableBlocks && pathList.size() <= MapDataConstant.MIN_SLICE_PATH_LENGTH) { log.info("AGV[{}] waiting in place, because the path list is too short...", agvNo); pathList.clear(); } @@ -277,7 +271,7 @@ if (!Cools.isEmpty(jam.getAvoAgv()) && BlockVehicleDto.customContain(blockVehicleList, agvService.getById(jam.getAvoAgv()).getUuid())) { - maxJamTimeoutFactor = 6; + maxJamTimeoutFactor = 5; } else { @@ -336,7 +330,7 @@ // handle jam timeout if (null != maxJamTimeoutFactor) { - if (System.currentTimeMillis() - jam.getStartTime().getTime() > MAX_JAM_TIMEOUT * maxJamTimeoutFactor) { + if (System.currentTimeMillis() - jam.getStartTime().getTime() > MapDataConstant.MAX_JAM_TIMEOUT * maxJamTimeoutFactor) { if (!Cools.isEmpty(lockPathList)) { -- Gitblit v1.9.1