Commit 4c8ecd2f79c70baa5827bfbd528de89a0898b79f
1 parent
0fba032a
1
Showing
1 changed file
with
17 additions
and
3 deletions
Bsth-admin/src/main/java/com/ruoyi/service/ThreadJobService.java
| ... | ... | @@ -600,7 +600,7 @@ public class ThreadJobService { |
| 600 | 600 | |
| 601 | 601 | // 遍历原始调度地图,处理每一个调度列表 |
| 602 | 602 | for (String key : originSchedulingMap.keySet()) { |
| 603 | - if(key.equals("724329")){ | |
| 603 | + if(key.equals("724758")){ | |
| 604 | 604 | System.out.println(1); |
| 605 | 605 | } |
| 606 | 606 | List<ResponseSchedulingDto> schedulingList = originSchedulingMap.get(key); |
| ... | ... | @@ -616,7 +616,7 @@ public class ThreadJobService { |
| 616 | 616 | .sorted(Comparator.comparing(DriverScheduling::getFcsjT)) |
| 617 | 617 | .collect(Collectors.toList()); |
| 618 | 618 | //松青线 路牌 松2 特殊出来,原因:分班+共营线路,无法打卡两次 |
| 619 | - if(nowScheduling.get(0).getLineName().equals("松青线") && nowScheduling.get(0).getLpName().equals("松2")){ | |
| 619 | + if(CollectionUtil.isNotEmpty(nowScheduling) && nowScheduling.get(0).getLineName().equals("松青线") && nowScheduling.get(0).getLpName().equals("松2")){ | |
| 620 | 620 | List<DriverScheduling> nowSchedulingTemp = new ArrayList<>(); |
| 621 | 621 | nowSchedulingTemp.add(nowScheduling.get(0)); |
| 622 | 622 | nowSchedulingTemp.add(nowScheduling.get(1)); |
| ... | ... | @@ -698,9 +698,17 @@ public class ThreadJobService { |
| 698 | 698 | // TODO 获取配置修改排班 |
| 699 | 699 | if (config.getSecondFlag().equals(NO_SEGMENTATION) && nowScheduling.size() == 2) { |
| 700 | 700 | handlerFirstSignConfig(config, nowScheduling); |
| 701 | + }else if(config.getSecondFlag().equals(NO_SEGMENTATION) && nowScheduling.size() > 2){ | |
| 702 | + //去掉相同的班次类型 | |
| 703 | + List<DriverScheduling> inList = nowScheduling.stream().filter(item -> item.getBcType().equals(BC_TYPE_IN)).collect(Collectors.toList()); | |
| 704 | + List<DriverScheduling> outList = nowScheduling.stream().filter(item -> item.getBcType().equals(BC_TYPE_OUT)).collect(Collectors.toList()); | |
| 705 | + nowScheduling.clear(); | |
| 706 | + nowScheduling.add(outList.get(0)); | |
| 707 | + nowScheduling.add(inList.get(0)); | |
| 708 | + handlerFirstSignConfig(config, nowScheduling); | |
| 701 | 709 | } |
| 702 | 710 | // 分段 |
| 703 | - else if (config.getSecondFlag().equals(HAVE_SEGMENTATION) && nowScheduling.size() == 4) { | |
| 711 | + if (config.getSecondFlag().equals(HAVE_SEGMENTATION) && nowScheduling.size() == 4) { | |
| 704 | 712 | handlerFirstSignConfig(config, nowScheduling); |
| 705 | 713 | handlerSecondSignConfig(config, nowScheduling); |
| 706 | 714 | } |
| ... | ... | @@ -865,6 +873,12 @@ public class ThreadJobService { |
| 865 | 873 | nowScheduling.remove(nowScheduling.size() - 1); |
| 866 | 874 | } |
| 867 | 875 | } |
| 876 | + for(int i=0;i<nowScheduling.size();i++){ | |
| 877 | + if(nowScheduling.get(i).getStatus()==-1){ | |
| 878 | + nowScheduling.remove(i); | |
| 879 | + i--; | |
| 880 | + } | |
| 881 | + } | |
| 868 | 882 | |
| 869 | 883 | return nowScheduling.stream().map(item -> { |
| 870 | 884 | DriverScheduling scheduling = new DriverScheduling(); | ... | ... |