| | |
| | | } |
| | | |
| | | //锁定/解锁路径 |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //解锁路径,通过RGV号进行解锁。注意:调用此方法会解锁RGV号对应车辆全部路径 |
| | | public static void unLockPath(Integer rgvNo) { |
| | | RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class); |
| | | Object data = redisUtil.get("rgv_map"); |
| | | List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//实时地图 |
| | | for (RgvNode rgvNode : rgvNodes) {//遍历实时地图 |
| | | if (rgvNode.getRgvNo().equals(rgvNo)) { |
| | | //RGV号相同 |
| | | rgvNode.setLock(false);//解锁 |
| | | rgvNode.setRgvNo(0); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //通过起点和目标点获取行走路径 |
| | | public static List<RgvNode> getPathList(Integer startPath, Integer endPath) { |
| | | int result = startPath - endPath; |