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 | 146 | sexec.scheduleWithFixedDelay(schedulePstThread, 120, 10, TimeUnit.SECONDS);//班次延迟入库线程 |
| 147 | 147 | sexec.scheduleWithFixedDelay(seiPstThread, 160, 60, TimeUnit.SECONDS);//班次修正日志入库 |
| 148 | 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 | 150 | sexec.scheduleWithFixedDelay(sampleTimeDataLoader, 140, 120 * 60, TimeUnit.SECONDS);//到离站预测需要的站点间耗时数据 |
| 151 | 151 | sexec.scheduleWithFixedDelay(basicDataLoader, 2, 2, TimeUnit.HOURS);//基础数据更新 |
| 152 | 152 | sexec.scheduleWithFixedDelay(autoExecScanThread, 160, 50, TimeUnit.SECONDS);//班次自动执行 | ... | ... |
src/main/java/com/bsth/data/ThreadMonotor.java
| 1 | 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 | 5 | import org.springframework.stereotype.Component; |
| 6 | 6 | |
| 7 | 7 | /** |
| ... | ... | @@ -10,32 +10,10 @@ import org.springframework.stereotype.Component; |
| 10 | 10 | @Component |
| 11 | 11 | public class ThreadMonotor extends Thread{ |
| 12 | 12 | |
| 13 | - Logger log = LoggerFactory.getLogger(this.getClass()); | |
| 14 | - | |
| 15 | 13 | @Override |
| 16 | 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 | 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 | 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 | 46 | @Autowired |
| 47 | 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 | 55 | public void handle(List<GpsEntity> list) { |
| 50 | 56 | try { |
| 57 | + if(list.size() == 0) | |
| 58 | + return; | |
| 59 | + lastTime = System.currentTimeMillis(); | |
| 51 | 60 | //按设备号分组数据(一个设备的多条数据,必须在一个线程里跑) |
| 52 | 61 | ArrayListMultimap multimap = ArrayListMultimap.create(); |
| 53 | 62 | for (GpsEntity gps : list) { | ... | ... |
src/main/resources/static/pages/base/geo_data_edit/main.html
| ... | ... | @@ -7,26 +7,95 @@ |
| 7 | 7 | <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" /> |
| 8 | 8 | <!-- flatpickr --> |
| 9 | 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 | 13 | <style> |
| 14 | + /* ^_^ baidu map hide logo */ | |
| 15 | + .anchorBL, .anchorBL, .amap-logo, .amap-copyright { | |
| 16 | + display: none; | |
| 17 | + } | |
| 18 | + | |
| 11 | 19 | html,body{ |
| 12 | 20 | height: 100%; |
| 13 | 21 | } |
| 14 | 22 | .ct_page{ |
| 15 | - padding: 25px 15px; | |
| 23 | + padding: 0; | |
| 24 | + height: 100%; | |
| 25 | + } | |
| 26 | + | |
| 27 | + div#map_wrap{ | |
| 16 | 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 | 74 | </style> |
| 22 | 75 | </head> |
| 23 | 76 | |
| 24 | 77 | <body> |
| 25 | 78 | <div class="ct_page" > |
| 26 | 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 | 95 | </div> |
| 29 | 96 | </div> |
| 97 | +<!-- 百度 --> | |
| 98 | +<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script> | |
| 30 | 99 | <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script> |
| 31 | 100 | <script src="/assets/plugins/uk3.0/uikit.min.js"></script> |
| 32 | 101 | <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script> |
| ... | ... | @@ -41,7 +110,10 @@ |
| 41 | 110 | <!-- flatpickr --> |
| 42 | 111 | <script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" ></script> |
| 43 | 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 | 115 | <script> |
| 116 | + top.document.title = "绘制线路"; | |
| 45 | 117 | // 关闭左侧栏 |
| 46 | 118 | if (!top.$('body').hasClass('page-sidebar-closed')) {top.$('.menu-toggler.sidebar-toggler').click();} |
| 47 | 119 | |
| ... | ... | @@ -58,6 +130,7 @@ |
| 58 | 130 | }; |
| 59 | 131 | |
| 60 | 132 | map = new BMap.Map($(gb_map_consts.mapContainer)[0]); |
| 133 | + //map.setMapStyle({style:'dark'}); | |
| 61 | 134 | //中心点和缩放级别 |
| 62 | 135 | map.centerAndZoom(new BMap.Point(gb_map_consts.center_point.lng, gb_map_consts.center_point.lat), 13); |
| 63 | 136 | map.enableScrollWheelZoom(); | ... | ... |