Commit 40e09602ce8daac90807f92e6b5d3887a6afec80

Authored by 潘钊
1 parent 4756d5b0

计划和实际匹配,并调整部分包结构

... ... @@ -115,6 +115,12 @@
115 115 <artifactId>spring-boot-starter-test</artifactId>
116 116 <scope>test</scope>
117 117 </dependency>
  118 +
  119 + <dependency>
  120 + <groupId>c3p0</groupId>
  121 + <artifactId>c3p0</artifactId>
  122 + <version>0.9.1.2</version>
  123 + </dependency>
118 124  
119 125 </dependencies>
120 126  
... ...
src/main/java/com/bsth/StartCommand.java
... ... @@ -12,10 +12,11 @@ import org.springframework.boot.CommandLineRunner;
12 12 import org.springframework.stereotype.Component;
13 13  
14 14 import com.bsth.security.SecurityMetadataSourceService;
15   -import com.bsth.service.realcontrol.GetSchedulePlanThread;
16   -import com.bsth.service.realcontrol.SchedulePersistenceThread;
  15 +import com.bsth.service.realcontrol.buffer.GetSchedulePlanThread;
  16 +import com.bsth.service.realcontrol.buffer.SchedulePersistenceThread;
17 17 import com.bsth.vehicle.common.CommonRefreshThread;
18 18 import com.bsth.vehicle.directive.DirectivePersistenceThread;
  19 +import com.bsth.vehicle.gpsdata.GpsArrivalStationThread;
19 20 import com.bsth.vehicle.gpsdata.GpsRefreshThread;
20 21  
21 22 /**
... ... @@ -31,22 +32,20 @@ public class StartCommand implements CommandLineRunner{
31 32 @Autowired
32 33 SecurityMetadataSourceService invocationSecurityMetadataSourceService;
33 34  
34   - public static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(5);
  35 + public static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(6);
35 36  
36 37 @Autowired
37 38 GpsRefreshThread gpsRefreshThread;
38   -
39 39 @Autowired
40 40 GetSchedulePlanThread getSchedulePlanThread;
41   -
42 41 @Autowired
43 42 CommonRefreshThread commonRefreshThread;
44   -
45 43 @Autowired
46 44 DirectivePersistenceThread directivePersistenceThread;
47   -
48 45 @Autowired
49 46 SchedulePersistenceThread SchedulePersistenceThread;
  47 + @Autowired
  48 + GpsArrivalStationThread gpsArrivalStationThread;
50 49  
51 50 @Override
52 51 public void run(String... arg0){
... ... @@ -57,20 +56,18 @@ public class StartCommand implements CommandLineRunner{
57 56  
58 57 //GPS实时数据更新线程,每次执行完成4秒后开始下一次
59 58 scheduler.scheduleWithFixedDelay(gpsRefreshThread, 0, 4, TimeUnit.SECONDS);
60   -
61 59 //定时0点从计划排班表抓取当天实际排班
62 60 scheduler.scheduleAtFixedRate(getSchedulePlanThread
63 61 , 0//DateUtils.getTimesnight() + 5 - System.currentTimeMillis() / 1000
64 62 , 60 * 60 * 24, TimeUnit.SECONDS);
65   -
66 63 //两分钟调度指令入库一次
67 64 scheduler.scheduleWithFixedDelay(directivePersistenceThread, 20, 60 * 1, TimeUnit.SECONDS);
68   -
69 65 //两小时刷新一次对照数据
70 66 scheduler.scheduleWithFixedDelay(commonRefreshThread, 0, 60 * 60 * 2, TimeUnit.SECONDS);
71   -
72 67 //一分钟持久化一次实际排班
73 68 scheduler.scheduleWithFixedDelay(SchedulePersistenceThread, 60 * 1, 60 * 1, TimeUnit.SECONDS);
  69 + //将实际到离站和排班计划进行匹配 12秒一次
  70 + //scheduler.scheduleWithFixedDelay(gpsArrivalStationThread, 20, 1200, TimeUnit.SECONDS);
74 71 } catch (Exception e) {
75 72 e.printStackTrace();
76 73 }
... ...
src/main/java/com/bsth/common/Constants.java
... ... @@ -10,7 +10,6 @@ package com.bsth.common;
10 10 */
11 11 public class Constants {
12 12  
13   -
14 13 /**
15 14 * 不需要拦截的资源
16 15 */
... ... @@ -21,6 +20,12 @@ public class Constants {
21 20 public static final String METRONIC_URL = "/metronic_v4.5.4/**";
22 21 public static final String LOGIN_FAILURE = "/user/loginFailure";
23 22  
  23 + /**
  24 + * 线调部分子页面不做拦截,便于浏览器缓存
  25 + */
  26 + public static final String XD_CHILD_PAGES = "/pages/control/line/child_pages/**";
  27 + public static final String XD_TEMPS = "/pages/control/line/temps/**";
  28 +
24 29 //车载网关上行接口
25 30 public static final String UPSTREAM_URL = "/control/upstream";
26 31 }
... ...
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
... ... @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
12 12 import com.bsth.controller.BaseController;
13 13 import com.bsth.entity.realcontrol.ScheduleRealInfo;
14 14 import com.bsth.service.realcontrol.ScheduleRealInfoService;
  15 +import com.bsth.vehicle.common.CommonMapped;
15 16  
16 17 @RestController
17 18 @RequestMapping("/realSchedule")
... ... @@ -54,4 +55,15 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
54 55 public Map<String, Object> destroy(@RequestParam String idsStr,@RequestParam int spaceAdjust,@RequestParam String remarks,@RequestParam String reason,@RequestParam int spaceNum){
55 56 return scheduleRealInfoService.destroy(idsStr, spaceAdjust, remarks, reason, spaceNum);
56 57 }
  58 +
  59 + /**
  60 + *
  61 + * @Title: carDeviceMapp
  62 + * @Description: TODO(获取车辆自编号和设备号对照,从缓存取)
  63 + * @throws
  64 + */
  65 + @RequestMapping(value = "/carDeviceMapp", method = RequestMethod.GET)
  66 + public Map<String, String> carDeviceMapp(){
  67 + return CommonMapped.vehicDeviceBiMap.inverse();
  68 + }
57 69 }
... ...
src/main/java/com/bsth/entity/realcontrol/ChildTaskPlan.java
1 1 package com.bsth.entity.realcontrol;
2 2  
  3 +import javax.persistence.Entity;
  4 +import javax.persistence.GeneratedValue;
  5 +import javax.persistence.Id;
