| | |
| | | //获取小车取放任务列表失败 |
| | | public synchronized List<List<List<WrkMast>>> getWrkMastListAll(List<List<Integer>> siteListAll ,BasDevpPosition[] basDevpPositionsListUN) { |
| | | List<List<List<WrkMast>>> wrkMastListAll = new ArrayList<>(); |
| | | List<Integer> sourceStaNoList = new ArrayList<>(); |
| | | |
| | | for (List<Integer> siteList : siteListAll){ |
| | | List<List<WrkMast>> wrkMastLists = new ArrayList<>(); |
| | | try { |
| | |
| | | for (WrkMast wrkMast : wrkMastList) { |
| | | if (!Cools.isEmpty(wrkMast)) { |
| | | if (siteList.contains(wrkMast.getSourceStaNo())){ |
| | | if (!sourceStaNoList.contains(wrkMast.getSourceStaNo())){ |
| | | List<WrkMast> wrkMastListS = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("source_sta_no", wrkMast.getSourceStaNo()).eq("wrk_sts", 1L).orderBy("modi_time", true)); |
| | | if (wrkMastListS.isEmpty()){ |
| | | continue; |
| | | } |
| | | } else { |
| | | continue; |
| | | } |
| | | if (SortTheExecutionOfTheCarUtil.devpNoSortbj(basDevpPositionsListUN, wrkMast.getSourceStaNo(), wrkMast.getStaNo())) { |
| | | sourceStaNoList.add(wrkMast.getSourceStaNo()); |
| | | wrkMastlistA.add(wrkMast); |
| | | } else { |
| | | sourceStaNoList.add(wrkMast.getSourceStaNo()); |
| | | wrkMastlistB.add(wrkMast); |
| | | } |
| | | } |
| | |
| | | |
| | | List<Integer> rgvNoM = new ArrayList<>(); |
| | | List<Integer> rgvNoR = new ArrayList<>(); |
| | | Integer wrkMastRunCount = 0; |
| | | Long devperimeter = 0L; |
| | | int wrkMastRunCount = 0; |
| | | long devperimeter = 0L; |
| | | for (List<List<WrkMast>> wrkMastLists : wrkMastListAll) { |
| | | long rgvId = 0; |
| | | runRgv: |
| | |
| | | if (basDevpPosition.getPlcPosition()-rgvProtocol.getRgvPos()>taskRunPerimeter){ |
| | | if (!rgvNoM.contains(rgvProtocol.getRgvNo())){ |
| | | rgvNoM.add(rgvProtocol.getRgvNo()); |
| | | if (wrkMastRunCount == 0){ |
| | | devperimeter = basDevpPosition.getPlcPosition()-taskRunPerimeter+10000>perimeter? 10000:basDevpPosition.getPlcPosition()-taskRunPerimeter+10000; |
| | | } |
| | | wrkMastRunCount++; |
| | | break; |
| | | } |
| | |
| | | if (rgvProtocol.getRgvPos()+ perimeter -basDevpPosition.getPlcPosition()>taskRunPerimeter){ |
| | | if (!rgvNoM.contains(rgvProtocol.getRgvNo())){ |
| | | rgvNoM.add(rgvProtocol.getRgvNo()); |
| | | if (wrkMastRunCount == 0){ |
| | | devperimeter = basDevpPosition.getPlcPosition()-taskRunPerimeter+10000>perimeter? 10000:basDevpPosition.getPlcPosition()-taskRunPerimeter+10000; |
| | | } |
| | | wrkMastRunCount++; |
| | | break; |
| | | } |
| | |
| | | if (rgvProtocol == null) { |
| | | continue; |
| | | } |
| | | |
| | | wrkMastRunCount--; |
| | | if (rgvProtocol != null |
| | | && rgvProtocol.modeType == RgvModeType.AUTO |
| | | && rgvProtocol.getStatusType() == RgvStatusType.IDLE |
| | |
| | | log.error("RGV漫游启动命令下发失败,RGV号={},任务数据={}", rgvNo, "漫游指令"); |
| | | break; |
| | | } |
| | | wrkMastRunCount--; |
| | | } |
| | | } |
| | | } catch (Exception e){ |