Commit baeb678c473823ea5607dccb149ea83d7d0999e2

Authored by ljq
1 parent 74d076bc

线调ip打电话功能

src/main/java/com/bsth/data/gpsdata_v2/GpsRealData.java
... ... @@ -5,6 +5,7 @@ import com.bsth.data.forecast.ForecastRealServer;
5 5 import com.bsth.data.gpsdata_v2.entity.GpsEntity;
6 6 import com.bsth.data.schedule.DayOfSchedule;
7 7 import com.bsth.entity.realcontrol.ScheduleRealInfo;
  8 +import com.bsth.service.realcontrol.impl.ScheduleRealInfoServiceImpl;
8 9 import com.google.common.collect.TreeMultimap;
9 10 import org.apache.commons.lang3.StringUtils;
10 11 import org.slf4j.Logger;
... ... @@ -155,7 +156,8 @@ public class GpsRealData {
155 156 }
156 157 }else
157 158 gps.setRemark(null);
158   -
  159 +
  160 + gps.setDvrcode(ScheduleRealInfoServiceImpl.DIRMAP.get(BasicData.deviceId2NbbmMap.get(gps.getDeviceId())));;
159 161 rs.add(gps);
160 162 }
161 163  
... ...
src/main/java/com/bsth/data/gpsdata_v2/entity/GpsEntity.java
... ... @@ -110,6 +110,8 @@ public class GpsEntity implements Cloneable{
110 110  
111 111 private String remark;
112 112 private String planCode;
  113 +
  114 + private String dvrcode;
113 115  
114 116 public Object clone() {
115 117 try {
... ... @@ -119,6 +121,14 @@ public class GpsEntity implements Cloneable{
119 121 }
120 122 }
121 123  
  124 + public String getDvrcode() {
  125 + return dvrcode;
  126 + }
  127 +
  128 + public void setDvrcode(String dvrcode) {
  129 + this.dvrcode = dvrcode;
  130 + }
  131 +
122 132 public String getDeviceId() {
123 133 return deviceId;
124 134 }
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
1 1 package com.bsth.service.realcontrol.impl;
2 2  
3   -import java.io.ByteArrayOutputStream;
4   -import java.io.File;
5   -import java.io.IOException;
6   -import java.io.InputStream;
  3 +import java.io.*;
7 4 import java.net.HttpURLConnection;
  5 +import java.net.MalformedURLException;
8 6 import java.net.URL;
  7 +import java.net.URLEncoder;
9 8 import java.sql.ResultSet;
10 9 import java.sql.SQLException;
11 10 import java.text.DecimalFormat;
... ... @@ -223,6 +222,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf
223 222 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"),
224 223 sdfSimple = new SimpleDateFormat("yyyyMMdd");
225 224  
  225 + public static Map<String,String> DIRMAP ; // dvr电话
226 226 private Queue<RepairReport> queue = new ConcurrentLinkedQueue<>();
227 227  
228 228 private ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() {
... ... @@ -237,6 +237,8 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
237 237 }
238 238 });
239 239  
  240 +
  241 +
240 242 private static Map<String, String> report2repair = new HashMap<String, String>();
241 243  
242 244 static {
... ... @@ -6494,7 +6496,46 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
6494 6496 }
6495 6497 }
6496 6498 }, 30, 30, TimeUnit.MINUTES);
6497   - }
  6499 +
  6500 + //// ---
  6501 + exec.scheduleWithFixedDelay(new Runnable() {
  6502 + @Override
  6503 + public void run() {
  6504 + Map<String, Object> res = new HashMap<>();
  6505 + InputStream in = null;
  6506 + OutputStream out = null;
  6507 + SysUser user = SecurityUtils.getCurrentUser();
  6508 + DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
  6509 + String url ="http://211.95.61.66:9008/modules/tSafedrivingCs/DSMBHforCLBH";
  6510 +
  6511 + try {
  6512 + HttpURLConnection con = (HttpURLConnection)new URL(url.toString()).openConnection();
  6513 + con.setDoInput(true);
  6514 + con.setRequestMethod("POST");
  6515 + con.setConnectTimeout(5000);
  6516 + con.setReadTimeout(5000);
  6517 + con.setRequestProperty("keep-alive", "true");
  6518 + con.setRequestProperty("accept", "*/*");
  6519 + con.setRequestProperty("content-type", "application/x-www-form-urlencoded");
  6520 + con.connect();
  6521 +
  6522 + if (con.getResponseCode() == 200) {
  6523 + in = con.getInputStream();
  6524 + ByteArrayOutputStream bout = new ByteArrayOutputStream();
  6525 + IOUtils.copy(in, bout);
  6526 + DIRMAP = new ObjectMapper().readValue(bout.toByteArray(), Map.class);
  6527 + }
  6528 + } catch (MalformedURLException e) {
  6529 + // TODO Auto-generated catch block
  6530 + e.printStackTrace();
  6531 + } catch (IOException e) {
  6532 + // TODO Auto-generated catch block
  6533 + e.printStackTrace();
  6534 + }
  6535 +
  6536 + }
  6537 + }, 0, 60 * 60 * 24, TimeUnit.MINUTES);
  6538 + }
6498 6539 }
6499 6540  
6500 6541 class AccountMap implements Comparator<Map<String, Object>> {
... ...
src/main/resources/static/real_control_v2/mapmonitor/fragments/map_infowindow.html
... ... @@ -39,6 +39,7 @@
39 39 <a href="javascript:;" style="color: #07D;margin-right: 7px;">预计 {{expectStopTime}} 分钟到达终点</a>
40 40 {{/if}}
41 41 <a href="javascript:;" style="float: left;" onclick="javascript:window.open('http://211.95.61.66:9020/transport_server/dvr_monitor2.html?userid=4&zbh={{nbbm}}');">DVR</a>
  42 + <a href="javascript:;" style="margin-left: 50px;" onclick="javascript:window.open('sip:{{dvrcode}}@139.196.29.203:5060?method=call');">IP电话</a>
42 43 <a href="javascript:;" style="float: right;" onclick="javascript:gb_map_play_back.initParams('{{deviceId}}', '{{nbbm}}');">轨迹回放</a>
43 44 </div>
44 45 </script>
... ...