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 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 35 * @param schDate
27 36 * @param lineCode
... ...
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
... ... @@ -2892,11 +2892,8 @@ public class BigscreenService {
2892 2892 for(Map<String, Object> map : minfcsjList){
2893 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 2897 List<ScheduleRealInfo> list_s = new ArrayList<ScheduleRealInfo>();
2901 2898 Map<String, ScheduleRealInfo> scheduleMap = new HashMap<String, ScheduleRealInfo>();
2902 2899 for(ScheduleRealInfo s : findAll){
... ... @@ -2938,9 +2935,7 @@ public class BigscreenService {
2938 2935 List<ScheduleRealInfo> notYetList = new ArrayList<ScheduleRealInfo>();
2939 2936  
2940 2937 long sum = scheduleMap.keySet().size(), zwd = 0;//早未到数
2941   -// long yg_z = 0, sn_z = 0, jg_z = 0, nh_z = 0;
2942 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 2939 long cd_1_zwd = 0, cd_2_zwd = 0, cd_3_zwd = 0, cd_5_zwd = 0, cd_6_zwd = 0;
2945 2940 for(String key : scheduleMap.keySet()){
2946 2941 ScheduleRealInfo s = scheduleMap.get(key);
... ... @@ -2956,7 +2951,16 @@ public class BigscreenService {
2956 2951 } else if("6".equals(s.getFgsBm())){
2957 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 2964 List<ScheduleRealInfo> list = new ArrayList<ScheduleRealInfo>();
2961 2965 list.add(s);
2962 2966 BigDecimal sjgl = new BigDecimal(culateSjgl(list));
... ... @@ -2978,7 +2982,8 @@ public class BigscreenService {
2978 2982 notYetList.add(s);
2979 2983 }
2980 2984 }
2981   - }
  2985 + b = 0;
  2986 + }
2982 2987 }
2983 2988  
2984 2989 resMap.put("sum", sum);
... ...