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