Commit d9ebf6bee2e236ffbf6ad46ad66535eccca8c719

Authored by 潘钊
1 parent 18c7788e

update...

src/main/java/com/bsth/data/LineConfigData.java
@@ -2,7 +2,6 @@ package com.bsth.data; @@ -2,7 +2,6 @@ package com.bsth.data;
2 2
3 import com.bsth.Application; 3 import com.bsth.Application;
4 import com.bsth.entity.Line; 4 import com.bsth.entity.Line;
5 -import com.bsth.entity.realcontrol.D80ReplyTemp;  
6 import com.bsth.entity.realcontrol.LineConfig; 5 import com.bsth.entity.realcontrol.LineConfig;
7 import com.bsth.entity.realcontrol.ScheduleRealInfo; 6 import com.bsth.entity.realcontrol.ScheduleRealInfo;
8 import com.bsth.service.LineService; 7 import com.bsth.service.LineService;
@@ -135,31 +134,15 @@ public class LineConfigData implements CommandLineRunner { @@ -135,31 +134,15 @@ public class LineConfigData implements CommandLineRunner {
135 conf.setLine(line); 134 conf.setLine(line);
136 //开始运营时间 135 //开始运营时间
137 conf.setStartOpt("02:00"); 136 conf.setStartOpt("02:00");
138 - //托管状态  
139 - conf.setTrust(true);  
140 //出场时间类型 137 //出场时间类型
141 conf.setOutConfig(0); 138 conf.setOutConfig(0);
142 - //进场时间类型  
143 - //conf.setInConfig(1);  
144 - //短语模板  
145 - conf.setPhraseTemps("");  
146 //调度指令模板 139 //调度指令模板
147 conf.setSchDirectiveTemp(""); 140 conf.setSchDirectiveTemp("");
148 141
149 - //80指令回复 闵行用  
150 - D80ReplyTemp t50 = new D80ReplyTemp(conf, (short) 0x50, "同意,回电详谈", "不同意,请回电"), t60 = new D80ReplyTemp(conf, (short) 0x60, "同意,回电详谈", "不同意,请回电"), tA2 = new D80ReplyTemp(conf, (short) 0xA2, "同意,回电详谈", "不同意,请回电"), t70 = new D80ReplyTemp(conf, (short) 0x70, "同意,回电详谈", "不同意,请回电"), t11 = new D80ReplyTemp(conf, (short) 0x11, "同意,回电详谈", "不同意,请回电");  
151 -  
152 //应急停靠默认值 142 //应急停靠默认值
153 conf.setYjtkStart("00:00"); 143 conf.setYjtkStart("00:00");
154 conf.setYjtkEnd("23:59"); 144 conf.setYjtkEnd("23:59");
155 145
156 - Set<D80ReplyTemp> temps = conf.getD80Temps();  
157 - temps.add(t50);  
158 - temps.add(t60);  
159 - temps.add(tA2);  
160 - temps.add(t70);  
161 - temps.add(t11);  
162 -  
163 set(conf); 146 set(conf);
164 } 147 }
165 } 148 }
src/main/java/com/bsth/data/pilot80/PilotReport.java
@@ -2,15 +2,12 @@ package com.bsth.data.pilot80; @@ -2,15 +2,12 @@ package com.bsth.data.pilot80;
2 2
3 import com.bsth.data.BasicData; 3 import com.bsth.data.BasicData;
4 import com.bsth.data.LineConfigData; 4 import com.bsth.data.LineConfigData;
5 -import com.bsth.data.gpsdata.GpsEntity;  
6 import com.bsth.data.gpsdata.GpsRealData; 5 import com.bsth.data.gpsdata.GpsRealData;
7 import com.bsth.data.gpsdata.status_manager.GpsStatusManager; 6 import com.bsth.data.gpsdata.status_manager.GpsStatusManager;
8 import com.bsth.data.msg_queue.DirectivePushQueue; 7 import com.bsth.data.msg_queue.DirectivePushQueue;
9 import com.bsth.data.schedule.DayOfSchedule; 8 import com.bsth.data.schedule.DayOfSchedule;
10 -import com.bsth.entity.Line;  
11 import com.bsth.entity.directive.D80; 9 import com.bsth.entity.directive.D80;
12 import com.bsth.entity.directive.DC0_A4; 10 import com.bsth.entity.directive.DC0_A4;
13 -import com.bsth.entity.realcontrol.D80ReplyTemp;  
14 import com.bsth.entity.realcontrol.LineConfig; 11 import com.bsth.entity.realcontrol.LineConfig;
15 import com.bsth.entity.realcontrol.ScheduleRealInfo; 12 import com.bsth.entity.realcontrol.ScheduleRealInfo;
16 import com.bsth.repository.directive.D80Repository; 13 import com.bsth.repository.directive.D80Repository;
@@ -56,14 +53,11 @@ public class PilotReport { @@ -56,14 +53,11 @@ public class PilotReport {
56 @Autowired 53 @Autowired
57 GpsStatusManager gpsStatusManager; 54 GpsStatusManager gpsStatusManager;
58 55
59 - //private static ArrayListMultimap<String, D80> d80MultiMap;  
60 -  
61 private static ConcurrentHashMap<Integer, D80> d80Maps; 56 private static ConcurrentHashMap<Integer, D80> d80Maps;
62 57
63 Logger logger = LoggerFactory.getLogger(PilotReport.class); 58 Logger logger = LoggerFactory.getLogger(PilotReport.class);
64 59
65 static { 60 static {
66 - //d80MultiMap = ArrayListMultimap.create();  
67 d80Maps = new ConcurrentHashMap<>(); 61 d80Maps = new ConcurrentHashMap<>();
68 } 62 }
69 63
@@ -75,7 +69,6 @@ public class PilotReport { @@ -75,7 +69,6 @@ public class PilotReport {
75 d80Repository.save(d80); 69 d80Repository.save(d80);
76 //入缓存 70 //入缓存
77 d80Maps.put(d80.getId(), d80); 71 d80Maps.put(d80.getId(), d80);
78 - //d80MultiMap.put(d80.getData().getLineId().toString(), d80);  
79 72
80 String nbbm = BasicData.deviceId2NbbmMap.get(d80.getDeviceId()); 73 String nbbm = BasicData.deviceId2NbbmMap.get(d80.getDeviceId());
81 //上报时,在执行的班次 74 //上报时,在执行的班次
@@ -94,23 +87,8 @@ public class PilotReport { @@ -94,23 +87,8 @@ public class PilotReport {
94 //没有计划里程的出场班次,出场既是首发站,发送下一班次的调度指令 87 //没有计划里程的出场班次,出场既是首发站,发送下一班次的调度指令
95 if (outSch.getJhlc() == null) 88 if (outSch.getJhlc() == null)
96 outSch = dayOfSchedule.next(outSch); 89 outSch = dayOfSchedule.next(outSch);
97 -  
98 //下发调度指令 90 //下发调度指令
99 - String deviceId = d80.getDeviceId();  
100 DirectivePushQueue.put6002(outSch, dayOfSchedule.doneSum(nbbm), "请出@系统"); 91 DirectivePushQueue.put6002(outSch, dayOfSchedule.doneSum(nbbm), "请出@系统");
101 -  
102 - //下发线路切换指令  
103 - DirectivePushQueue.put64(outSch.getClZbh(), outSch.getXlBm(), "请出@系统");  
104 -  
105 - try {  
106 - GpsEntity gps = gpsRealData.get(deviceId);  
107 - if(gps != null && !gps.isService()){  
108 - //切换到营运状态  
109 - gpsStatusManager.changeServiceState(nbbm, outSch.getXlDir() ,0, "请出@系统");  
110 - }  
111 - }catch (Exception e){  
112 - logger.error("请出切换营运状态异常", e);  
113 - }  
114 } 92 }
115 break; 93 break;
116 } 94 }
@@ -141,10 +119,7 @@ public class PilotReport { @@ -141,10 +119,7 @@ public class PilotReport {
141 * @Description: TODO(调度员回复) 119 * @Description: TODO(调度员回复)
142 */ 120 */
143 public void reply(D80 d80) { 121 public void reply(D80 d80) {
144 - String nbbm = BasicData.deviceId2NbbmMap.get(d80.getDeviceId());  
145 Short reqCode = d80.getData().getRequestCode(); 122 Short reqCode = d80.getData().getRequestCode();
146 - //默认短语回复  
147 - //defaultReply(nbbm, reqCode, d80.getConfirmRs() == 0?true:false);  
148 123
149 switch (reqCode) { 124 switch (reqCode) {
150 case 0xA3: 125 case 0xA3:
@@ -229,54 +204,6 @@ public class PilotReport { @@ -229,54 +204,6 @@ public class PilotReport {
229 return v == null || v.equals(0.0); 204 return v == null || v.equals(0.0);
230 } 205 }
231 206
232 - public void defaultReply(String nbbm, short requestCode, boolean agree) {  
233 - Line line = BasicData.nbbm2LineMap.get(nbbm);  
234 - String lineCode = null;  
235 -  
236 - if (line != null)  
237 - lineCode = line.getLineCode();  
238 - else {  
239 - try {  
240 - lineCode = gpsRealData.get(BasicData.deviceId2NbbmMap.inverse().get(nbbm)).getLineId().toString();  
241 - } catch (Exception e) {  
242 - logger.error("", e);  
243 - }  
244 - }  
245 -  
246 - if (null == lineCode)  
247 - return;  
248 -  
249 - LineConfig conf = lineConfigData.get(lineCode);  
250 - D80ReplyTemp temp = conf.findByCode(requestCode);  
251 -  
252 - if (null == temp)  
253 - return;  
254 -  
255 - String text;  
256 - if (agree)  
257 - text = temp.getAgreeText();  
258 - else  
259 - text = temp.getRejectText();  
260 -  
261 - directiveService.send60Phrase(nbbm, text, "系统");  
262 - }  
263 -  
264 - /**  
265 - * @Title: resumeOperation  
266 - * @Description: TODO(恢复营运)  
267 - */  
268 - public void resumeOperation(D80 d80) {  
269 -  
270 - }  
271 -  
272 - /**  
273 - * @Title: applyTiaodang  
274 - * @Description: TODO(申请调档)  
275 - */  
276 - public void applyTiaodang(D80 d80) {  
277 -  
278 - }  
279 -  
280 /** 207 /**
281 * @Title: unconfirmed80 208 * @Title: unconfirmed80
282 * @Description: TODO(根据lineCode 获取未处理的80数据) 209 * @Description: TODO(根据lineCode 获取未处理的80数据)
@@ -304,10 +231,6 @@ public class PilotReport { @@ -304,10 +231,6 @@ public class PilotReport {
304 return d80Maps.get(id); 231 return d80Maps.get(id);
305 } 232 }
306 233
307 -/* public String coordHtmlStr(GpsEntity gps) {  
308 -  
309 - return "<span class=\"nt-coord\" data-lon=\"" + gps.getLon() + "\" data-lat=\"" + gps.getLat() + "\"></span>";  
310 - }*/  
311 234
312 public Collection<D80> findAll() { 235 public Collection<D80> findAll() {
313 return d80Maps.values(); 236 return d80Maps.values();
@@ -321,18 +244,4 @@ public class PilotReport { @@ -321,18 +244,4 @@ public class PilotReport {
321 } 244 }
322 logger.info("清除 80数据 after: " + d80Maps.size()); 245 logger.info("清除 80数据 after: " + d80Maps.size());
323 } 246 }
324 -  
325 - public Collection<? extends D80> findByCar(String nbbm) {  
326 - List<D80> rs = new ArrayList<>();  
327 - String deviceId = BasicData.deviceId2NbbmMap.inverse().get(nbbm);  
328 - if (null == deviceId)  
329 - return rs;  
330 -  
331 - Collection<D80> all = findAll();  
332 - for (D80 d80 : all) {  
333 - if (d80.getDeviceId().equals(deviceId))  
334 - rs.add(d80);  
335 - }  
336 - return rs;  
337 - }  
338 } 247 }
src/main/java/com/bsth/entity/realcontrol/D80ReplyTemp.java deleted 100644 → 0
1 -package com.bsth.entity.realcontrol;  
2 -  
3 -import javax.persistence.Entity;  
4 -import javax.persistence.GeneratedValue;  
5 -import javax.persistence.Id;  
6 -import javax.persistence.ManyToOne;  
7 -import javax.persistence.Table;  
8 -  
9 -import com.fasterxml.jackson.annotation.JsonIgnore;  
10 -  
11 -/**  
12 - *  
13 - * @ClassName: D80ReplyTemp  
14 - * @Description: TODO(80处理后自动回复模板)  
15 - * @author PanZhao  
16 - * @date 2016年8月22日 下午11:30:10  
17 - *  
18 - */  
19 -@Entity  
20 -@Table(name = "bsth_v_d80_reply_temp")  
21 -public class D80ReplyTemp {  
22 -  
23 - public D80ReplyTemp(LineConfig conf, short requestCode, String agreeText, String rejectText){  
24 - this.conf = conf;  
25 - this.requestCode = requestCode;  
26 - this.agreeText = agreeText;  
27 - this.rejectText = rejectText;  
28 - }  
29 -  
30 - public D80ReplyTemp(){}  
31 -  
32 - @Id  
33 - @GeneratedValue  
34 - private Integer id;  
35 -  
36 - @JsonIgnore  
37 - @ManyToOne  
38 - private LineConfig conf;  
39 -  
40 - private Short requestCode;  
41 -  
42 - /** 同意时下发文本 */  
43 - private String agreeText;  
44 -  
45 - /** 拒绝时下发文本 */  
46 - private String rejectText;  
47 -  
48 - public Integer getId() {  
49 - return id;  
50 - }  
51 -  
52 - public void setId(Integer id) {  
53 - this.id = id;  
54 - }  
55 -  
56 - public LineConfig getConf() {  
57 - return conf;  
58 - }  
59 -  
60 - public void setConf(LineConfig conf) {  
61 - this.conf = conf;  
62 - }  
63 -  
64 - public Short getRequestCode() {  
65 - return requestCode;  
66 - }  
67 -  
68 - public void setRequestCode(Short requestCode) {  
69 - this.requestCode = requestCode;  
70 - }  
71 -  
72 - public String getAgreeText() {  
73 - return agreeText;  
74 - }  
75 -  
76 - public void setAgreeText(String agreeText) {  
77 - this.agreeText = agreeText;  
78 - }  
79 -  
80 - public String getRejectText() {  
81 - return rejectText;  
82 - }  
83 -  
84 - public void setRejectText(String rejectText) {  
85 - this.rejectText = rejectText;  
86 - }  
87 -}  
src/main/java/com/bsth/entity/realcontrol/LineConfig.java
@@ -3,8 +3,6 @@ package com.bsth.entity.realcontrol; @@ -3,8 +3,6 @@ package com.bsth.entity.realcontrol;
3 import com.bsth.entity.Line; 3 import com.bsth.entity.Line;
4 4
5 import javax.persistence.*; 5 import javax.persistence.*;
6 -import java.util.HashSet;  
7 -import java.util.Set;  
8 6
9 /** 7 /**
10 * 8 *
@@ -18,8 +16,7 @@ import java.util.Set; @@ -18,8 +16,7 @@ import java.util.Set;
18 @Table(name = "bsth_c_line_config") 16 @Table(name = "bsth_c_line_config")
19 @NamedEntityGraphs({ 17 @NamedEntityGraphs({
20 @NamedEntityGraph(name = "lineConfig_line_80temps", attributeNodes = { 18 @NamedEntityGraph(name = "lineConfig_line_80temps", attributeNodes = {
21 - @NamedAttributeNode("line"),  
22 - @NamedAttributeNode("d80Temps") 19 + @NamedAttributeNode("line")
23 }) 20 })
24 }) 21 })
25 public class LineConfig { 22 public class LineConfig {
@@ -33,13 +30,6 @@ public class LineConfig { @@ -33,13 +30,6 @@ public class LineConfig {
33 30
34 /** 开始运营时间 HH:mm */ 31 /** 开始运营时间 HH:mm */
35 private String startOpt; 32 private String startOpt;
36 -  
37 - /** 当天开始营运时间戳  
38 - @Transient  
39 - private long currStartTime;*/  
40 -  
41 - /** 托管状态 */  
42 - private boolean trust;  
43 33
44 /** 出场时间设置 0:真实出场(设备离开缓冲区时间) 1:请求出场时间 2:出站即出场 */ 34 /** 出场时间设置 0:真实出场(设备离开缓冲区时间) 1:请求出场时间 2:出站即出场 */
45 private int outConfig; 35 private int outConfig;
@@ -50,9 +40,6 @@ public class LineConfig { @@ -50,9 +40,6 @@ public class LineConfig {
50 /** 出站既出场 对应的起点站 */ 40 /** 出站既出场 对应的起点站 */
51 private String twinsStation; 41 private String twinsStation;
52 42
53 - /** 短语模板 , 号分隔多个 */  
54 - private String phraseTemps;  
55 -  
56 /** 调度指令模板 */ 43 /** 调度指令模板 */
57 private String schDirectiveTemp; 44 private String schDirectiveTemp;
58 45
@@ -62,6 +49,7 @@ public class LineConfig { @@ -62,6 +49,7 @@ public class LineConfig {
62 /** 原线路回场 */ 49 /** 原线路回场 */
63 private boolean inParkForSource; 50 private boolean inParkForSource;
64 51
  52 + /** 自动执行 */
65 private boolean autoExec; 53 private boolean autoExec;
66 54
67 /** 55 /**
@@ -93,10 +81,6 @@ public class LineConfig { @@ -93,10 +81,6 @@ public class LineConfig {
93 */ 81 */
94 private boolean lockFirstOutTime; 82 private boolean lockFirstOutTime;
95 83
96 -  
97 - @OneToMany(cascade = CascadeType.ALL)  
98 - private Set<D80ReplyTemp> d80Temps = new HashSet<>();  
99 -  
100 public Integer getId() { 84 public Integer getId() {
101 return id; 85 return id;
102 } 86 }
@@ -121,14 +105,6 @@ public class LineConfig { @@ -121,14 +105,6 @@ public class LineConfig {
121 this.startOpt = startOpt; 105 this.startOpt = startOpt;
122 } 106 }
123 107
124 - public boolean isTrust() {  
125 - return trust;  
126 - }  
127 -  
128 - public void setTrust(boolean trust) {  
129 - this.trust = trust;  
130 - }  
131 -  
132 public int getOutConfig() { 108 public int getOutConfig() {
133 return outConfig; 109 return outConfig;
134 } 110 }
@@ -137,14 +113,6 @@ public class LineConfig { @@ -137,14 +113,6 @@ public class LineConfig {
137 this.outConfig = outConfig; 113 this.outConfig = outConfig;
138 } 114 }
139 115
140 - public String getPhraseTemps() {  
141 - return phraseTemps;  
142 - }  
143 -  
144 - public void setPhraseTemps(String phraseTemps) {  
145 - this.phraseTemps = phraseTemps;  
146 - }  
147 -  
148 public String getSchDirectiveTemp() { 116 public String getSchDirectiveTemp() {
149 return schDirectiveTemp; 117 return schDirectiveTemp;
150 } 118 }
@@ -153,35 +121,6 @@ public class LineConfig { @@ -153,35 +121,6 @@ public class LineConfig {
153 this.schDirectiveTemp = schDirectiveTemp; 121 this.schDirectiveTemp = schDirectiveTemp;
154 } 122 }
155 123
156 -/* public long getCurrStartTime() {  
157 - Date d = null;  
158 - try {  
159 - SimpleDateFormat sdfyyyyMMddHHmm = new SimpleDateFormat("yyyy-MM-ddHH:mm")  
160 - ,sdfyyyyMMdd = new SimpleDateFormat("yyyy-MM-dd");  
161 - d = sdfyyyyMMddHHmm.parse(sdfyyyyMMdd.format(new Date()) + this.startOpt);  
162 - } catch (ParseException e) {  
163 - e.printStackTrace();  
164 - }  
165 - return d.getTime();  
166 - }*/  
167 -  
168 - public D80ReplyTemp findByCode(short code){  
169 - for(D80ReplyTemp temp : d80Temps){  
170 - if(temp.getRequestCode() == code)  
171 - return temp;  
172 - }  
173 -  
174 - return null;  
175 - }  
176 -  
177 - public Set<D80ReplyTemp> getD80Temps() {  
178 - return d80Temps;  
179 - }  
180 -  
181 - public void setD80Temps(Set<D80ReplyTemp> d80Temps) {  
182 - this.d80Temps = d80Temps;  
183 - }  
184 -  
185 public boolean isReadReverse() { 124 public boolean isReadReverse() {
186 return readReverse; 125 return readReverse;
187 } 126 }
src/main/java/com/bsth/websocket/entity/WsScheduleRealInfo.java 0 → 100644
  1 +package com.bsth.websocket.entity;
  2 +
  3 +import com.bsth.entity.realcontrol.ChildTaskPlan;
  4 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  5 +
  6 +import javax.persistence.FetchType;
  7 +import javax.persistence.OneToMany;
  8 +import javax.persistence.Transient;
  9 +import java.util.ArrayList;
  10 +import java.util.HashSet;
  11 +import java.util.List;
  12 +import java.util.Set;
  13 +
  14 +/**
  15 + * 精简字段的实际排班 entity
  16 + * webSocket 传输用,去掉了页面不需要的一些字段
  17 + * Created by panzhao on 2017/11/14.
  18 + */
  19 +public class WsScheduleRealInfo {
  20 +
  21 + public static WsScheduleRealInfo getInstance(ScheduleRealInfo sch){
  22 + WsScheduleRealInfo wss = new WsScheduleRealInfo();
  23 + wss.id = sch.getId();
  24 + wss.scheduleDateStr = sch.getScheduleDateStr();
  25 + wss.realExecDate = sch.getRealExecDate();
  26 + wss.xlName = sch.getXlName();
  27 + wss.xlBm = sch.getXlBm();
  28 + wss.lpName = sch.getLpName();
  29 + wss.clZbh = sch.getClZbh();
  30 + wss.jGh = sch.getjGh();
  31 + wss.jName = sch.getjName();
  32 + wss.sGh = sch.getsGh();
  33 + wss.sName = sch.getsName();
  34 + wss.xlDir = sch.getXlDir();
  35 + wss.qdzCode = sch.getQdzCode();
  36 + wss.qdzName = sch.getQdzName();
  37 + wss.zdzCode = sch.getZdzCode();
  38 + wss.zdzName = sch.getZdzName();
  39 + wss.fcsj = sch.getFcsj();
  40 + wss.fcsjT = sch.getFcsjT();
  41 + wss.zdsj = sch.getZdsj();
  42 + wss.zdsjT = sch.getZdsjT();
  43 + wss.jhlc = sch.getJhlc();
  44 + wss.jhlcOrig = sch.getJhlcOrig();
  45 + wss.bcsj = sch.getBcsj();
  46 + wss.bcType = sch.getBcType();
  47 + wss.majorStationName = sch.getMajorStationName();
  48 + wss.fcsjActual = sch.getFcsjActual();
  49 + wss.fcsjActualTime = sch.getFcsjActualTime();
  50 + wss.zdsjActual = sch.getZdsjActual();
  51 + wss.zdsjActualTime = sch.getZdsjActualTime();
  52 + wss.status = sch.getStatus();
  53 + wss.adjustExps = sch.getAdjustExps();
  54 + wss.sflj = sch.isSflj();
  55 + wss.late = sch.isLate();
  56 + wss.late2 = sch.isLate2();
  57 + wss.lateMinute = sch.getLateMinute();
  58 + wss.remarks = sch.getRemarks();
  59 + wss.dfsj = sch.getDfsj();
  60 + wss.dfsjT = sch.getDfsjT();
  61 + wss.directiveState = sch.getDirectiveState();
  62 + wss.qdzArrDatejh = sch.getQdzArrDatejh();
  63 + wss.qdzArrDatesj = sch.getQdzArrDatesj();
  64 + wss.cTasks = sch.getcTasks();
  65 + wss.gsName = sch.getGsName();
  66 + wss.gsBm = sch.getGsBm();
  67 + wss.fgsName = sch.getFgsName();
  68 + wss.fgsBm = sch.getFgsBm();
  69 + wss.dfAuto = sch.isDfAuto();
  70 + wss.online = sch.isOnline();
  71 + wss.reissue = sch.isReissue();
  72 + wss.driftStatus = sch.getDriftStatus();
  73 + wss.ccService = sch.isCcService();
  74 + return wss;
  75 + }
  76 +
  77 +
  78 + public static List<WsScheduleRealInfo> getMultiInstance(List<ScheduleRealInfo> list){
  79 + List<WsScheduleRealInfo> rs = new ArrayList<>();
  80 + for(ScheduleRealInfo sch : list){
  81 + rs.add(getInstance(sch));
  82 + }
  83 + return rs;
  84 + }
  85 +
  86 + /** 主键Id */
  87 + private Long id;
  88 +
  89 + /** 排班日期字符串 YYYY-MM-DD */
  90 + private String scheduleDateStr;
  91 +
  92 + /** 真实执行时间 yyyy-MM-dd */
  93 + private String realExecDate;
  94 +
  95 + /** 线路名称 */
  96 + private String xlName;
  97 + /** 线路编码 */
  98 + private String xlBm;
  99 +
  100 + /** 路牌名称 */
  101 + private String lpName;
  102 +
  103 + /** 车辆自编号 */
  104 + private String clZbh;
  105 +
  106 + /** 驾驶员工号 */
  107 + private String jGh;
  108 + /** 驾驶员名字 */
  109 + private String jName;
  110 + /** 售票员工号 */
  111 + private String sGh;
  112 + /** 售票员名字 */
  113 + private String sName;
  114 +
  115 + /** 线路方向 */
  116 + private String xlDir;
  117 + /** 起点站code*/
  118 + private String qdzCode;
  119 + /** 起点站名字 */
  120 + private String qdzName;
  121 +
  122 + /** 终点站code*/
  123 + private String zdzCode;
  124 + /** 终点站名字 */
  125 + private String zdzName;
  126 +
  127 + /** 计划发车时间(格式 HH:mm) */
  128 + private String fcsj;
  129 + /** 计划发车时间戳*/
  130 + @Transient
  131 + private Long fcsjT;
  132 +
  133 + /** 计划终点时间(格式 HH:mm) */
  134 + private String zdsj;
  135 + /** 计划终点时间戳*/
  136 + @Transient
  137 + private Long zdsjT;
  138 +
  139 + /** 计划里程 */
  140 + private Double jhlc;
  141 +
  142 + /** 原始计划里程 (原计调的数据) */
  143 + private Double jhlcOrig;
  144 + /** 班次历时 */
  145 + private Integer bcsj;
  146 +
  147 + /**
  148 + * 班次类型 TODO:正常班次、出场、进场、加油、区间班次、放空班次、放大站班次、两点间空驶
  149 + */
  150 + private String bcType;
  151 +
  152 + //放站班次 站点名称
  153 + private String majorStationName;
  154 +
  155 + /** 实际发车时间*/
  156 + private String fcsjActual;
  157 + /** 实际发车时间戳*/
  158 + @Transient
  159 + private Long fcsjActualTime;
  160 + /**实际终点时间 */
  161 + private String zdsjActual;
  162 + /** 实际终点时间戳*/
  163 + @Transient
  164 + private Long zdsjActualTime;
  165 +
  166 + /**班次状态 0 未执行 1 正在执行 2 已执行 -1 已烂班 */
  167 + private int status;
  168 +
  169 + private String adjustExps;
  170 +
  171 + /** 是否是临加班次 */
  172 + private boolean sflj;
  173 +
  174 + /** 是否误点 (应发未发)*/
  175 + @Transient
  176 + private boolean late;
  177 +
  178 + /** 是否误点 (应发未到) */
  179 + @Transient
  180 + private boolean late2;
  181 + /** 误点停靠时间 */
  182 + @Transient
  183 + private float lateMinute;
  184 +
  185 + /** 备注*/
  186 + private String remarks;
  187 +
  188 + /**待发时间(格式 HH:mm) */
  189 + private String dfsj;
  190 +
  191 + /**待发时间戳 */
  192 + @Transient
  193 + private Long dfsjT;
  194 +
  195 + /** 指令下发状态 60: 已发送, 100: 设备确认收到, 200:驾驶员确认 0:失败 */
  196 + private Integer directiveState = -1;
  197 +
  198 + /** 起点站计划到达时间 */
  199 + @Transient
  200 + private String qdzArrDatejh;
  201 +
  202 + /** 起点站实际到达时间 */
  203 + @Transient
  204 + private String qdzArrDatesj;
  205 +
  206 + /** 子任务 */
  207 + @OneToMany(fetch = FetchType.LAZY, mappedBy = "schedule")
  208 + private Set<ChildTaskPlan> cTasks = new HashSet<>();
  209 +
  210 + /** 关联的公司名称 */
  211 + private String gsName;
  212 + /** 关联的公司编码 */
  213 + private String gsBm;
  214 + /** 关联的分公司名称 */
  215 + private String fgsName;
  216 + /** 关联的分公司编码 */
  217 + private String fgsBm;
  218 +
  219 + //待发调试(是否自动调整)
  220 + private boolean dfAuto;
  221 + //是否有GPS信号
  222 + private boolean online;
  223 +
  224 + /** 是否有补发GPS信号 */
  225 + private boolean reissue;
  226 +
  227 + /**
  228 + * 漂移状态
  229 + * 1: 发车漂移
  230 + * 2:到站漂移
  231 + * 3:中途漂移
  232 + */
  233 + private Integer driftStatus = 0;
  234 +
  235 + /**
  236 + * 换车营运标记 true 表示该主任务由 【中途换车子任务】 级联生成
  237 + */
  238 + private boolean ccService;
  239 +
  240 + public Long getId() {
  241 + return id;
  242 + }
  243 +
  244 + public void setId(Long id) {
  245 + this.id = id;
  246 + }
  247 +
  248 + public String getScheduleDateStr() {
  249 + return scheduleDateStr;
  250 + }
  251 +
  252 + public void setScheduleDateStr(String scheduleDateStr) {
  253 + this.scheduleDateStr = scheduleDateStr;
  254 + }
  255 +
  256 + public String getRealExecDate() {
  257 + return realExecDate;
  258 + }
  259 +
  260 + public void setRealExecDate(String realExecDate) {
  261 + this.realExecDate = realExecDate;
  262 + }
  263 +
  264 + public String getXlName() {
  265 + return xlName;
  266 + }
  267 +
  268 + public void setXlName(String xlName) {
  269 + this.xlName = xlName;
  270 + }
  271 +
  272 + public String getXlBm() {
  273 + return xlBm;
  274 + }
  275 +
  276 + public void setXlBm(String xlBm) {
  277 + this.xlBm = xlBm;
  278 + }
  279 +
  280 + public String getLpName() {
  281 + return lpName;
  282 + }
  283 +
  284 + public void setLpName(String lpName) {
  285 + this.lpName = lpName;
  286 + }
  287 +
  288 + public String getClZbh() {
  289 + return clZbh;
  290 + }
  291 +
  292 + public void setClZbh(String clZbh) {
  293 + this.clZbh = clZbh;
  294 + }
  295 +
  296 + public String getjGh() {
  297 + return jGh;
  298 + }
  299 +
  300 + public void setjGh(String jGh) {
  301 + this.jGh = jGh;
  302 + }
  303 +
  304 + public String getjName() {
  305 + return jName;
  306 + }
  307 +
  308 + public void setjName(String jName) {
  309 + this.jName = jName;
  310 + }
  311 +
  312 + public String getsGh() {
  313 + return sGh;
  314 + }
  315 +
  316 + public void setsGh(String sGh) {
  317 + this.sGh = sGh;
  318 + }
  319 +
  320 + public String getsName() {
  321 + return sName;
  322 + }
  323 +
  324 + public void setsName(String sName) {
  325 + this.sName = sName;
  326 + }
  327 +
  328 + public String getXlDir() {
  329 + return xlDir;
  330 + }
  331 +
  332 + public void setXlDir(String xlDir) {
  333 + this.xlDir = xlDir;
  334 + }
  335 +
  336 + public String getQdzCode() {
  337 + return qdzCode;
  338 + }
  339 +
  340 + public void setQdzCode(String qdzCode) {
  341 + this.qdzCode = qdzCode;
  342 + }
  343 +
  344 + public String getQdzName() {
  345 + return qdzName;
  346 + }
  347 +
  348 + public void setQdzName(String qdzName) {
  349 + this.qdzName = qdzName;
  350 + }
  351 +
  352 + public String getZdzCode() {
  353 + return zdzCode;
  354 + }
  355 +
  356 + public void setZdzCode(String zdzCode) {
  357 + this.zdzCode = zdzCode;
  358 + }
  359 +
  360 + public String getZdzName() {
  361 + return zdzName;
  362 + }
  363 +
  364 + public void setZdzName(String zdzName) {
  365 + this.zdzName = zdzName;
  366 + }
  367 +
  368 + public String getFcsj() {
  369 + return fcsj;
  370 + }
  371 +
  372 + public void setFcsj(String fcsj) {
  373 + this.fcsj = fcsj;
  374 + }
  375 +
  376 + public Long getFcsjT() {
  377 + return fcsjT;
  378 + }
  379 +
  380 + public void setFcsjT(Long fcsjT) {
  381 + this.fcsjT = fcsjT;
  382 + }
  383 +
  384 + public String getZdsj() {
  385 + return zdsj;
  386 + }
  387 +
  388 + public void setZdsj(String zdsj) {
  389 + this.zdsj = zdsj;
  390 + }
  391 +
  392 + public Long getZdsjT() {
  393 + return zdsjT;
  394 + }
  395 +
  396 + public void setZdsjT(Long zdsjT) {
  397 + this.zdsjT = zdsjT;
  398 + }
  399 +
  400 + public Double getJhlc() {
  401 + return jhlc;
  402 + }
  403 +
  404 + public void setJhlc(Double jhlc) {
  405 + this.jhlc = jhlc;
  406 + }
  407 +
  408 + public Double getJhlcOrig() {
  409 + return jhlcOrig;
  410 + }
  411 +
  412 + public void setJhlcOrig(Double jhlcOrig) {
  413 + this.jhlcOrig = jhlcOrig;
  414 + }
  415 +
  416 + public Integer getBcsj() {
  417 + return bcsj;
  418 + }
  419 +
  420 + public void setBcsj(Integer bcsj) {
  421 + this.bcsj = bcsj;
  422 + }
  423 +
  424 + public String getBcType() {
  425 + return bcType;
  426 + }
  427 +
  428 + public void setBcType(String bcType) {
  429 + this.bcType = bcType;
  430 + }
  431 +
  432 + public String getMajorStationName() {
  433 + return majorStationName;
  434 + }
  435 +
  436 + public void setMajorStationName(String majorStationName) {
  437 + this.majorStationName = majorStationName;
  438 + }
  439 +
  440 + public String getFcsjActual() {
  441 + return fcsjActual;
  442 + }
  443 +
  444 + public void setFcsjActual(String fcsjActual) {
  445 + this.fcsjActual = fcsjActual;
  446 + }
  447 +
  448 + public Long getFcsjActualTime() {
  449 + return fcsjActualTime;
  450 + }
  451 +
  452 + public void setFcsjActualTime(Long fcsjActualTime) {
  453 + this.fcsjActualTime = fcsjActualTime;
  454 + }
  455 +
  456 + public String getZdsjActual() {
  457 + return zdsjActual;
  458 + }
  459 +
  460 + public void setZdsjActual(String zdsjActual) {
  461 + this.zdsjActual = zdsjActual;
  462 + }
  463 +
  464 + public Long getZdsjActualTime() {
  465 + return zdsjActualTime;
  466 + }
  467 +
  468 + public void setZdsjActualTime(Long zdsjActualTime) {
  469 + this.zdsjActualTime = zdsjActualTime;
  470 + }
  471 +
  472 + public int getStatus() {
  473 + return status;
  474 + }
  475 +
  476 + public void setStatus(int status) {
  477 + this.status = status;
  478 + }
  479 +
  480 + public String getAdjustExps() {
  481 + return adjustExps;
  482 + }
  483 +
  484 + public void setAdjustExps(String adjustExps) {
  485 + this.adjustExps = adjustExps;
  486 + }
  487 +
  488 + public boolean isSflj() {
  489 + return sflj;
  490 + }
  491 +
  492 + public void setSflj(boolean sflj) {
  493 + this.sflj = sflj;
  494 + }
  495 +
  496 + public boolean isLate() {
  497 + return late;
  498 + }
  499 +
  500 + public void setLate(boolean late) {
  501 + this.late = late;
  502 + }
  503 +
  504 + public boolean isLate2() {
  505 + return late2;
  506 + }
  507 +
  508 + public void setLate2(boolean late2) {
  509 + this.late2 = late2;
  510 + }
  511 +
  512 + public float getLateMinute() {
  513 + return lateMinute;
  514 + }
  515 +
  516 + public void setLateMinute(float lateMinute) {
  517 + this.lateMinute = lateMinute;
  518 + }
  519 +
  520 + public String getRemarks() {
  521 + return remarks;
  522 + }
  523 +
  524 + public void setRemarks(String remarks) {
  525 + this.remarks = remarks;
  526 + }
  527 +
  528 + public String getDfsj() {
  529 + return dfsj;
  530 + }
  531 +
  532 + public void setDfsj(String dfsj) {
  533 + this.dfsj = dfsj;
  534 + }
  535 +
  536 + public Long getDfsjT() {
  537 + return dfsjT;
  538 + }
  539 +
  540 + public void setDfsjT(Long dfsjT) {
  541 + this.dfsjT = dfsjT;
  542 + }
  543 +
  544 + public Integer getDirectiveState() {
  545 + return directiveState;
  546 + }
  547 +
  548 + public void setDirectiveState(Integer directiveState) {
  549 + this.directiveState = directiveState;
  550 + }
  551 +
  552 + public String getQdzArrDatejh() {
  553 + return qdzArrDatejh;
  554 + }
  555 +
  556 + public void setQdzArrDatejh(String qdzArrDatejh) {
  557 + this.qdzArrDatejh = qdzArrDatejh;
  558 + }
  559 +
  560 + public String getQdzArrDatesj() {
  561 + return qdzArrDatesj;
  562 + }
  563 +
  564 + public void setQdzArrDatesj(String qdzArrDatesj) {
  565 + this.qdzArrDatesj = qdzArrDatesj;
  566 + }
  567 +
  568 + public Set<ChildTaskPlan> getcTasks() {
  569 + return cTasks;
  570 + }
  571 +
  572 + public void setcTasks(Set<ChildTaskPlan> cTasks) {
  573 + this.cTasks = cTasks;
  574 + }
  575 +
  576 + public String getGsName() {
  577 + return gsName;
  578 + }
  579 +
  580 + public void setGsName(String gsName) {
  581 + this.gsName = gsName;
  582 + }
  583 +
  584 + public String getGsBm() {
  585 + return gsBm;
  586 + }
  587 +
  588 + public void setGsBm(String gsBm) {
  589 + this.gsBm = gsBm;
  590 + }
  591 +
  592 + public String getFgsName() {
  593 + return fgsName;
  594 + }
  595 +
  596 + public void setFgsName(String fgsName) {
  597 + this.fgsName = fgsName;
  598 + }
  599 +
  600 + public String getFgsBm() {
  601 + return fgsBm;
  602 + }
  603 +
  604 + public void setFgsBm(String fgsBm) {
  605 + this.fgsBm = fgsBm;
  606 + }
  607 +
  608 + public boolean isDfAuto() {
  609 + return dfAuto;
  610 + }
  611 +
  612 + public void setDfAuto(boolean dfAuto) {
  613 + this.dfAuto = dfAuto;
  614 + }
  615 +
  616 + public boolean isOnline() {
  617 + return online;
  618 + }
  619 +
  620 + public void setOnline(boolean online) {
  621 + this.online = online;
  622 + }
  623 +
  624 + public boolean isReissue() {
  625 + return reissue;
  626 + }
  627 +
  628 + public void setReissue(boolean reissue) {
  629 + this.reissue = reissue;
  630 + }
  631 +
  632 + public Integer getDriftStatus() {
  633 + return driftStatus;
  634 + }
  635 +
  636 + public void setDriftStatus(Integer driftStatus) {
  637 + this.driftStatus = driftStatus;
  638 + }
  639 +
  640 + public boolean isCcService() {
  641 + return ccService;
  642 + }
  643 +
  644 + public void setCcService(boolean ccService) {
  645 + this.ccService = ccService;
  646 + }
  647 +}
src/main/java/com/bsth/websocket/handler/SendUtils.java
@@ -8,6 +8,7 @@ import com.bsth.data.gpsdata.arrival.entity.SignalState; @@ -8,6 +8,7 @@ import com.bsth.data.gpsdata.arrival.entity.SignalState;
8 import com.bsth.data.safe_driv.SafeDriv; 8 import com.bsth.data.safe_driv.SafeDriv;
9 import com.bsth.entity.directive.D80; 9 import com.bsth.entity.directive.D80;
10 import com.bsth.entity.realcontrol.ScheduleRealInfo; 10 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  11 +import com.bsth.websocket.entity.WsScheduleRealInfo;
11 import com.fasterxml.jackson.core.JsonProcessingException; 12 import com.fasterxml.jackson.core.JsonProcessingException;
12 import com.fasterxml.jackson.databind.ObjectMapper; 13 import com.fasterxml.jackson.databind.ObjectMapper;
13 import org.slf4j.Logger; 14 import org.slf4j.Logger;
@@ -39,7 +40,7 @@ public class SendUtils{ @@ -39,7 +40,7 @@ public class SendUtils{
39 40
40 Map<String, Object> map = new HashMap<>(); 41 Map<String, Object> map = new HashMap<>();
41 map.put("fn", "faChe"); 42 map.put("fn", "faChe");
42 - map.put("t", sch); 43 + map.put("t", WsScheduleRealInfo.getInstance(sch));
43 map.put("dataStr", sdf.format(new Date())); 44 map.put("dataStr", sdf.format(new Date()));
44 45
45 ObjectMapper mapper = new ObjectMapper(); 46 ObjectMapper mapper = new ObjectMapper();
@@ -63,7 +64,7 @@ public class SendUtils{ @@ -63,7 +64,7 @@ public class SendUtils{
63 64
64 Map<String, Object> map = new HashMap<>(); 65 Map<String, Object> map = new HashMap<>();
65 map.put("fn", "refreshSch"); 66 map.put("fn", "refreshSch");
66 - map.put("ts", list); 67 + map.put("ts", WsScheduleRealInfo.getMultiInstance(list));
67 68
68 ObjectMapper mapper = new ObjectMapper(); 69 ObjectMapper mapper = new ObjectMapper();
69 70
@@ -85,8 +86,8 @@ public class SendUtils{ @@ -85,8 +86,8 @@ public class SendUtils{
85 86
86 Map<String, Object> map = new HashMap<>(); 87 Map<String, Object> map = new HashMap<>();
87 map.put("fn", "zhongDian"); 88 map.put("fn", "zhongDian");
88 - map.put("t", sch);  
89 - map.put("nt", nextSch); 89 + map.put("t", WsScheduleRealInfo.getInstance(sch));
  90 + map.put("nt", WsScheduleRealInfo.getInstance(nextSch));
90 map.put("finish", finish); 91 map.put("finish", finish);
91 map.put("dataStr", sdf.format(new Date())); 92 map.put("dataStr", sdf.format(new Date()));
92 93
@@ -116,28 +117,7 @@ public class SendUtils{ @@ -116,28 +117,7 @@ public class SendUtils{
116 logger.error("", e); 117 logger.error("", e);
117 } 118 }
118 } 119 }
119 -  
120 - /**  
121 - *  
122 - * @Title: shiftSchedule  
123 - * @Description: TODO(线路翻班通知)  
124 120
125 - public void shiftSchedule(String lineCode){  
126 - Map<String, Object> map = new HashMap<>();  
127 - map.put("fn", "systemNotice");  
128 - map.put("type", "info");  
129 - map.put("text", BasicData.lineCode2NameMap.get(lineCode) + "切换至 "  
130 - + DayOfSchedule.currSchDateMap.get(lineCode) + " 日排班");  
131 -  
132 - ObjectMapper mapper = new ObjectMapper();  
133 -  
134 - try {  
135 - socketHandler.sendMessageToLine(lineCode, mapper.writeValueAsString(map));  
136 - } catch (Exception e) {  
137 - logger.error("", e);  
138 - }  
139 - }  
140 - */  
141 /** 121 /**
142 * 122 *
143 * @Title: sendDirectiveToPage 123 * @Title: sendDirectiveToPage
@@ -147,7 +127,7 @@ public class SendUtils{ @@ -147,7 +127,7 @@ public class SendUtils{
147 127
148 Map<String, Object> map = new HashMap<>(); 128 Map<String, Object> map = new HashMap<>();
149 map.put("fn", "directive"); 129 map.put("fn", "directive");
150 - map.put("t", sch);; 130 + map.put("t", WsScheduleRealInfo.getInstance(sch));;
151 131
152 ObjectMapper mapper = new ObjectMapper(); 132 ObjectMapper mapper = new ObjectMapper();
153 133