| | |
| | | |
| | | private Integer rgvNo = 0;//RGV号 |
| | | |
| | | private Integer wrkNo = 0;//任务号 |
| | | |
| | | public RgvNode(Integer path) { |
| | | this.path = path; |
| | | } |
| | |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true); |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true); |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true); |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | |
| | | continue; |
| | | } |
| | | //行走路径空闲,锁定路径 |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), true); |
| | | RgvUtils.lockPath(startPath, endPath, rgvProtocol.getRgvNo(), wrkMast.getWrkNo(), true); |
| | | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | RgvCommand rgvCommand = new RgvCommand(); |
| | |
| | | } |
| | | |
| | | //锁定/解锁路径 |
| | | public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, boolean lock) { |
| | | public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, Integer wrkNo, boolean lock) { |
| | | List<RgvNode> pathList = getPathList(startPath, endPath);//通过起点和目标点获取行走路径 |
| | | lockPath(pathList, rgvNo, lock); |
| | | lockPath(pathList, rgvNo, wrkNo, lock); |
| | | } |
| | | |
| | | //锁定/解锁路径 |
| | | public static void lockPath(List<RgvNode> pathList, Integer rgvNo, boolean lock) { |
| | | public static void lockPath(List<RgvNode> pathList, Integer rgvNo, Integer wrkNo, boolean lock) { |
| | | RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); |
| | | Object data = redisUtil.get("rgv_map"); |
| | | List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//实时地图 |
| | |
| | | //路径相同 |
| | | if (lock) { |
| | | rgvNode.setLock(true);//锁定 |
| | | rgvNode.setRgvNo(rgvNo); |
| | | rgvNode.setRgvNo(rgvNo);//RGV号 |
| | | rgvNode.setWrkNo(wrkNo);//工作号 |
| | | } else { |
| | | rgvNode.setLock(false);//解锁 |
| | | rgvNode.setRgvNo(0); |
| | | rgvNode.setRgvNo(0); |
| | | } |
| | | } |
| | | } |