Commit 72e7348cd47a884a2ff4f857cb002dc2e23adf64
1 parent
c1bc1070
update...
Showing
4 changed files
with
89 additions
and
29 deletions
src/main/java/com/bsth/XDApplication.java
| @@ -146,7 +146,7 @@ public class XDApplication implements CommandLineRunner { | @@ -146,7 +146,7 @@ public class XDApplication implements CommandLineRunner { | ||
| 146 | sexec.scheduleWithFixedDelay(schedulePstThread, 120, 10, TimeUnit.SECONDS);//班次延迟入库线程 | 146 | sexec.scheduleWithFixedDelay(schedulePstThread, 120, 10, TimeUnit.SECONDS);//班次延迟入库线程 |
| 147 | sexec.scheduleWithFixedDelay(seiPstThread, 160, 60, TimeUnit.SECONDS);//班次修正日志入库 | 147 | sexec.scheduleWithFixedDelay(seiPstThread, 160, 60, TimeUnit.SECONDS);//班次修正日志入库 |
| 148 | sexec.scheduleWithFixedDelay(directivesPstThread, 180, 120, TimeUnit.SECONDS);//调度指令延迟入库 | 148 | sexec.scheduleWithFixedDelay(directivesPstThread, 180, 120, TimeUnit.SECONDS);//调度指令延迟入库 |
| 149 | - //sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作) | 149 | + sexec.scheduleWithFixedDelay(threadMonotor, 240, 60, TimeUnit.SECONDS);//线程监听(防止重要的线程阻塞、异常结束。以及部分主备切换工作) |
| 150 | sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据 | 150 | sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据 |
| 151 | sexec.scheduleWithFixedDelay(basicDataLoader, 2, 2, TimeUnit.HOURS);//基础数据更新 | 151 | sexec.scheduleWithFixedDelay(basicDataLoader, 2, 2, TimeUnit.HOURS);//基础数据更新 |
| 152 | sexec.scheduleWithFixedDelay(autoExecScanThread, 160, 50, TimeUnit.SECONDS);//班次自动执行 | 152 | sexec.scheduleWithFixedDelay(autoExecScanThread, 160, 50, TimeUnit.SECONDS);//班次自动执行 |
src/main/java/com/bsth/data/ThreadMonotor.java
| 1 | package com.bsth.data; | 1 | package com.bsth.data; |
| 2 | 2 | ||
| 3 | -import org.slf4j.Logger; | ||
| 4 | -import org.slf4j.LoggerFactory; | 3 | +import com.bsth.data.gpsdata_v2.DataHandleProcess; |
| 4 | +import com.bsth.data.gpsdata_v2.thread.GpsDataLoaderThread; | ||
| 5 | import org.springframework.stereotype.Component; | 5 | import org.springframework.stereotype.Component; |
| 6 | 6 | ||
| 7 | /** | 7 | /** |
| @@ -10,32 +10,10 @@ import org.springframework.stereotype.Component; | @@ -10,32 +10,10 @@ import org.springframework.stereotype.Component; | ||
| 10 | @Component | 10 | @Component |
| 11 | public class ThreadMonotor extends Thread{ | 11 | public class ThreadMonotor extends Thread{ |
| 12 | 12 | ||
| 13 | - Logger log = LoggerFactory.getLogger(this.getClass()); | ||
| 14 | - | ||
| 15 | @Override | 13 | @Override |
| 16 | public void run() { | 14 | public void run() { |
| 17 | - | ||
| 18 | - //线调GPS分析主线程 | ||
| 19 | - /*if(GpsRealAnalyse.isBlock()){ | ||
| 20 | - log.warn("GpsRealAnalyse isBlock true !!!!"); | ||
| 21 | - GpsRealAnalyse.shutdown(); | ||
| 22 | - }*/ | ||
| 23 | - | ||
| 24 | - /*if(GpsRealAnalyse.isIdle()){ | ||
| 25 | - //切换到备用的网关实时GPS对照数据 | 15 | + //切换到备用的网关实时GPS对照数据 |
| 16 | + if(DataHandleProcess.isBlock()) | ||
| 26 | GpsDataLoaderThread.setFlag(-1); | 17 | GpsDataLoaderThread.setFlag(-1); |
| 27 | - }*/ | ||
| 28 | - | ||
| 29 | - //webSocket 消息推送队列 | ||
| 30 | - /*if(WebSocketPushQueue.isIdle()){ | ||
| 31 | - log.warn("WebSocketPushQueue isIdle true !!!!"); | ||
| 32 | - WebSocketPushQueue.start(); | ||
| 33 | - }*/ | ||
| 34 | - | ||
| 35 | - //网关指令推送队列(系统自动发送的) | ||
| 36 | - /*if(DirectivePushQueue.isIdle()){ | ||
| 37 | - log.warn("DirectivePushQueue isIdle true !!!!"); | ||
| 38 | - DirectivePushQueue.start(); | ||
| 39 | - }*/ | ||
| 40 | } | 18 | } |
| 41 | } | 19 | } |
| 42 | \ No newline at end of file | 20 | \ No newline at end of file |
src/main/java/com/bsth/data/gpsdata_v2/DataHandleProcess.java
| @@ -46,8 +46,17 @@ public class DataHandleProcess { | @@ -46,8 +46,17 @@ public class DataHandleProcess { | ||
| 46 | @Autowired | 46 | @Autowired |
| 47 | GpsRealData gpsRealData; | 47 | GpsRealData gpsRealData; |
| 48 | 48 | ||
| 49 | + static long lastTime; | ||
| 50 | + | ||
| 51 | + public static boolean isBlock() { | ||
| 52 | + return System.currentTimeMillis() - lastTime > 1000 * 20; | ||
| 53 | + } | ||
| 54 | + | ||
| 49 | public void handle(List<GpsEntity> list) { | 55 | public void handle(List<GpsEntity> list) { |
| 50 | try { | 56 | try { |
| 57 | + if(list.size() == 0) | ||
| 58 | + return; | ||
| 59 | + lastTime = System.currentTimeMillis(); | ||
| 51 | //按设备号分组数据(一个设备的多条数据,必须在一个线程里跑) | 60 | //按设备号分组数据(一个设备的多条数据,必须在一个线程里跑) |
| 52 | ArrayListMultimap multimap = ArrayListMultimap.create(); | 61 | ArrayListMultimap multimap = ArrayListMultimap.create(); |
| 53 | for (GpsEntity gps : list) { | 62 | for (GpsEntity gps : list) { |
src/main/resources/static/pages/base/geo_data_edit/main.html
| @@ -7,26 +7,95 @@ | @@ -7,26 +7,95 @@ | ||
| 7 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" /> | 7 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" /> |
| 8 | <!-- flatpickr --> | 8 | <!-- flatpickr --> |
| 9 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.css"> | 9 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.css"> |
| 10 | + <!-- tooltip css--> | ||
| 11 | + <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css" /> | ||
| 12 | + <link rel="stylesheet" href="/real_control_v2/css/pace.css" /> | ||
| 10 | <style> | 13 | <style> |
| 14 | + /* ^_^ baidu map hide logo */ | ||
| 15 | + .anchorBL, .anchorBL, .amap-logo, .amap-copyright { | ||
| 16 | + display: none; | ||
| 17 | + } | ||
| 18 | + | ||
| 11 | html,body{ | 19 | html,body{ |
| 12 | height: 100%; | 20 | height: 100%; |
| 13 | } | 21 | } |
| 14 | .ct_page{ | 22 | .ct_page{ |
| 15 | - padding: 25px 15px; | 23 | + padding: 0; |
| 24 | + height: 100%; | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | + div#map_wrap{ | ||
| 16 | height: 100%; | 28 | height: 100%; |
| 17 | - height: calc(100% - 50px); | ||
| 18 | } | 29 | } |
| 19 | 30 | ||
| 31 | + .main_left_panel{ | ||
| 32 | + position: absolute; | ||
| 33 | + z-index: 999; | ||
| 34 | + height: calc(100% - 20px); | ||
| 35 | + width: 300px; | ||
| 36 | + background: #fffffff5; | ||
| 37 | + top: 7px; | ||
| 38 | + left: 5px; | ||
| 39 | + box-shadow: 5px 5px 15px rgba(90, 90, 90, 0.48); | ||
| 40 | + } | ||
| 41 | + .main_lt_search_panel{ | ||
| 42 | + position: absolute; | ||
| 43 | + z-index: 99; | ||
| 44 | + top: 10px; | ||
| 45 | + left: 330px; | ||
| 46 | + background: #fffffff5; | ||
| 47 | + box-shadow: 5px 5px 15px rgba(90, 90, 90, 0.48); | ||
| 48 | + } | ||
| 49 | + .main_rt_tools_panel{ | ||
| 50 | + position: absolute; | ||
| 51 | + z-index: 99; | ||
| 52 | + top: 7px; | ||
| 53 | + right: 7px; | ||
| 54 | + background: #ffffff; | ||
| 55 | + box-shadow: -5px 4px 15px rgba(90, 90, 90, 0.48); | ||
| 56 | + padding: 0 12px; | ||
| 57 | + text-align: center; | ||
| 58 | + border-radius: 7px; | ||
| 59 | + height: 28px; | ||
| 60 | + } | ||
| 20 | 61 | ||
| 62 | + .main_rt_tools_panel>._icon{ | ||
| 63 | + margin: 0 9px; | ||
| 64 | + } | ||
| 65 | + .search_input{ | ||
| 66 | + width: 250px; | ||
| 67 | + height: 42px; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + .search_input::placeholder{ | ||
| 71 | + color: grey; | ||
| 72 | + font-size: 12px; | ||
| 73 | + } | ||
| 21 | </style> | 74 | </style> |
| 22 | </head> | 75 | </head> |
| 23 | 76 | ||
| 24 | <body> | 77 | <body> |
| 25 | <div class="ct_page" > | 78 | <div class="ct_page" > |
| 26 | <div id="map_wrap"> | 79 | <div id="map_wrap"> |
| 80 | + </div> | ||
| 81 | + <div class="main_left_panel"> | ||
| 82 | + <div class="_line_info"> | ||
| 27 | 83 | ||
| 84 | + </div> | ||
| 85 | + </div> | ||
| 86 | + <div class="main_lt_search_panel"> | ||
| 87 | + <div class="uk-inline"> | ||
| 88 | + <span class="uk-form-icon uk-form-icon-flip" uk-icon="icon: search"></span> | ||
| 89 | + <input class="uk-input search_input" placeholder="搜索地图位置" type="text"> | ||
| 90 | + </div> | ||
| 91 | + </div> | ||
| 92 | + <div class="main_rt_tools_panel"> | ||
| 93 | + <a uk-icon="icon: info;ratio: .9" class="_icon"></a> | ||
| 94 | + <a uk-icon="icon: expand;ratio: .9" class="_icon"></a> | ||
| 28 | </div> | 95 | </div> |
| 29 | </div> | 96 | </div> |
| 97 | +<!-- 百度 --> | ||
| 98 | +<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script> | ||
| 30 | <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script> | 99 | <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script> |
| 31 | <script src="/assets/plugins/uk3.0/uikit.min.js"></script> | 100 | <script src="/assets/plugins/uk3.0/uikit.min.js"></script> |
| 32 | <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script> | 101 | <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script> |
| @@ -41,7 +110,10 @@ | @@ -41,7 +110,10 @@ | ||
| 41 | <!-- flatpickr --> | 110 | <!-- flatpickr --> |
| 42 | <script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" ></script> | 111 | <script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" ></script> |
| 43 | <script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" ></script> | 112 | <script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" ></script> |
| 113 | +<!-- qtip --> | ||
| 114 | +<script src="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.js" ></script> | ||
| 44 | <script> | 115 | <script> |
| 116 | + top.document.title = "绘制线路"; | ||
| 45 | // 关闭左侧栏 | 117 | // 关闭左侧栏 |
| 46 | if (!top.$('body').hasClass('page-sidebar-closed')) {top.$('.menu-toggler.sidebar-toggler').click();} | 118 | if (!top.$('body').hasClass('page-sidebar-closed')) {top.$('.menu-toggler.sidebar-toggler').click();} |
| 47 | 119 | ||
| @@ -58,6 +130,7 @@ | @@ -58,6 +130,7 @@ | ||
| 58 | }; | 130 | }; |
| 59 | 131 | ||
| 60 | map = new BMap.Map($(gb_map_consts.mapContainer)[0]); | 132 | map = new BMap.Map($(gb_map_consts.mapContainer)[0]); |
| 133 | + //map.setMapStyle({style:'dark'}); | ||
| 61 | //中心点和缩放级别 | 134 | //中心点和缩放级别 |
| 62 | map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 13); | 135 | map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 13); |
| 63 | map.enableScrollWheelZoom(); | 136 | map.enableScrollWheelZoom(); |