Commit e0659d5d6b45aaca6c96bfbf50a3b51a284bd2d3
1 parent
4af18242
update...
Showing
3 changed files
with
49 additions
and
30 deletions
src/main/java/com/bsth/data/schedule/late_adjust/ScheduleLateThread.java
| ... | ... | @@ -6,6 +6,8 @@ import com.bsth.data.schedule.ScheduleComparator; |
| 6 | 6 | import com.bsth.entity.realcontrol.ScheduleRealInfo; |
| 7 | 7 | import com.bsth.websocket.handler.SendUtils; |
| 8 | 8 | import org.apache.commons.lang3.StringUtils; |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 9 | 11 | import org.springframework.beans.factory.annotation.Autowired; |
| 10 | 12 | import org.springframework.stereotype.Component; |
| 11 | 13 | |
| ... | ... | @@ -31,43 +33,49 @@ public class ScheduleLateThread extends Thread{ |
| 31 | 33 | @Autowired |
| 32 | 34 | SendUtils sendUtils; |
| 33 | 35 | |
| 36 | + Logger logger = LoggerFactory.getLogger(this.getClass()); | |
| 37 | + | |
| 34 | 38 | private static Comparator<ScheduleRealInfo> cpm = new ScheduleComparator.DFSJ(); |
| 35 | 39 | |
| 36 | 40 | @Override |
| 37 | 41 | public void run() { |
| 38 | - List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); | |
| 39 | - Collections.sort(all, cpm); | |
| 42 | + try{ | |
| 43 | + List<ScheduleRealInfo> all = new ArrayList<>(dayOfSchedule.findAll()); | |
| 44 | + Collections.sort(all, cpm); | |
| 40 | 45 | |
| 41 | - long t = System.currentTimeMillis(); | |
| 42 | - int size = all.size(); | |
| 46 | + long t = System.currentTimeMillis(); | |
| 47 | + int size = all.size(); | |
| 43 | 48 | |
| 44 | - ScheduleRealInfo sch; | |
| 45 | - for(int i = 0; i < size; i ++){ | |
| 46 | - sch = all.get(i); | |
| 47 | - if(sch.getDfsjT() > t) | |
| 48 | - break; | |
| 49 | + ScheduleRealInfo sch; | |
| 50 | + for(int i = 0; i < size; i ++){ | |
| 51 | + sch = all.get(i); | |
| 52 | + if(sch.getDfsjT() > t) | |
| 53 | + break; | |
| 49 | 54 | |
| 50 | - if(sch.isLate()) | |
| 51 | - continue; | |
| 55 | + if(sch.isLate()) | |
| 56 | + continue; | |
| 52 | 57 | |
| 53 | - if(sch.getStatus() == 0 | |
| 54 | - && StringUtils.isEmpty(sch.getFcsjActual())){ | |
| 58 | + if(sch.getStatus() == 0 | |
| 59 | + && StringUtils.isEmpty(sch.getFcsjActual())){ | |
| 55 | 60 | |
| 56 | - //检查应发未到 当前班次无起点到达时间 | |
| 57 | - if(StringUtils.isEmpty(sch.getQdzArrDatesj())){ | |
| 58 | - ScheduleRealInfo prev = dayOfSchedule.prev(sch); | |
| 59 | - //上一个班次也没有实际终点到达时间 | |
| 60 | - if(prev != null && StringUtils.isEmpty(prev.getZdsjActual())){ | |
| 61 | - //进入误点调整程序 | |
| 62 | - LateAdjustHandle.putLate(sch); | |
| 61 | + //检查应发未到 当前班次无起点到达时间 | |
| 62 | + if(StringUtils.isEmpty(sch.getQdzArrDatesj())){ | |
| 63 | + ScheduleRealInfo prev = dayOfSchedule.prev(sch); | |
| 64 | + //上一个班次也没有实际终点到达时间 | |
| 65 | + if(prev != null && StringUtils.isEmpty(prev.getZdsjActual())){ | |
| 66 | + //进入误点调整程序 | |
| 67 | + LateAdjustHandle.putLate(sch); | |
| 68 | + } | |
| 63 | 69 | } |
| 64 | - } | |
| 65 | 70 | |
| 66 | - //应发未发 | |
| 67 | - sch.setLate(true); | |
| 68 | - //通知客户端 | |
| 69 | - sendUtils.refreshSch(sch); | |
| 71 | + //应发未发 | |
| 72 | + sch.setLate(true); | |
| 73 | + //通知客户端 | |
| 74 | + sendUtils.refreshSch(sch); | |
| 75 | + } | |
| 70 | 76 | } |
| 77 | + }catch (Exception e){ | |
| 78 | + logger.error("", e); | |
| 71 | 79 | } |
| 72 | 80 | } |
| 73 | 81 | } |
| 74 | 82 | \ No newline at end of file | ... | ... |
src/main/java/com/bsth/entity/directive/D80.java
| ... | ... | @@ -241,6 +241,7 @@ public class D80 { |
| 241 | 241 | DC0Data data = new DC0Data(); |
| 242 | 242 | data.setOperCode2((short) 0x86); |
| 243 | 243 | data.setRequestAck((short) (reply == 0 ? 0x06 : 0x15)); |
| 244 | + data.setTimestamp(this.getTimestamp()); | |
| 244 | 245 | c0.setData(data); |
| 245 | 246 | this.setC0(c0); |
| 246 | 247 | } | ... | ... |
src/main/java/com/bsth/entity/directive/DC0.java
| 1 | 1 | package com.bsth.entity.directive; |
| 2 | 2 | |
| 3 | -import javax.persistence.Embeddable; | |
| 4 | -import javax.persistence.Entity; | |
| 5 | -import javax.persistence.GeneratedValue; | |
| 6 | -import javax.persistence.Id; | |
| 7 | -import javax.persistence.Table; | |
| 3 | +import javax.persistence.*; | |
| 8 | 4 | |
| 9 | 5 | /** |
| 10 | 6 | * |
| ... | ... | @@ -52,6 +48,12 @@ public class DC0 { |
| 52 | 48 | */ |
| 53 | 49 | private Short requestAck; |
| 54 | 50 | |
| 51 | + /** | |
| 52 | + * 时间戳 | |
| 53 | + */ | |
| 54 | + @Transient | |
| 55 | + private Long timestamp; | |
| 56 | + | |
| 55 | 57 | public Short getOperCode2() { |
| 56 | 58 | return operCode2; |
| 57 | 59 | } |
| ... | ... | @@ -67,6 +69,14 @@ public class DC0 { |
| 67 | 69 | public void setRequestAck(Short requestAck) { |
| 68 | 70 | this.requestAck = requestAck; |
| 69 | 71 | } |
| 72 | + | |
| 73 | + public Long getTimestamp() { | |
| 74 | + return timestamp; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public void setTimestamp(Long timestamp) { | |
| 78 | + this.timestamp = timestamp; | |
| 79 | + } | |
| 70 | 80 | } |
| 71 | 81 | |
| 72 | 82 | public Integer getId() { | ... | ... |