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 | 24 ++++++++++-------------- 1 files changed, 10 insertions(+), 14 deletions(-) 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 e2a1d70..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; @@ -209,9 +203,9 @@ List<String> pathList = new ArrayList<>(); // 鏃犻殰纰嶈В - List<String> unlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment, null); + List<String> unlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment); // 閬胯瑙� - List<String> lockPathList = mapService.checkoutPath(agvNo, startCode, endCode, true, blackPath, segment, null); + List<String> lockPathList = mapService.checkoutPath(agvNo, startCode, endCode, true, blackPath, segment); if (!Cools.isEmpty(lockPathList) && // 瀛樺湪閬胯瑙� Math.abs(lockPathList.size() - unlockPathList.size()) <= Arrays.stream(mapDataDispatcher.getCodeMatrix(lev)).mapToInt(row -> row.length).sum() / 10 @@ -225,8 +219,10 @@ if (blockSeverity.equals(BlockSeverityType.SEVERE)) { unlockPathList.remove(endCode.getData()); blackPath.addAll(unlockPathList); - List<String> list = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment, blockSeverity); - System.out.println(list.size()); + List<String> newUnlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment); + if (!Cools.isEmpty(newUnlockPathList)) { + draftPath = newUnlockPathList; + } } // 鍙蛋琛岃矾寰勯泦鍚堣绠� List<BlockVehicleDto> blockVehicleList = this.slicePathAndReturnBlockVehicleList(lev, draftPath, agvNo, pathList); // jamAgvNo may was wave @@ -237,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(); } @@ -275,7 +271,7 @@ if (!Cools.isEmpty(jam.getAvoAgv()) && BlockVehicleDto.customContain(blockVehicleList, agvService.getById(jam.getAvoAgv()).getUuid())) { - maxJamTimeoutFactor = 10; + maxJamTimeoutFactor = 5; } else { @@ -334,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