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 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();
... ...