package com.genersoft.iot.vmp.storager.dao;
|
|
import java.util.List;
|
|
import com.genersoft.iot.vmp.gb28181.bean.MobilePosition;
|
import org.apache.ibatis.annotations.*;
|
|
@Mapper
|
public interface DeviceMobilePositionMapper {
|
|
@Insert("INSERT INTO device_mobile_position (deviceId,channelId, deviceName, time, longitude, latitude, altitude, speed, direction, reportSource, longitudeGcj02, latitudeGcj02, longitudeWgs84, latitudeWgs84, createTime) " +
|
"VALUES ('${deviceId}','${channelId}', '${deviceName}', '${time}', ${longitude}, ${latitude}, ${altitude}, ${speed}, ${direction}, '${reportSource}', ${longitudeGcj02}, ${latitudeGcj02}, ${longitudeWgs84}, ${latitudeWgs84}, '${createTime}')")
|
int insertNewPosition(MobilePosition mobilePosition);
|
|
/**
|
* 查询设备的历史轨迹
|
* @param deviceId
|
* @param channelId
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
@Select(value = {" <script>" +
|
"SELECT * FROM device_mobile_position" +
|
" WHERE deviceId = #{deviceId}" +
|
"<if test=\"channelId != null\"> and channelId = #{channelId}</if>" +
|
"<if test=\"startTime != null\"> AND time>=#{startTime}</if>" +
|
"<if test=\"endTime != null\"> AND time<=#{endTime}</if>" +
|
" ORDER BY time ASC" +
|
" </script>"})
|
List<MobilePosition> queryPositionByDeviceIdAndTime(String deviceId, String channelId, String startTime, String endTime);
|
|
@Select("SELECT * FROM device_mobile_position WHERE deviceId = #{deviceId}" +
|
" ORDER BY time DESC LIMIT 1")
|
MobilePosition queryLatestPositionByDevice(String deviceId);
|
|
@Delete("DELETE FROM device_mobile_position WHERE deviceId = #{deviceId}")
|
int clearMobilePositionsByDeviceId(String deviceId);
|
|
/**
|
* 查询手台的移动轨迹
|
* @param deviceId
|
* @param terminalNumber 终端编号
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
@Select(value = {" <script>" +
|
"SELECT id,terminal_number as channelId,latitude,longitude,receive_time as time FROM sys_talk_back_equipment_record" +
|
" WHERE 1=1" +
|
"<if test=\"terminalNumber != null and terminalNumber!=''\"> and terminal_number = #{terminalNumber}</if>" +
|
"<if test=\"startTime != null\"> AND receive_time>=#{startTime}</if>" +
|
"<if test=\"endTime != null\"> AND receive_time<=#{endTime}</if>" +
|
" ORDER BY receive_time ASC" +
|
" </script>"})
|
List<MobilePosition> queryTalkBackEquipmentPositionByDeviceIdAndTime(String deviceId, String terminalNumber, String startTime, String endTime);
|
|
/**
|
* 查询执法记录仪的移动轨迹
|
* @param deviceId
|
* @param channelId
|
* @param startTime
|
* @param endTime
|
* @return
|
*/
|
@Select(value = {" <script>" +
|
"SELECT * FROM device_mobile_position_police_camera" +
|
" WHERE 1=1" +
|
"<if test=\"channelId != null\"> and channelId = #{channelId}</if>" +
|
"<if test=\"startTime != null\"> AND time>=#{startTime}</if>" +
|
"<if test=\"endTime != null\"> AND time<=#{endTime}</if>" +
|
" ORDER BY time ASC" +
|
" </script>"})
|
List<MobilePosition> queryPoliceCameraPositionByDeviceIdAndTime(String deviceId, String channelId, String startTime, String endTime);
|
}
|