Commit 56f15b1c59a760aea98e1e44bff9833aba0ba81e

Authored by panzhaov5
1 parent 961be0ac

update...

src/main/java/com/bsth/data/schedule/late_adjust/LateAdjustHandle.java
... ... @@ -9,6 +9,7 @@ import com.bsth.entity.realcontrol.ScheduleRealInfo;
9 9 import com.bsth.util.Arith;
10 10 import com.bsth.websocket.handler.SendUtils;
11 11 import com.google.common.collect.ArrayListMultimap;
  12 +import org.apache.commons.lang3.StringUtils;
12 13 import org.slf4j.Logger;
13 14 import org.slf4j.LoggerFactory;
14 15 import org.springframework.beans.BeansException;
... ... @@ -64,7 +65,11 @@ public class LateAdjustHandle implements ApplicationContextAware{
64 65 && sch.getDfsj().compareTo(config.getYjtkEnd()) <= 0){
65 66  
66 67 ScheduleRealInfo old = popLateSch(sch);
67   - if(null != old){
  68 +
  69 + //班次被压入
  70 + if(lateSchMaps.containsEntry(sch.getClZbh(), sch)){
  71 +
  72 + logger.info("【应发未到 -多个("+lateSchMaps.get(sch.getClZbh()).size()+")】班次 " + sch.getClZbh() + " -" + sch.getDfsj() + " -id: " + sch.getId() + " -加入误点调整!");
68 73 //通知客户端
69 74 sch.setLate2(true);
70 75 sendUtils.sendAutoWdtz(sch, old);
... ... @@ -84,24 +89,19 @@ public class LateAdjustHandle implements ApplicationContextAware{
84 89 private static ScheduleRealInfo popLateSch(ScheduleRealInfo sch) {
85 90 List<ScheduleRealInfo> list = lateSchMaps.get(sch.getClZbh());
86 91  
87   - if(null == list || list.size() == 0){
  92 + if(null == list || list.size() == 0)
88 93 lateSchMaps.put(sch.getClZbh(), sch);
89   - logger.info("【应发未到】班次 " + sch.getClZbh() + " -" + sch.getDfsj() + " -id: " + sch.getId() + " -加入误点调整!");
90   - }
91 94 else {
92 95 ScheduleRealInfo old = findExistQdz(list, sch.getQdzCode(), sch.getQdzName());
93 96  
94   - if(null == old){
  97 + if(null == old)
95 98 lateSchMaps.put(sch.getClZbh(), sch);
96   - logger.info("【应发未到 -多个("+lateSchMaps.get(sch.getClZbh()).size()+")】班次 " + sch.getClZbh() + " -" + sch.getDfsj() + " -id: " + sch.getId() + " -加入误点调整!");
97   - }
98   - //同一个起点,保留时间最大的班次
99 99 else if(old.getDfsjT() < sch.getDfsjT()){
  100 + //同一个起点,保留时间最大的班次
100 101 lateSchMaps.remove(old.getClZbh(), old);
101 102 lateSchMaps.put(sch.getClZbh(), sch);
102 103  
103 104 logger.info(sch.getClZbh() + "【应发未到】old 班次 " + old.getId() + " -被覆盖!");
104   - logger.info("【应发未到 -多个("+lateSchMaps.get(sch.getClZbh()).size()+")】班次 " + sch.getClZbh() + " -" + sch.getDfsj() + " -id: " + sch.getId() + " -加入误点调整!");
105 105 return old;
106 106 }
107 107 }
... ... @@ -160,8 +160,12 @@ public class LateAdjustHandle implements ApplicationContextAware{
160 160 return;
161 161  
162 162 String key = gps.getStopNo();
163   - if(gps.getInstation()==1)//站点名称
164   - key = gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo();
  163 + if(gps.getInstation()==1){
  164 + if(StringUtils.isNotEmpty(gps.getCarparkNo()))
  165 + key = gps.getCarparkNo();//停车场名称
  166 + else
  167 + key = gps.getLineId() + "_" + gps.getUpDown() + "_" + gps.getStopNo();//站点名称
  168 + }
165 169  
166 170 gps.setStationName(BasicData.stationCode2NameMap.get(key));
167 171 //根据起点站获取误点班次
... ...