3 6 import javax.persistence.ManyToOne;
  7 +import javax.persistence.Table;
4 8  
5 9 /**
6 10 *
7 11 * @ClassName: ChildTaskPlan
8   - * @Description: TODO(子任务计划)
  12 + * @Description: TODO(子任务)
9 13 * @author PanZhao
10 14 * @date 2016年6月20日 上午11:22:22
11 15 *
12 16 */
  17 +@Entity
  18 +@Table(name = "bsth_c_s_child_task")
13 19 public class ChildTaskPlan {
14 20  
  21 + @Id
  22 + @GeneratedValue
15 23 private Long id;
16 24  
17 25 /**
18   - * 开始时间 HH:mm
  26 + * 任务类型1
  27 + * 正常,临加
19 28 */
20   - private String startTimeStr;
  29 + private String type1;
21 30  
22 31 /**
23   - * 结束时间 HH:mm
  32 + * 任务类型2
24 33 */
25   - private String endTimeStr;
  34 + private String type2;
26 35  
27 36 /**
28   - * 任务类型
29   - */
30   - private String type;
31   -
32   - /**
33   - * 起点站名
  37 + * 起点
34 38 */
35 39 private String startStation;
36 40  
37 41 /**
38   - * 终点站名
  42 + * 终点
39 43 */
40 44 private String endStation;
41 45  
... ... @@ -50,15 +54,32 @@ public class ChildTaskPlan {
50 54 private Float mileage;
51 55  
52 56 /**
53   - * 备注
  57 + * 开始时间 HH:mm
54 58 */
55   - private String remarks;
56   -
  59 + private String startDate;
  60 +
  61 + /**
  62 + * 结束时间 HH:mm
  63 + */
  64 + private String endDate;
  65 +
57 66 /**
58   - * 主任务
  67 + * 是否烂班
  68 + */
  69 + private boolean destroy;
  70 +
  71 + /**
  72 + * 烂班原因
  73 + */
  74 + private String destroyReason;
  75 +
  76 + /**
  77 + * 主排班计划
59 78 */
60 79 @ManyToOne
61   - private ScheduleRealInfo schedul;
  80 + private ScheduleRealInfo schedule;
  81 +
  82 + private String remarks;
62 83  
63 84 public Long getId() {
64 85 return id;
... ... @@ -68,28 +89,20 @@ public class ChildTaskPlan {
68 89 this.id = id;
69 90 }
70 91  
71   - public String getStartTimeStr() {
72   - return startTimeStr;
73   - }
74   -
75   - public void setStartTimeStr(String startTimeStr) {
76   - this.startTimeStr = startTimeStr;
77   - }
78   -
79   - public String getEndTimeStr() {
80   - return endTimeStr;
  92 + public String getType1() {
  93 + return type1;
81 94 }
82 95  
83   - public void setEndTimeStr(String endTimeStr) {
84   - this.endTimeStr = endTimeStr;
  96 + public void setType1(String type1) {
  97 + this.type1 = type1;
85 98 }
86 99  
87   - public String getType() {
88   - return type;
  100 + public String getType2() {
  101 + return type2;
89 102 }
90 103  
91   - public void setType(String type) {
92   - this.type = type;
  104 + public void setType2(String type2) {
  105 + this.type2 = type2;
93 106 }
94 107  
95 108 public String getStartStation() {
... ... @@ -124,19 +137,51 @@ public class ChildTaskPlan {
124 137 this.mileage = mileage;
125 138 }
126 139  
127   - public String getRemarks() {
128   - return remarks;
  140 + public String getStartDate() {
  141 + return startDate;
129 142 }
130 143  
131   - public void setRemarks(String remarks) {
132   - this.remarks = remarks;
  144 + public void setStartDate(String startDate) {
  145 + this.startDate = startDate;
  146 + }
  147 +
  148 + public String getEndDate() {
  149 + return endDate;
  150 + }
  151 +
  152 + public void setEndDate(String endDate) {
  153 + this.endDate = endDate;
  154 + }
  155 +
  156 + public boolean isDestroy() {
  157 + return destroy;
  158 + }
  159 +
  160 + public void setDestroy(boolean destroy) {
  161 + this.destroy = destroy;
133 162 }
134 163  
135   - public ScheduleRealInfo getSchedul() {
136   - return schedul;
  164 + public String getDestroyReason() {
  165 + return destroyReason;
137 166 }
138 167  
139   - public void setSchedul(ScheduleRealInfo schedul) {
140   - this.schedul = schedul;
  168 + public void setDestroyReason(String destroyReason) {
  169 + this.destroyReason = destroyReason;
  170 + }
  171 +
  172 + public ScheduleRealInfo getSchedule() {
  173 + return schedule;
  174 + }
  175 +
  176 + public void setSchedule(ScheduleRealInfo schedule) {
  177 + this.schedule = schedule;
  178 + }
  179 +
  180 + public String getRemarks() {
  181 + return remarks;
  182 + }
  183 +
  184 + public void setRemarks(String remarks) {
  185 + this.remarks = remarks;
141 186 }
142 187 }
... ...
src/main/java/com/bsth/entity/realcontrol/ScheduleRealInfo.java
... ... @@ -4,6 +4,8 @@ import com.bsth.entity.sys.SysUser;
4 4  
5 5 import javax.persistence.*;
6 6 import java.util.Date;
  7 +import java.util.HashSet;
  8 +import java.util.Set;
7 9  
8 10 /**
9 11 * 实际排班计划明细。
... ... @@ -19,20 +21,14 @@ public class ScheduleRealInfo {
19 21 /** 排班计划日期 */
20 22 private Date scheduleDate;
21 23  
22   - /** 关联 bsth_c_line 主键,不做mapping */
23   - private Integer xl;
24 24 /** 线路名称 */
25 25 private String xlName;
26 26 /** 线路编码 */
27 27 private String xlBm;
28 28  
29   - /** 关联 bsth_c_s_gbi 主键,不做mapping */
30   - private Long lp;
31 29 /** 路牌名称 */
32 30 private String lpName;
33 31  
34   - /** 关联 bsth_c_cars 主键,不做mapping */
35   - private Integer cl;
36 32 /** 车辆自编号 */
37 33 private String clZbh;
38 34  
... ... @@ -40,8 +36,7 @@ public class ScheduleRealInfo {
40 36 private String bdTime;
41 37 /** 出场时间(格式 HH:mm) */
42 38 private String ccTime;
43   - /** 关联 bsth_c_personnel 主键,不做mapping */
44   - private Integer j;
  39 +
45 40 /** 驾驶员工号 */
46 41 private String jGh;
47 42 /** 驾驶员名字 */
... ... @@ -53,17 +48,28 @@ public class ScheduleRealInfo {
53 48  
54 49 /** 线路方向 */
55 50 private String xlDir;
56   - /** 起点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
57   - private Integer qdz;
  51 + /** 起点站code*/
  52 + private String qdzCode;
58 53 /** 起点站名字 */
59 54 private String qdzName;
60   - /** 终点站id,根据班次类型,会关联 bsth_c_station,或 bsth_c_car_park,不做mapping */
61   - private Integer zdz;
  55 +
  56 + /** 终点站code*/
  57 + private String zdzCode;
62 58 /** 终点站名字 */
63 59 private String zdzName;
64 60  
65 61 /** 计划发车时间(格式 HH:mm) */
66 62 private String fcsj;
  63 + /** 计划发车时间戳*/
  64 + @Transient
  65 + private Long fcsjT;
  66 +
  67 + /** 计划终点时间(格式 HH:mm) */
  68 + private String zdsj;
  69 + /** 计划终点时间戳*/
  70 + @Transient
  71 + private Long zdsjT;
  72 +
67 73 /** 发车顺序号 */
68 74 private Integer fcno;
69 75 /** 对应班次数 */
... ... @@ -93,8 +99,14 @@ public class ScheduleRealInfo {
93 99  
94 100 /** 实际发车时间*/
95 101 private String fcsjActual;
  102 + /** 实际发车时间戳*/
  103 + @Transient
  104 + private Long fcsjActualTime;
96 105 /**实际终点时间 */
97 106 private String zdsjActual;
  107 + /** 实际终点时间戳*/
  108 + @Transient
  109 + private Long zdsjActualTime;
98 110  
99 111 /**班次状态 0 未执行 1 正在执行 2 已执行 -1 已烂班 */
100 112 private int status;
... ... @@ -121,10 +133,6 @@ public class ScheduleRealInfo {
121 133 @Transient
122 134 private Long dfsjT;
123 135  
124   - /** 发车时间戳*/
125   - @Transient
126   - private Long fcsjT;
127   -
128 136 public void addRemarks(String remark){
129 137 String newRem = this.getRemarks();
130 138 if(null == newRem)
... ... @@ -132,7 +140,7 @@ public class ScheduleRealInfo {
132 140 newRem += remark;
133 141 this.setRemarks(newRem);
134 142 }
135   -
  143 +
136 144 public Long getId() {
137 145 return id;
138 146 }
... ... @@ -149,14 +157,6 @@ public class ScheduleRealInfo {
149 157 this.scheduleDate = scheduleDate;
150 158 }
151 159  
152   - public Integer getXl() {
153   - return xl;
154   - }
155   -
156   - public void setXl(Integer xl) {
157   - this.xl = xl;
158   - }
159   -
160 160 public String getXlName() {
161 161 return xlName;
162 162 }
... ... @@ -173,14 +173,6 @@ public class ScheduleRealInfo {
173 173 this.xlBm = xlBm;
174 174 }
175 175  
176   - public Long getLp() {
177   - return lp;
178   - }
179   -
180   - public void setLp(Long lp) {
181   - this.lp = lp;
182   - }
183   -
184 176 public String getLpName() {
185 177 return lpName;
186 178 }
... ... @@ -189,14 +181,6 @@ public class ScheduleRealInfo {
189 181 this.lpName = lpName;
190 182 }
191 183  
192   - public Integer getCl() {
193   - return cl;
194   - }
195   -
196   - public void setCl(Integer cl) {
197   - this.cl = cl;
198   - }
199   -
200 184 public String getClZbh() {
201 185 return clZbh;
202 186 }
... ... @@ -221,14 +205,6 @@ public class ScheduleRealInfo {
221 205 this.ccTime = ccTime;
222 206 }
223 207  
224   - public Integer getJ() {
225   - return j;
226   - }
227   -
228   - public void setJ(Integer j) {
229   - this.j = j;
230   - }
231   -
232 208 public String getjGh() {
233 209 return jGh;
234 210 }
... ... @@ -269,12 +245,12 @@ public class ScheduleRealInfo {
269 245 this.xlDir = xlDir;
270 246 }
271 247  
272   - public Integer getQdz() {
273   - return qdz;
  248 + public String getQdzCode() {
  249 + return qdzCode;
274 250 }
275 251  
276   - public void setQdz(Integer qdz) {
277   - this.qdz = qdz;
  252 + public void setQdzCode(String qdzCode) {
  253 + this.qdzCode = qdzCode;
278 254 }
279 255  
280 256 public String getQdzName() {
... ... @@ -285,12 +261,12 @@ public class ScheduleRealInfo {
285 261 this.qdzName = qdzName;
286 262 }
287 263  
288   - public Integer getZdz() {
289   - return zdz;
  264 + public String getZdzCode() {
  265 + return zdzCode;
290 266 }
291 267  
292   - public void setZdz(Integer zdz) {
293   - this.zdz = zdz;
  268 + public void setZdzCode(String zdzCode) {
  269 + this.zdzCode = zdzCode;
294 270 }
295 271  
296 272 public String getZdzName() {
... ... @@ -309,6 +285,30 @@ public class ScheduleRealInfo {
309 285 this.fcsj = fcsj;
310 286 }
311 287  
  288 + public Long getFcsjT() {
  289 + return fcsjT;
  290 + }
  291 +
  292 + public void setFcsjT(Long fcsjT) {
  293 + this.fcsjT = fcsjT;
  294 + }
  295 +
  296 + public String getZdsj() {
  297 + return zdsj;
  298 + }
  299 +
  300 + public void setZdsj(String zdsj) {
  301 + this.zdsj = zdsj;
  302 + }
  303 +
  304 + public Long getZdsjT() {
  305 + return zdsjT;
  306 + }
  307 +
  308 + public void setZdsjT(Long zdsjT) {
  309 + this.zdsjT = zdsjT;
  310 + }
  311 +
312 312 public Integer getFcno() {
313 313 return fcno;
314 314 }
... ... @@ -389,6 +389,14 @@ public class ScheduleRealInfo {
389 389 this.fcsjActual = fcsjActual;
390 390 }
391 391  
  392 + public Long getFcsjActualTime() {
  393 + return fcsjActualTime;
  394 + }
  395 +
  396 + public void setFcsjActualTime(Long fcsjActualTime) {
  397 + this.fcsjActualTime = fcsjActualTime;
  398 + }
  399 +
392 400 public String getZdsjActual() {
393 401 return zdsjActual;
394 402 }
... ... @@ -397,6 +405,14 @@ public class ScheduleRealInfo {
397 405 this.zdsjActual = zdsjActual;
398 406 }
399 407  
  408 + public Long getZdsjActualTime() {
  409 + return zdsjActualTime;
  410 + }
  411 +
  412 + public void setZdsjActualTime(Long zdsjActualTime) {
  413 + this.zdsjActualTime = zdsjActualTime;
  414 + }
  415 +
400 416 public int getStatus() {
401 417 return status;
402 418 }
... ... @@ -421,6 +437,22 @@ public class ScheduleRealInfo {
421 437 this.realMileage = realMileage;
422 438 }
423 439  
  440 + public Float getAddMileage() {
  441 + return addMileage;
  442 + }
  443 +
  444 + public void setAddMileage(Float addMileage) {
  445 + this.addMileage = addMileage;
  446 + }
  447 +
  448 + public Float getRemMileage() {
  449 + return remMileage;
  450 + }
  451 +
  452 + public void setRemMileage(Float remMileage) {
  453 + this.remMileage = remMileage;
  454 + }
  455 +
424 456 public String getRemarks() {
425 457 return remarks;
426 458 }
... ... @@ -437,14 +469,6 @@ public class ScheduleRealInfo {
437 469 this.dfsj = dfsj;
438 470 }
439 471  
440   - public Long getFcsjT() {
441   - return fcsjT;
442   - }
443   -
444   - public void setFcsjT(Long fcsjT) {
445   - this.fcsjT = fcsjT;
446   - }
447   -
448 472 public Long getDfsjT() {
449 473 return dfsjT;
450 474 }
... ... @@ -452,20 +476,4 @@ public class ScheduleRealInfo {
452 476 public void setDfsjT(Long dfsjT) {
453 477 this.dfsjT = dfsjT;
454 478 }
455   -
456   - public Float getAddMileage() {
457   - return addMileage;
458   - }
459   -
460   - public void setAddMileage(Float addMileage) {
461   - this.addMileage = addMileage;
462   - }
463   -
464   - public Float getRemMileage() {
465   - return remMileage;
466   - }
467   -
468   - public void setRemMileage(Float remMileage) {
469   - this.remMileage = remMileage;
470   - }
471 479 }
... ...
src/main/java/com/bsth/filter/BaseFilter.java
... ... @@ -24,7 +24,7 @@ public abstract class BaseFilter implements Filter {
24 24 * 白名单
25 25 */
26 26 private String[] whiteListURLs = { Constants.LOGIN_PAGE,
27   - Constants.ASSETS_URL, Constants.FAVICON_URL, Constants.METRONIC_URL, Constants.LOGIN, Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL };
  27 + Constants.ASSETS_URL, Constants.FAVICON_URL, Constants.METRONIC_URL, Constants.LOGIN, Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL, Constants.XD_CHILD_PAGES, Constants.XD_TEMPS };
28 28  
29 29 @Override
30 30 public void destroy() {
... ...
src/main/java/com/bsth/security/WebSecurityConfig.java
... ... @@ -31,12 +31,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
31 31 @Autowired
32 32 SecurityMetadataSourceService securityMetadataSourceService;
33 33  
  34 +
34 35 @Override
35 36 public void configure(WebSecurity web) throws Exception {
36 37 // 白名单
37   - web.ignoring().antMatchers(Constants.ASSETS_URL, Constants.FAVICON_URL,
38   - Constants.METRONIC_URL, Constants.LOGIN_PAGE,
39   - Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL);
  38 + web.ignoring().antMatchers(Constants.LOGIN_PAGE, Constants.ASSETS_URL, Constants.FAVICON_URL,
  39 + Constants.METRONIC_URL, Constants.LOGIN_FAILURE, Constants.UPSTREAM_URL, Constants.XD_CHILD_PAGES, Constants.XD_TEMPS);
40 40 }
41 41  
42 42 @Override
... ...
src/main/java/com/bsth/service/realcontrol/GetSchedulePlanThread.java renamed to src/main/java/com/bsth/service/realcontrol/buffer/GetSchedulePlanThread.java
1   -package com.bsth.service.realcontrol;
  1 +package com.bsth.service.realcontrol.buffer;
2 2  
3 3 import java.text.SimpleDateFormat;
4 4 import java.util.Date;
... ... @@ -37,32 +37,37 @@ public class GetSchedulePlanThread extends Thread{
37 37 ScheduleRealInfoRepository scheduleRealInfoRepository;
38 38  
39 39 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")
40   - ,sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
41   -
42   -
43   - SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  40 + ,sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm")
  41 + ,sdf3 = new SimpleDateFormat("HH:mm");
44 42  
45 43 @Override
46 44 public void run() {
47 45 try{
48 46 String dateStr = /*sdf.format(new Date())*/"2016-06-01";
49 47 List<SchedulePlanInfo> list = schedulePlanInfoRepository.findByDate(dateStr);
50   - logger.info("开始................." + sdf3.format(new Date(System.currentTimeMillis())));
51 48  
52 49 //实际排班计划
53 50 List<ScheduleRealInfo> realList = JSONArray.parseArray(JSON.toJSONString(list), ScheduleRealInfo.class);
54 51  
  52 + Date zdDate;
55 53 for(ScheduleRealInfo item : realList){
56 54 item.setDfsj(item.getFcsj());
57 55 //发车时间戳
58 56 item.setFcsjT(sdf2.parse(dateStr + " " + item.getFcsj()).getTime());
  57 + //待发时间
59 58 item.setDfsjT(item.getFcsjT());
  59 +
  60 + //计划终点时间
  61 + if(item.getBcsj() != null){
  62 + zdDate = new Date(item.getFcsjT() + (item.getBcsj() * 60 * 1000));
  63 + item.setZdsjT(zdDate.getTime());
  64 + item.setZdsj(sdf3.format(zdDate));
  65 + }
60 66 }
61 67  
62 68 //new BatchSaveUtils<ScheduleRealInfo>().saveList(realList, ScheduleRealInfo.class);
63 69 //写入缓存
64 70 ScheduleBuffer.init(realList);
65   - logger.info("结束................." + sdf3.format(new Date(System.currentTimeMillis())));
66 71  
67 72 logger.info("获取当天实际排班计划数量:" + realList.size());
68 73 }catch(Exception e){
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleBuffer.java renamed to src/main/java/com/bsth/service/realcontrol/buffer/ScheduleBuffer.java
1   -package com.bsth.service.realcontrol;
  1 +package com.bsth.service.realcontrol.buffer;
2 2  
3 3 import java.util.Collections;
4 4 import java.util.Comparator;
... ...
src/main/java/com/bsth/service/realcontrol/SchedulePersistenceThread.java renamed to src/main/java/com/bsth/service/realcontrol/buffer/SchedulePersistenceThread.java
1   -package com.bsth.service.realcontrol;
  1 +package com.bsth.service.realcontrol.buffer;
2 2  
3 3 import java.util.LinkedList;
4 4  
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -17,8 +17,8 @@ import com.bsth.common.ResponseCode;
17 17 import com.bsth.entity.realcontrol.ScheduleRealInfo;
18 18 import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;
19 19 import com.bsth.service.impl.BaseServiceImpl;
20   -import com.bsth.service.realcontrol.ScheduleBuffer;
21 20 import com.bsth.service.realcontrol.ScheduleRealInfoService;
  21 +import com.bsth.service.realcontrol.buffer.ScheduleBuffer;
22 22 import com.google.common.base.Splitter;
23 23 import com.google.common.collect.ArrayListMultimap;
24 24 import com.google.common.collect.Lists;
... ...
src/main/java/com/bsth/util/BatchSaveUtils.java
... ... @@ -16,8 +16,6 @@ import org.apache.commons.lang3.StringUtils;
16 16 import org.slf4j.Logger;
17 17 import org.slf4j.LoggerFactory;
18 18  
19   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
20   -
21 19 /**
22 20 *
23 21 * @ClassName: BatchSaveUtils
... ...
src/main/java/com/bsth/vehicle/directive/service/DirectiveServiceImpl.java
... ... @@ -115,7 +115,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;Directive, Integer&gt; im
115 115 Long timestamp = System.currentTimeMillis();
116 116  
117 117 //向测试设备发送
118   - String deviceId = "229L4041";
  118 + String deviceId = "ABCDFEGH";
119 119 Short company = 5;
120 120  
121 121 /*String deviceId = CommonMapped.vehicDeviceBiMap.inverse().get(nbbm);
... ...
src/main/java/com/bsth/vehicle/gpsdata/buffer/GpsRealDataBuffer.java
... ... @@ -13,7 +13,7 @@ import org.slf4j.LoggerFactory;
13 13 import org.springframework.stereotype.Component;
14 14  
15 15 import com.bsth.entity.realcontrol.ScheduleRealInfo;
16   -import com.bsth.service.realcontrol.ScheduleBuffer;
  16 +import com.bsth.service.realcontrol.buffer.ScheduleBuffer;
17 17 import com.bsth.vehicle.common.CommonMapped;
18 18 import com.bsth.vehicle.gpsdata.entity.GpsRealData;
19 19 import com.google.common.collect.ArrayListMultimap;
... ... @@ -140,7 +140,6 @@ public class GpsRealDataBuffer {
140 140 gpsData.setNbbm(nbbm);
141 141 gpsData.setStationName(CommonMapped.stationCodeMap.get(gpsData.getStopNo()));
142 142  
143   -
144 143 linkedList = ScheduleBuffer.vehLinkedMap.get(nbbm);
145 144 if(null != linkedList){
146 145 //为GPS点附加班次信息
... ...