From e6c977aadbd6fdfa9c0d4be5d16dd83cf4677a79 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 15 十一月 2024 15:12:48 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 deletions(-) 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..37109bb 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; @@ -13,15 +14,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; -import java.util.PriorityQueue; +import java.util.*; /** * Created by vincent on 6/12/2024 */ @Service public class AStarNavigateService { + + private final RedisSupport redis = RedisSupport.defaultRedisSupport; public static final boolean OPEN_TURN_COST_WEIGHT = Boolean.FALSE; @@ -82,6 +83,10 @@ // } // } + if (!Cools.isEmpty(blackList) && blackList.contains(node.getCodeData())) { + continue; + } + // 鑺傜偣琚崰鐢� DynamicNode dynamicNode = dynamicMatrix[node.getX()][node.getY()]; String vehicle = dynamicNode.getVehicle(); @@ -89,9 +94,6 @@ if (!vehicle.equals(DynamicNodeType.ACCESS.val)) { if (!vehicle.equals(agvNo)) { - if (!Cools.isEmpty(blackList) && blackList.contains(vehicle)) { - continue; - } if (lock) { continue; } @@ -106,9 +108,6 @@ List<String> otherWaveList = MapDataUtils.hasOtherWave(waveNodeList, agvNo); if (!Cools.isEmpty(otherWaveList)) { - if (!Cools.isEmpty(blackList) && 0 < Cools.getIntersection(otherWaveList, blackList).size()) { - continue; - } if (lock) { continue; @@ -119,7 +118,7 @@ // 鍗曞贩閬撹溅杈嗗杞芥暟閲� Lane lane = laneService.search(node.getCodeData()); if (null != lane) { - int otherVehicleCount = 0; + Set<String> lanVehicleSet = new HashSet<>(); List<String> laneCodes = lane.getCodes(); for (String laneCodeData : laneCodes) { @@ -130,15 +129,17 @@ assert !laneVehicle.equals(DynamicNodeType.BLOCK.val); if (!laneVehicle.equals(DynamicNodeType.ACCESS.val)) { if (!laneVehicle.equals(agvNo)) { - otherVehicleCount++; + lanVehicleSet.add(laneVehicle); +// redis.setObject(RedisConstant.AGV_TO_STANDBY_FLAG, laneVehicle, true, 30); } } } - if (otherVehicleCount + 1 > maxAgvCountInLane) { - if (lock) { - continue; - } + if (lanVehicleSet.size() + 1 > maxAgvCountInLane) { +// if (lock) { +// continue; +// } + continue; } } -- Gitblit v1.9.1