| | |
| | | if (!Cools.isEmpty(blackList) && blackList.contains(node.getCodeData())) { |
| | | continue; |
| | | } |
| | | // 特殊情况,当blackList有且只有一个元素且为startNode时 |
| | | // 说明blackList已经知道当前导航起始点和目标点为相邻节点 |
| | | // 但是当前blackList的任务是不让系统走相邻的最短路径,所以才会有下面的判断和continue |
| | | if (blackList.size() == 1 && blackList.get(0).equals(start.getCodeData())) { |
| | | if (isEndNode && currentNode.getCodeData().equals(start.getCodeData())) { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | // 节点被占用 |
| | | DynamicNode dynamicNode = dynamicMatrix[node.getX()][node.getY()]; |
| | |
| | | if (!vehicle.equals(DynamicNodeType.ACCESS.val)) { |
| | | if (!vehicle.equals(agvNo)) { |
| | | |
| | | // 存在车辆,且为已经避让的车,则权重值增加 |
| | | // vehicle已经为当前segment做过了避让,且避让任务已完成,则权重值增加 |
| | | if (null != segment) { |
| | | if (!Cools.isEmpty(jamService.getJamFromSegmentByAvo(segment, vehicle))) { |
| | | weight += WEIGHT_CALC_FACTOR; |