Commit c3956eea872c411f65dd093c8208926215e94e1f

Authored by 娄高锋
1 parent 999dd10f

出车早未到接口,(仅临港)除了每车首班缺人班次外,也要统计中途进出场后开始营运的首班班次。

src/main/java/com/bsth/repository/ScheduleRealInfoRepository.java
@@ -22,6 +22,15 @@ public interface ScheduleRealInfoRepository extends PagingAndSortingRepository<S @@ -22,6 +22,15 @@ public interface ScheduleRealInfoRepository extends PagingAndSortingRepository<S
22 List<ScheduleRealInfo> findAll(String schDate); 22 List<ScheduleRealInfo> findAll(String schDate);
23 23
24 /** 24 /**
  25 + * 根据日期获取班次信息(排序)
  26 + * @param schDate
  27 + * @return
  28 + */
  29 + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
  30 + @Query("select DISTINCT s from ScheduleRealInfo s where s.scheduleDateStr=?1 order by scheduleDateStr, xlBm, clZbh, realExecDate, fcsj")
  31 + List<ScheduleRealInfo> findAllByOrder(String schDate);
  32 +
  33 + /**
25 * 根据日期和线路编码获取班次信息 34 * 根据日期和线路编码获取班次信息
26 * @param schDate 35 * @param schDate
27 * @param lineCode 36 * @param lineCode
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
@@ -2892,11 +2892,8 @@ public class BigscreenService { @@ -2892,11 +2892,8 @@ public class BigscreenService {
2892 for(Map<String, Object> map : minfcsjList){ 2892 for(Map<String, Object> map : minfcsjList){
2893 minfcsjMap.put(map.get("line").toString(), map.get("minfcsj").toString()); 2893 minfcsjMap.put(map.get("line").toString(), map.get("minfcsj").toString());
2894 } 2894 }
2895 -  
2896 - SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");  
2897 - String format = sdf.format(new Date());  
2898 2895
2899 - List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAll(date); 2896 + List<ScheduleRealInfo> findAll = scheduleRealInfoRepository.findAllByOrder(date);
2900 List<ScheduleRealInfo> list_s = new ArrayList<ScheduleRealInfo>(); 2897 List<ScheduleRealInfo> list_s = new ArrayList<ScheduleRealInfo>();
2901 Map<String, ScheduleRealInfo> scheduleMap = new HashMap<String, ScheduleRealInfo>(); 2898 Map<String, ScheduleRealInfo> scheduleMap = new HashMap<String, ScheduleRealInfo>();
2902 for(ScheduleRealInfo s : findAll){ 2899 for(ScheduleRealInfo s : findAll){
@@ -2938,9 +2935,7 @@ public class BigscreenService { @@ -2938,9 +2935,7 @@ public class BigscreenService {
2938 List<ScheduleRealInfo> notYetList = new ArrayList<ScheduleRealInfo>(); 2935 List<ScheduleRealInfo> notYetList = new ArrayList<ScheduleRealInfo>();
2939 2936
2940 long sum = scheduleMap.keySet().size(), zwd = 0;//早未到数 2937 long sum = scheduleMap.keySet().size(), zwd = 0;//早未到数
2941 -// long yg_z = 0, sn_z = 0, jg_z = 0, nh_z = 0;  
2942 long cd_1 = 0, cd_2 = 0, cd_3 = 0, cd_5 = 0, cd_6 = 0; 2938 long cd_1 = 0, cd_2 = 0, cd_3 = 0, cd_5 = 0, cd_6 = 0;
2943 -// long yg_zwd = 0, sn_zwd = 0, jg_zwd = 0, nh_zwd = 0;  
2944 long cd_1_zwd = 0, cd_2_zwd = 0, cd_3_zwd = 0, cd_5_zwd = 0, cd_6_zwd = 0; 2939 long cd_1_zwd = 0, cd_2_zwd = 0, cd_3_zwd = 0, cd_5_zwd = 0, cd_6_zwd = 0;
2945 for(String key : scheduleMap.keySet()){ 2940 for(String key : scheduleMap.keySet()){
2946 ScheduleRealInfo s = scheduleMap.get(key); 2941 ScheduleRealInfo s = scheduleMap.get(key);
@@ -2956,7 +2951,16 @@ public class BigscreenService { @@ -2956,7 +2951,16 @@ public class BigscreenService {
2956 } else if("6".equals(s.getFgsBm())){ 2951 } else if("6".equals(s.getFgsBm())){
2957 cd_6 += 1; 2952 cd_6 += 1;
2958 } 2953 }
2959 - if("缺人".equals(s.getAdjustExps())){ 2954 + }
  2955 + }
  2956 +
  2957 + int b = 1;
  2958 + for(ScheduleRealInfo s : list_s){
  2959 + if("out".equals(s.getBcType())){
  2960 + b = 1; //有出场,下一个班次则是出场第一班
  2961 + }
  2962 + if(b == 1 && ("normal".equals(s.getBcType()))){
  2963 + if("缺人".equals(s.getAdjustExps()) || "缺车".equals(s.getAdjustExps())){
2960 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>(); 2964 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
2961 list.add(s); 2965 list.add(s);
2962 BigDecimal sjgl = new BigDecimal(culateSjgl(list)); 2966 BigDecimal sjgl = new BigDecimal(culateSjgl(list));
@@ -2978,7 +2982,8 @@ public class BigscreenService { @@ -2978,7 +2982,8 @@ public class BigscreenService {
2978 notYetList.add(s); 2982 notYetList.add(s);
2979 } 2983 }
2980 } 2984 }
2981 - } 2985 + b = 0;
  2986 + }
2982 } 2987 }
2983 2988
2984 resMap.put("sum", sum); 2989 resMap.put("sum", sum);