| | |
| | | private SegmentService segmentService; |
| | | @Autowired |
| | | private JamService jamService; |
| | | @Autowired |
| | | private AgvAreaDispatcher agvAreaDispatcher; |
| | | |
| | | /** |
| | | * avoidPathList ===>> [ minor vehicle ] [wave] [ curr vehicle ] [ code2 ] [ code3 ] ...... |
| | |
| | | } |
| | | Integer lev = null; |
| | | Integer maxAgvCountInLane = configService.getVal("maxAgvCountInLane", Integer.class); |
| | | |
| | | // scope code area: 4ms |
| | | Long agvId = agvService.getAgvId(agvNo); |
| | | Boolean withinArea = agvAreaDispatcher.isAgvExistsInAnyArea(agvId); |
| | | List<String> scopeCodeList = new ArrayList<>(); |
| | | if (withinArea) { |
| | | scopeCodeList = agvAreaDispatcher.getCodesByAgvId(agvId); |
| | | if (!Cools.isEmpty(scopeCodeList) && !scopeCodeList.contains(start.getCodeData())) { |
| | | withinArea = false; |
| | | } |
| | | } |
| | | |
| | | String breakPoint = avoidPathList.stream().findFirst().orElse(null); |
| | | List<String> blackList = Utils.singletonList(sponsor); |
| | |
| | | label: for (RetreatNavigateNode node : neighborNodes) { |
| | | if (node.getCodeData().equals(breakPoint)) { continue; } |
| | | |
| | | if (withinArea) { |
| | | assert !Cools.isEmpty(scopeCodeList); |
| | | if (!scopeCodeList.contains(node.getCodeData())) { continue; } |
| | | } |
| | | |
| | | int weight = 0; |
| | | |
| | | // wave |