| | |
| | | |
| | | NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(shuttleProtocol.getCurrentLocNo())); |
| | | |
| | | boolean isLock = false;//是否解锁路径 |
| | | //取出命令 |
| | | NyShuttleHttpCommand command = null; |
| | | if (commandStep < commands.size()) { |
| | |
| | | if (shuttleProtocol.getPoint().equals(target)) { |
| | | //上一条指令的目标位置和当前小车位置相同,则认定上一条任务完成 |
| | | lastCommand.setComplete(true); |
| | | //解锁锁定路径,上一条路径和当前路径 |
| | | //解锁锁定路径,上一条路径 |
| | | List<NavigateNode> nodes = lastCommand.getNodes(); |
| | | if (command != null && command.getNodes() != null) { |
| | | nodes.addAll(command.getNodes()); |
| | | } |
| | | // //解锁当前路径 |
| | | // if (command != null && command.getNodes() != null) { |
| | | // nodes.addAll(command.getNodes()); |
| | | // } |
| | | if (nodes != null) { |
| | | navigateMapData.writeNavigateNodeToRedisMap(nodes, false);//解锁路径 |
| | | isLock = true;//解锁过路径 |
| | | } |
| | | } |
| | | }else { |
| | |
| | | whiteList.add(startArr); |
| | | } |
| | | |
| | | //解锁过路径,只检测下一段路径是否可走(当前路径已经被锁定无需再检测) |
| | | if (isLock) { |
| | | //只检测下一段路径是否可走(当前路径已经被锁定无需再检测) |
| | | //检测路径是否可行走 |
| | | if (!checkPath(nextNodes == null ? command.getNodes() : nextNodes, null, whiteList)) { |
| | | return false; |
| | | } |
| | | }else { |
| | | //检测当前路径和下一段路径 |
| | | //检测路径是否可行走 |
| | | if (!checkPath(command.getNodes(), nextNodes, whiteList)) { |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | //锁定路径,锁定当前路径和下一步路径 |
| | | List<NavigateNode> nodes = command.getNodes(); |