|
@@ -178,6 +178,56 @@ public class TerminalCtl extends BaseWebCtl {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据终端设备ID获取轨迹
|
|
|
+ *
|
|
|
+ * @param mmsi
|
|
|
+ */
|
|
|
+ @RequestMapping("/tracknew")
|
|
|
+ @ResponseBody
|
|
|
+ public List<TerminalVo> findTerminalTracknew(String deviceId) {
|
|
|
+ // 查询当天轨迹记录
|
|
|
+ List<Map<String, Object>> mapList = terminalService.findTerminalTrack(deviceId);
|
|
|
+ List<TerminalVo> voList = new ArrayList<TerminalVo>();
|
|
|
+ if(mapList.size() > 0) {
|
|
|
+ // 返回vo
|
|
|
+ TerminalVo terminalVo = new TerminalVo();
|
|
|
+ terminalVo.setDeviceId(deviceId);
|
|
|
+ List<TerminalPosition> routeList = new ArrayList<TerminalPosition>();
|
|
|
+ TerminalPosition routeVo = null;
|
|
|
+ for(int i=0; i<mapList.size(); i++) {
|
|
|
+ Map<String, Object> mapObj = mapList.get(i);
|
|
|
+ routeVo = new TerminalPosition();
|
|
|
+ routeVo.setSort(i+1);
|
|
|
+ routeVo.setLon(mapObj.get("lon").toString());
|
|
|
+ routeVo.setLat(mapObj.get("lat").toString());
|
|
|
+ String time = mapObj.get("time").toString();
|
|
|
+ routeVo.setTime(time);
|
|
|
+ if(mapList.size() == 1) {
|
|
|
+ routeList.add(routeVo);
|
|
|
+ } else if((i+1) < mapList.size()) {
|
|
|
+ String nextTime = mapList.get(i+1).get("time").toString();
|
|
|
+ Double plusNum = Double.parseDouble(nextTime) - Double.parseDouble(time);
|
|
|
+ if(plusNum > 600) {
|
|
|
+ routeList.add(routeVo);
|
|
|
+ terminalVo.setRoute(routeList);
|
|
|
+ voList.add(terminalVo);
|
|
|
+ terminalVo = new TerminalVo();
|
|
|
+ routeList = new ArrayList<TerminalPosition>();
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+ routeList.add(routeVo);
|
|
|
+ }
|
|
|
+ } else if((i+1) == mapList.size()) {
|
|
|
+ routeList.add(routeVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ terminalVo.setRoute(routeList);
|
|
|
+ voList.add(terminalVo);
|
|
|
+ }
|
|
|
+ return voList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 根据任务ID,设备ID获取终端设备轨迹
|
|
|
*
|
|
|
* @param mmsi
|