Commit 1888aaab47fc0e49cf147cec8f0e6ae6e4674bc8

Authored by 潘钊
1 parent 914f0551

update...

src/main/java/com/bsth/controller/realcontrol/anomalyCheckController.java renamed to src/main/java/com/bsth/controller/realcontrol/AdminUtilsController.java
1   -package com.bsth.controller.realcontrol;
2   -
3   -import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
4   -import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
5   -import com.bsth.data.msg_queue.DirectivePushQueue;
6   -import com.bsth.data.msg_queue.WebSocketPushQueue;
7   -import com.bsth.data.schedule.DayOfSchedule;
8   -import com.bsth.entity.realcontrol.ScheduleRealInfo;
9   -import org.slf4j.Logger;
10   -import org.slf4j.LoggerFactory;
11   -import org.springframework.beans.factory.annotation.Autowired;
12   -import org.springframework.web.bind.annotation.RequestMapping;
13   -import org.springframework.web.bind.annotation.RequestMethod;
14   -import org.springframework.web.bind.annotation.RequestParam;
15   -import org.springframework.web.bind.annotation.RestController;
16   -
17   -import java.util.HashMap;
18   -import java.util.List;
19   -import java.util.Map;
20   -
21   -/**
22   - * Created by panzhao on 2017/4/14.
23   - */
24   -@RestController
25   -@RequestMapping("anomalyCheck")
26   -public class anomalyCheckController {
27   -
28   -
29   - Logger logger = LoggerFactory.getLogger(this.getClass());
30   -
31   - @Autowired
32   - DayOfSchedule dayOfSchedule;
33   -
34   - @Autowired
35   - GeoCacheData geoCacheData;
36   -
37   - /**
38   - * 出现重复班次的车辆
39   - * @param nbbm
40   - */
41   - @RequestMapping(value = "/schRepeat", method = RequestMethod.POST)
42   - public void schRepeat(@RequestParam String nbbm){
43   - logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测...");
44   - List<ScheduleRealInfo> list = dayOfSchedule.findByNbbm(nbbm);
45   - logger.info("检测前,车辆班次数量:" + list.size());
46   -
47   - Map<Long, ScheduleRealInfo> map = new HashMap<>();
48   - for(ScheduleRealInfo sch : list){
49   - if(map.containsKey(sch.getId())){
50   - logger.info("检测到重复ID: " + sch.getId());
51   - }
52   - map.put(sch.getId(), sch);
53   - }
54   -
55   - logger.info("检测后,车辆班次数量:" + list.size());
56   - if(map.values().size() > 0){
57   - dayOfSchedule.replaceByNbbm(nbbm, map.values());
58   - }
59   - }
60   -
61   - @RequestMapping(value = "/directivePushQueue")
62   - public void directivePushQueue(){
63   - DirectivePushQueue.start();
64   - }
65   -
66   - @RequestMapping(value = "/directiveQueueSize")
67   - public void directiveQueueSize(){
68   - DirectivePushQueue.size();
69   - }
70   -
71   - @RequestMapping(value = "/webSocketPushQueue")
72   - public void webSocketPushQueue(){
73   - WebSocketPushQueue.start();
74   - }
75   -
76   - @RequestMapping(value = "/webSocketQueueSize")
77   - public void webSocketQueueSize(){
78   - WebSocketPushQueue.size();
79   - }
80   -
81   - @RequestMapping(value = "/setHttpFlag")
82   - public void setHttpFlag(@RequestParam int flag){
83   - if(flag != 0 && flag != -1)
84   - return;
85   - GpsDataLoaderThread.setFlag(flag);
86   - }
87   -
88   - @RequestMapping(value = "/updateCacheBuff")
89   - public void updateCacheBuff(){
90   - geoCacheData.loadData();
91   - }
92   -
93   - @RequestMapping(value = "/reCalcLpSch")
94   - public void reCalcLpSch(){
95   - dayOfSchedule._test_reCalcLpSch();
96   - }
97   -
98   - @RequestMapping(value = "/findSchByLpName")
99   - public List<ScheduleRealInfo> findSchByLpName(@RequestParam String lpName){
100   - return dayOfSchedule.getLpScheduleMap().get(lpName);
101   - }
102   -
103   - @RequestMapping(value = "/findSchByNbbm")
104   - public List<ScheduleRealInfo> findSchByNbbm(@RequestParam String nbbm){
105   - return dayOfSchedule.findByNbbm(nbbm);
106   - }
107   -
108   - @RequestMapping(value = "/removeExecPlan")
109   - public int removeExecPlan(@RequestParam String nbbm){
110   - dayOfSchedule.removeExecPlan(nbbm);
111   - return 1;
112   - }
113   -
114   - @RequestMapping(value = "/sch_re_calc_id_maps")
115   - public int reCalcIdMaps(){
116   - return dayOfSchedule.reCalcIdMaps();
117   - }
118   -
119   - @RequestMapping(value = "/sch_size_string")
120   - public String schSizeString(){
121   - return dayOfSchedule.sizeString();
122   - }
123   -}
  1 +package com.bsth.controller.realcontrol;
  2 +
  3 +import com.bsth.data.directive.DayOfDirectives;
  4 +import com.bsth.data.gpsdata_v2.cache.GeoCacheData;
  5 +import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread;
  6 +import com.bsth.data.msg_queue.DirectivePushQueue;
  7 +import com.bsth.data.msg_queue.WebSocketPushQueue;
  8 +import com.bsth.data.schedule.DayOfSchedule;
  9 +import com.bsth.entity.realcontrol.ScheduleRealInfo;
  10 +import com.bsth.websocket.handler.RealControlSocketHandler;
  11 +import org.slf4j.Logger;
  12 +import org.slf4j.LoggerFactory;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.web.bind.annotation.RequestMapping;
  15 +import org.springframework.web.bind.annotation.RequestParam;
  16 +import org.springframework.web.bind.annotation.RestController;
  17 +
  18 +import java.util.HashMap;
  19 +import java.util.List;
  20 +import java.util.Map;
  21 +
  22 +/**
  23 + * Created by panzhao on 2017/4/14.
  24 + */
  25 +@RestController
  26 +@RequestMapping("adminUtils")
  27 +public class AdminUtilsController {
  28 +
  29 +
  30 + Logger logger = LoggerFactory.getLogger(this.getClass());
  31 +
  32 + @Autowired
  33 + DayOfSchedule dayOfSchedule;
  34 +
  35 + @Autowired
  36 + GeoCacheData geoCacheData;
  37 +
  38 + @Autowired
  39 + DayOfDirectives dayOfDirectives;
  40 +
  41 + @Autowired
  42 + RealControlSocketHandler realControlSocketHandler;
  43 +
  44 + /**
  45 + * 出现重复班次的车辆
  46 + * @param
  47 +
  48 + @RequestMapping(value = "/schRepeat", method = RequestMethod.POST)
  49 + public void schRepeat(@RequestParam String nbbm){
  50 + logger.info("前端通知,车辆 " + nbbm + "出现重复班次,开始检测...");
  51 + List<ScheduleRealInfo> list = dayOfSchedule.findByNbbm(nbbm);
  52 + logger.info("检测前,车辆班次数量:" + list.size());
  53 +
  54 + Map<Long, ScheduleRealInfo> map = new HashMap<>();
  55 + for(ScheduleRealInfo sch : list){
  56 + if(map.containsKey(sch.getId())){
  57 + logger.info("检测到重复ID: " + sch.getId());
  58 + }
  59 + map.put(sch.getId(), sch);
  60 + }
  61 +
  62 + logger.info("检测后,车辆班次数量:" + list.size());
  63 + if(map.values().size() > 0){
  64 + dayOfSchedule.replaceByNbbm(nbbm, map.values());
  65 + }
  66 + }*/
  67 +
  68 +/* @RequestMapping(value = "/directivePushQueue")
  69 + public void directivePushQueue(){
  70 + DirectivePushQueue.start();
  71 + }*/
  72 +
  73 + @RequestMapping(value = "/directiveQueueSize")
  74 + public void directiveQueueSize(){
  75 + DirectivePushQueue.size();
  76 + }
  77 +
  78 + /*@RequestMapping(value = "/webSocketPushQueue")
  79 + public void webSocketPushQueue(){
  80 + WebSocketPushQueue.start();
  81 + }*/
  82 +
  83 + @RequestMapping(value = "/webSocketQueueSize")
  84 + public void webSocketQueueSize(){
  85 + WebSocketPushQueue.size();
  86 + }
  87 +
  88 + @RequestMapping(value = "/setHttpFlag")
  89 + public void setHttpFlag(@RequestParam int flag){
  90 + if(flag != 0 && flag != -1)
  91 + return;
  92 + GpsDataLoaderThread.setFlag(flag);
  93 + }
  94 +
  95 + @RequestMapping(value = "/updateCacheBuff")
  96 + public void updateCacheBuff(){
  97 + geoCacheData.loadData();
  98 + }
  99 +
  100 + @RequestMapping(value = "/reCalcLpSch")
  101 + public void reCalcLpSch(){
  102 + dayOfSchedule._test_reCalcLpSch();
  103 + }
  104 +
  105 + @RequestMapping(value = "/findSchByLpName")
  106 + public List<ScheduleRealInfo> findSchByLpName(@RequestParam String lpName){
  107 + return dayOfSchedule.getLpScheduleMap().get(lpName);
  108 + }
  109 +
  110 + @RequestMapping(value = "/findSchByNbbm")
  111 + public List<ScheduleRealInfo> findSchByNbbm(@RequestParam String nbbm){
  112 + return dayOfSchedule.findByNbbm(nbbm);
  113 + }
  114 +
  115 + @RequestMapping(value = "/removeExecPlan")
  116 + public int removeExecPlan(@RequestParam String nbbm){
  117 + dayOfSchedule.removeExecPlan(nbbm);
  118 + return 1;
  119 + }
  120 +
  121 + @RequestMapping(value = "/sch_re_calc_id_maps")
  122 + public int reCalcIdMaps(){
  123 + return dayOfSchedule.reCalcIdMaps();
  124 + }
  125 +
  126 + @RequestMapping(value = "/sch_size_string")
  127 + public String schSizeString(){
  128 + return dayOfSchedule.sizeString();
  129 + }
  130 +
  131 + @RequestMapping(value = "/containerSize")
  132 + public Map<String, Integer> containerSize(){
  133 + Map<String, Integer> rs = new HashMap<>();
  134 + rs.put("60_size", dayOfDirectives.all60().size());
  135 + rs.put("nbbm_sch_size", dayOfSchedule.findAll().size());
  136 + rs.put("lp_sch_size", dayOfSchedule.findAllByLpContainer().size());
  137 + rs.put("id_sch_size", dayOfSchedule.findAllByIdContainer().size());
  138 + rs.put("pst_sch_size", dayOfSchedule.getPstSize());
  139 + return rs;
  140 + }
  141 +
  142 + @RequestMapping(value = "/websocketRadioText")
  143 + public int radioText(String t){
  144 + realControlSocketHandler.sendMessage(t);
  145 + return 0;
  146 + }
  147 +}
