Commit 806c3b99242577e825e19991bc133656af37da92
1 parent
a16b07b2
update...
Showing
3 changed files
with
12 additions
and
48 deletions
src/main/java/com/bsth/data/car_out_info/CarOutInfoHandler.java
| @@ -50,6 +50,8 @@ public class CarOutInfoHandler { | @@ -50,6 +50,8 @@ public class CarOutInfoHandler { | ||
| 50 | 50 | ||
| 51 | Logger logger = LoggerFactory.getLogger(this.getClass()); | 51 | Logger logger = LoggerFactory.getLogger(this.getClass()); |
| 52 | 52 | ||
| 53 | + | ||
| 54 | + ArrayListMultimap<String, ScheduleRealInfo> xlMaps = ArrayListMultimap.create(); | ||
| 53 | /** | 55 | /** |
| 54 | * 全量更新发车信息表 | 56 | * 全量更新发车信息表 |
| 55 | */ | 57 | */ |
| @@ -57,7 +59,6 @@ public class CarOutInfoHandler { | @@ -57,7 +59,6 @@ public class CarOutInfoHandler { | ||
| 57 | try{ | 59 | try{ |
| 58 | //将班次按线路分组 | 60 | //将班次按线路分组 |
| 59 | List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); | 61 | List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); |
| 60 | - ArrayListMultimap<String, ScheduleRealInfo> xlMaps = ArrayListMultimap.create(); | ||
| 61 | for(ScheduleRealInfo sch : all){ | 62 | for(ScheduleRealInfo sch : all){ |
| 62 | xlMaps.put(sch.getXlBm(), sch); | 63 | xlMaps.put(sch.getXlBm(), sch); |
| 63 | } | 64 | } |
| @@ -66,6 +67,9 @@ public class CarOutInfoHandler { | @@ -66,6 +67,9 @@ public class CarOutInfoHandler { | ||
| 66 | for (String k : ks) { | 67 | for (String k : ks) { |
| 67 | update(xlMaps.get(k)); | 68 | update(xlMaps.get(k)); |
| 68 | } | 69 | } |
| 70 | + | ||
| 71 | + xlMaps.clear(); | ||
| 72 | + logger.info("更新发车信息表!!"); | ||
| 69 | }catch (Exception e){ | 73 | }catch (Exception e){ |
| 70 | logger.error("", e); | 74 | logger.error("", e); |
| 71 | } | 75 | } |
| @@ -159,8 +163,8 @@ public class CarOutInfoHandler { | @@ -159,8 +163,8 @@ public class CarOutInfoHandler { | ||
| 159 | ScheduleRealInfo[] array = new ScheduleRealInfo[3]; | 163 | ScheduleRealInfo[] array = new ScheduleRealInfo[3]; |
| 160 | Collections.sort(list, schDFSJComparator); | 164 | Collections.sort(list, schDFSJComparator); |
| 161 | 165 | ||
| 162 | - int count = 0, threshold = 1000 * 60 * 60 * 4; | ||
| 163 | - long t = System.currentTimeMillis(); | 166 | + int count = 0;//, threshold = 1000 * 60 * 60 * 4; |
| 167 | + //long t = System.currentTimeMillis(); | ||
| 164 | for (ScheduleRealInfo sch : list) { | 168 | for (ScheduleRealInfo sch : list) { |
| 165 | if (count == 3) | 169 | if (count == 3) |
| 166 | break; | 170 | break; |
| @@ -180,8 +184,8 @@ public class CarOutInfoHandler { | @@ -180,8 +184,8 @@ public class CarOutInfoHandler { | ||
| 180 | || StringUtils.isNotEmpty(sch.getZdsjActual())) | 184 | || StringUtils.isNotEmpty(sch.getZdsjActual())) |
| 181 | continue; | 185 | continue; |
| 182 | 186 | ||
| 183 | - if (t - sch.getDfsjT() > threshold) | ||
| 184 | - continue; | 187 | + /*if (t - sch.getDfsjT() > threshold) |
| 188 | + continue;*/ | ||
| 185 | 189 | ||
| 186 | array[count] = sch; | 190 | array[count] = sch; |
| 187 | count++; | 191 | count++; |
src/main/java/com/bsth/data/gpsdata_v2/utils/SignalSchPlanMatcher.java
| @@ -45,7 +45,8 @@ public class SignalSchPlanMatcher { | @@ -45,7 +45,8 @@ public class SignalSchPlanMatcher { | ||
| 45 | 45 | ||
| 46 | if(null != near && !near.getId().equals(sch.getId())){ | 46 | if(null != near && !near.getId().equals(sch.getId())){ |
| 47 | 47 | ||
| 48 | - if(Math.abs(t - near.getDfsjT()) < Math.abs((t - sch.getDfsjT()))){ | 48 | + int nearDiff = (int) Math.abs(t - near.getDfsjT()); |
| 49 | + if(nearDiff < 1000 * 60 * 8 && nearDiff < Math.abs((t - sch.getDfsjT()))){ | ||
| 49 | 50 | ||
| 50 | dayOfSchedule.addExecPlan(near); | 51 | dayOfSchedule.addExecPlan(near); |
| 51 | return false; | 52 | return false; |
| @@ -57,47 +58,6 @@ public class SignalSchPlanMatcher { | @@ -57,47 +58,6 @@ public class SignalSchPlanMatcher { | ||
| 57 | log.error("", e); | 58 | log.error("", e); |
| 58 | } | 59 | } |
| 59 | return true; | 60 | return true; |
| 60 | - /*try{ | ||
| 61 | - //会不会是分班没有完成 | ||
| 62 | - if(sch.getBcType().equals("in") && t - sch.getDfsjT() > 1000 * 60 * 20){ | ||
| 63 | - ScheduleRealInfo fbFirst = dayOfSchedule.nextByBcType(sch, "normal"); | ||
| 64 | - | ||
| 65 | - if(fbFirst == null || !fbFirst.getQdzCode().equals(gps.getStopNo())) | ||
| 66 | - return; | ||
| 67 | - | ||
| 68 | - long dt = fbFirst.getDfsjT(); | ||
| 69 | - //晚于待发前4分钟 -执行分班的首个营运 | ||
| 70 | - if(dt - t < 1000 * 60 * 4){ | ||
| 71 | - dayOfSchedule.addExecPlan(fbFirst); | ||
| 72 | - return; | ||
| 73 | - } | ||
| 74 | - } | ||
| 75 | - | ||
| 76 | - //线路编码不匹配 | ||
| 77 | - if("out".equals(sch.getBcType()) && !sch.getXlBm().equals(gps.getLineId())){ | ||
| 78 | - ScheduleRealInfo nextOut = dayOfSchedule.nextByBcType(sch, "out"); | ||
| 79 | - if(nextOut != null && nextOut.getXlBm().equals(gps.getLineId()) | ||
| 80 | - && fcSpace(sch, gps) > fcSpace(nextOut, gps)){ | ||
| 81 | - dayOfSchedule.addExecPlan(nextOut); | ||
| 82 | - return; | ||
| 83 | - } | ||
| 84 | - } | ||
| 85 | - }catch (Exception e){ | ||
| 86 | - log.error("", e); | ||
| 87 | - } | ||
| 88 | - | ||
| 89 | - //下一个相同走向的班次 | ||
| 90 | - ScheduleRealInfo next = dayOfSchedule.nextSame(sch); | ||
| 91 | - if(next == null || !next.getQdzCode().equals(sch.getQdzCode())) | ||
| 92 | - return; | ||
| 93 | - | ||
| 94 | - //晚于班次间隔百分之70,跳下一个班次 | ||
| 95 | - double s = (int) (next.getDfsjT() - sch.getDfsjT()); | ||
| 96 | - double r = (int) (t - sch.getDfsjT()); | ||
| 97 | - if(r / s > 0.7){ | ||
| 98 | - if(dayOfSchedule.addExecPlan(next)) | ||
| 99 | - outMatch(gps, next); | ||
| 100 | - }*/ | ||
| 101 | } | 61 | } |
| 102 | 62 | ||
| 103 | /** | 63 | /** |
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
| @@ -825,7 +825,7 @@ public class DayOfSchedule { | @@ -825,7 +825,7 @@ public class DayOfSchedule { | ||
| 825 | } | 825 | } |
| 826 | 826 | ||
| 827 | public Collection<ScheduleRealInfo> findAll() { | 827 | public Collection<ScheduleRealInfo> findAll() { |
| 828 | - return nbbmScheduleMap.values(); | 828 | + return id2SchedulMap.values(); |
| 829 | } | 829 | } |
| 830 | 830 | ||
| 831 | public boolean addExecPlan(ScheduleRealInfo sch) { | 831 | public boolean addExecPlan(ScheduleRealInfo sch) { |