| | |
| | | private BasLiftOptService basLiftOptService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | @Autowired |
| | | private NavigateMapUtils navigateMapUtils; |
| | | |
| | | |
| | | /** |
| | |
| | | return false; |
| | | } |
| | | |
| | | //*************尝试锁定目标站路径*************** |
| | | List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(wrkMast.getStaNo()); |
| | | if (targetNodes == null) { |
| | | return false;//未获取到节点 |
| | | } |
| | | boolean checkPathIsAvailable = NavigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(wrkMast.getLocNo()), null); |
| | | if (!checkPathIsAvailable) { |
| | | return false;//检测目标站点路径是否未被占用 |
| | | } |
| | | //尝试锁定目标站路径 |
| | | boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, true);//所使用的路径进行锁定禁用 |
| | | if (!result2) { |
| | | return false;//路径锁定失败 |
| | | } |
| | | //*************尝试锁定目标站路径*************** |
| | | |
| | | //获取源输送站 |
| | | LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getSourceStaNo()); |
| | | if (liftSta == null) { |
| | |
| | | if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) { |
| | | return false; |
| | | } |
| | | |
| | | //*************尝试锁定目标站路径*************** |
| | | //获取目标站 |
| | | LiftStaProtocol targetLiftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo()); |
| | | if (targetLiftSta == null) { |
| | | return false;//找不到站点 |
| | | } |
| | | NavigateNode targetNode = NavigatePositionConvert.locNoToNode(targetLiftSta.getLocNo());//目标节点 |
| | | NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo())); |
| | | List<NavigateNode> targetNodes = new ArrayList<>(); |
| | | targetNodes.add(targetNode); |
| | | boolean checkPathIsAvailable = NavigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(wrkMast.getLocNo()), null); |
| | | if (!checkPathIsAvailable) { |
| | | return false;//检测目标站点路径是否未被占用 |
| | | } |
| | | //尝试锁定目标站路径 |
| | | boolean result = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, true);//所使用的路径进行锁定禁用 |
| | | if (!result) { |
| | | return false;//路径锁定失败 |
| | | } |
| | | //*************尝试锁定目标站路径*************** |
| | | |
| | | //站点节点 |
| | | NavigateNode staNode = NavigatePositionConvert.locNoToNode(sourceLiftSta.getLocNo()); |
| | |
| | | return false;//没有设置提升机点位坐标 |
| | | } |
| | | |
| | | //*************尝试解锁目标站路径*************** |
| | | NavigateNode targetNode = NavigatePositionConvert.locNoToNode(liftSta.getLocNo());//目标节点 |
| | | NavigateMapData navigateMapData = new NavigateMapData(Utils.getLev(wrkMast.getLocNo())); |
| | | List<NavigateNode> targetNodes = new ArrayList<>(); |
| | | targetNodes.add(targetNode); |
| | | //尝试解锁目标站路径 |
| | | boolean result = navigateMapData.writeNavigateNodeToRedisMap(targetNodes, false);//所使用的路径进行解锁 |
| | | if (!result) { |
| | | return false;//路径解锁失败 |
| | | } |
| | | //*************尝试解锁目标站路径*************** |
| | | |
| | | NavigateNode liftNode = new NavigateNode(basLift.getPoint$().getX(), basLift.getPoint$().getY()); |
| | | liftNode.setZ(liftSta.getLev()); |
| | | |
| | |
| | | return false; |
| | | } |
| | | |
| | | //跨楼层移动任务 |
| | | if (Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(wrkMast.getLocNo())) { |
| | | //获取目标站 |
| | | LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo()); |
| | | if (liftSta == null) { |
| | | return false;//找不到站点 |
| | | } |
| | | |
| | | //*************尝试解锁目标站路径*************** |
| | | List<NavigateNode> targetNodes = NyLiftUtils.getLiftStaNodes(liftSta.getStaNo()); |
| | | if (targetNodes == null) { |
| | | return false;//未获取到节点 |
| | | } |
| | | //尝试解锁目标站路径 |
| | | boolean result = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, false);//所使用的路径进行解锁 |
| | | if (!result) { |
| | | return false;//路径解锁失败 |
| | | } |
| | | //*************尝试解锁目标站路径*************** |
| | | } |
| | | |
| | | // //获取目标站对应的输送站点 |
| | | // BasDevp targetBasDevp = basDevpService.selectByLevAndLiftNo(Utils.getLev(wrkMast.getLocNo()), wrkMast.getLiftNo()); |
| | | // if (targetBasDevp == null) { |