| | |
| | | |
| | | if (rgvOtherStatusEnable(rgvSlave)){ |
| | | //分成上下两部分任务 |
| | | List<Integer>[] avoidRange = RouteUtils.gradeRange(staList, basDevpPositions); |
| | | List<Integer>[] avoidRange = RouteUtils.gradeRange(staList, basDevpPositions,itSmall); |
| | | List<Integer> rangeListSou = avoidRange[itSmall ? 0 : 1]; |
| | | List<Integer> rangeListSouOther = avoidRange[itSmall ? 1 : 0]; |
| | | //就近排序 |
| | |
| | | |
| | | //筛选范围内任务 |
| | | //就近排序 |
| | | RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(rgvSlave.getOtherId()); |
| | | //筛选在范围任务 |
| | | List<Integer> belongToRange = RouteUtils.belongToRange(rangeList, rgvProtocolOther.getRgvPosDestination(), basDevpPositions); |
| | | Long[][] avoidedRange = new TrackRangeUtils().avoidRangeArr(rgvSlave, trackEntireLength, trackBenchmark, avoidDistance); |
| | | List<Integer> belongToRange = RouteUtils.SortNearby(RouteUtils.belongToRange(rangeList, avoidedRange[0], basDevpPositions), rgvProtocol.RgvPos, basDevpPositions); |
| | | |
| | | for (Integer staNoNow : belongToRange){ |
| | | for (RgvSlave.RgvStn rgvStn : rgvSlave.getRgvInSta()){ |
| | | if (rgvStn.getStaNo().equals(staNoNow)){ |
| | | TaskWrk taskWrk = deviceDetection(rgvStn); |
| | | if (taskWrk!=null){ |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){ |
| | | BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert())); |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){ |
| | | sign = taskGenerate(rgvSlave,rgvStn,0); |
| | | } |
| | | } |
| | |
| | | if (rgvStn.getStaNo().equals(staNoNow)){ |
| | | TaskWrk taskWrk = deviceDetection(rgvStn); |
| | | if (taskWrk!=null){ |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){ |
| | | BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert())); |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){ |
| | | sign = taskGenerate(rgvSlave,rgvStn,0); |
| | | } |
| | | } |
| | |
| | | if (rgvStn.getStaNo().equals(staNoNow)){ |
| | | TaskWrk taskWrk = deviceDetection(rgvStn); |
| | | if (taskWrk!=null){ |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,taskWrk.getTargetPointConvert(),basDevpPositions)){ |
| | | BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", taskWrk.getTargetPointConvert())); |
| | | if (RouteUtils.CheckIfItIsWithinTheRange(rangeList,basDevpPosition.getPlcPosition(),basDevpPositions,itSmall)){ |
| | | sign = taskGenerate(rgvSlave,rgvStn,0); |
| | | } |
| | | } |