Commit 4c8ecd2f79c70baa5827bfbd528de89a0898b79f

Authored by 2c
1 parent 0fba032a

1

Bsth-admin/src/main/java/com/ruoyi/service/ThreadJobService.java
@@ -600,7 +600,7 @@ public class ThreadJobService { @@ -600,7 +600,7 @@ public class ThreadJobService {
600 600
601 // 遍历原始调度地图,处理每一个调度列表 601 // 遍历原始调度地图,处理每一个调度列表
602 for (String key : originSchedulingMap.keySet()) { 602 for (String key : originSchedulingMap.keySet()) {
603 - if(key.equals("724329")){ 603 + if(key.equals("724758")){
604 System.out.println(1); 604 System.out.println(1);
605 } 605 }
606 List<ResponseSchedulingDto> schedulingList = originSchedulingMap.get(key); 606 List<ResponseSchedulingDto> schedulingList = originSchedulingMap.get(key);
@@ -616,7 +616,7 @@ public class ThreadJobService { @@ -616,7 +616,7 @@ public class ThreadJobService {
616 .sorted(Comparator.comparing(DriverScheduling::getFcsjT)) 616 .sorted(Comparator.comparing(DriverScheduling::getFcsjT))
617 .collect(Collectors.toList()); 617 .collect(Collectors.toList());
618 //松青线 路牌 松2 特殊出来,原因:分班+共营线路,无法打卡两次 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 List<DriverScheduling> nowSchedulingTemp = new ArrayList<>(); 620 List<DriverScheduling> nowSchedulingTemp = new ArrayList<>();
621 nowSchedulingTemp.add(nowScheduling.get(0)); 621 nowSchedulingTemp.add(nowScheduling.get(0));
622 nowSchedulingTemp.add(nowScheduling.get(1)); 622 nowSchedulingTemp.add(nowScheduling.get(1));
@@ -698,9 +698,17 @@ public class ThreadJobService { @@ -698,9 +698,17 @@ public class ThreadJobService {
698 // TODO 获取配置修改排班 698 // TODO 获取配置修改排班
699 if (config.getSecondFlag().equals(NO_SEGMENTATION) && nowScheduling.size() == 2) { 699 if (config.getSecondFlag().equals(NO_SEGMENTATION) && nowScheduling.size() == 2) {
700 handlerFirstSignConfig(config, nowScheduling); 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 handlerFirstSignConfig(config, nowScheduling); 712 handlerFirstSignConfig(config, nowScheduling);
705 handlerSecondSignConfig(config, nowScheduling); 713 handlerSecondSignConfig(config, nowScheduling);
706 } 714 }
@@ -865,6 +873,12 @@ public class ThreadJobService { @@ -865,6 +873,12 @@ public class ThreadJobService {
865 nowScheduling.remove(nowScheduling.size() - 1); 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 return nowScheduling.stream().map(item -> { 883 return nowScheduling.stream().map(item -> {
870 DriverScheduling scheduling = new DriverScheduling(); 884 DriverScheduling scheduling = new DriverScheduling();