... ...
src/main/java/com/bsth/data/gpsdata_v2/handlers/OutStationProcess.java
... ... @@ -39,7 +39,7 @@ public class OutStationProcess {
39 39  
40 40 @Autowired
41 41 GpsStatusManager gpsStatusManager;
42   - private final static int MAX_BEFORE_TIME = 1000 * 60 * 120;
  42 + private final static int MAX_BEFORE_TIME = 1000 * 60 * 60 * 3;
43 43  
44 44 public void process(GpsEntity gps) {
45 45 //自动执行的线路,滚蛋
... ... @@ -86,8 +86,8 @@ public class OutStationProcess {
86 86 }
87 87  
88 88 int diff = (int) (sch.getDfsjT() - gps.getTimestamp());
89   - //首班出场最多提前2小时
90   - if ((dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME) || diff > MAX_BEFORE_TIME / 2)
  89 + //首班出场最多提前3小时
  90 + if (dayOfSchedule.isFirstOut(sch) && diff > MAX_BEFORE_TIME)
91 91 return;
92 92  
93 93 gps.setPremiseCode(null);//清除前置围栏标记
... ...
src/main/java/com/bsth/data/gpsdata_v2/utils/GpsDataRecovery.java
... ... @@ -84,7 +84,7 @@ public class GpsDataRecovery implements ApplicationContextAware {
84 84 Calendar calendar = Calendar.getInstance();
85 85 int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
86 86  
87   - String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE,SERVER_TS from bsth_c_gps_info where days_year=346"; //+ dayOfYear;
  87 + String sql = "select DEVICE_ID,LAT,LON,TS,SPEED_GPS,LINE_ID,SERVICE_STATE,SERVER_TS from bsth_c_gps_info where days_year=39"; //+ dayOfYear;
88 88 JdbcTemplate jdbcTemplate = new JdbcTemplate(DBUtils_MS.getDataSource());
89 89  
90 90 List<GpsEntity> list =
... ... @@ -102,6 +102,7 @@ public class GpsDataRecovery implements ApplicationContextAware {
102 102 gps.setTimestamp(rs.getLong("TS"));
103 103 gps.setUpDown((byte) getUpOrDown(rs.getLong("SERVICE_STATE")));
104 104 gps.setServerTimestamp(rs.getLong("SERVER_TS"));
  105 + gps.setState((int) getService(rs.getLong("SERVICE_STATE")));
105 106 return gps;
106 107 }
107 108 });
... ... @@ -109,6 +110,17 @@ public class GpsDataRecovery implements ApplicationContextAware {
109 110 }
110 111  
111 112 /**
  113 + * 获取运营状态
  114 + *
  115 + * @return -1无效 0运营 1未运营
  116 + */
  117 + public static byte getService(long serviceState) {
  118 + if ((serviceState & 0x00020000) == 0x00020000 || (serviceState & 0x80000000) == 0x80000000)
  119 + return -1;
  120 + return (byte) (((serviceState & 0x02000000) == 0x02000000) ? 1 : 0);
  121 + }
  122 +
  123 + /**
112 124 * 王通 2016/6/29 9:23:24 获取车辆线路上下行
113 125 *
114 126 * @return -1无效 0上行 1下行
... ...
src/main/java/com/bsth/data/schedule/DayOfSchedule.java
... ... @@ -861,6 +861,18 @@ public class DayOfSchedule {
861 861 return nbbmScheduleMap.values();
862 862 }
863 863  
  864 + public Collection<ScheduleRealInfo> findAllByLpContainer() {
  865 + return lpScheduleMap.values();
  866 + }
  867 +
  868 + public Collection<ScheduleRealInfo> findAllByIdContainer() {
  869 + return id2SchedulMap.values();
  870 + }
  871 +
  872 + public int getPstSize() {
  873 + return pstBuffer.size();
  874 + }
  875 +
864 876 public boolean addExecPlan(ScheduleRealInfo sch) {
865 877 ScheduleRealInfo oldExec = executeCurr(sch.getClZbh());
866 878 if (sch != null){
... ...
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
... ... @@ -476,10 +476,12 @@ var gb_schedule_table = (function () {
476 476  
477 477 if (nextSch) {
478 478 $('dl[data-id=' + nextSch.id + ']', contWrap).addClass('intimity');
479   - if (nextSch.xlDir == sch.xlDir)
480   - return;
  479 + /*if (nextSch.xlDir == sch.xlDir)
  480 + return;*/
481 481 //滚动到下一个班次
482   - scroToDl(nextSch);
  482 + if(nextSch.xlDir != sch.xlDir)
  483 + scroToDl(nextSch);
  484 +
483 485 }
484 486  
485 487 //如果有打开轨迹回放
... ...