上饶市公安局wvp平台
zhongrj
2023-06-27 2e98b20bea4463e4465e3c19059d0744a09aec06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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&gt;=#{startTime}</if>" +
    "<if test=\"endTime != null\"> AND time&lt;=#{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&gt;=#{startTime}</if>" +
            "<if test=\"endTime != null\"> AND receive_time&lt;=#{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&gt;=#{startTime}</if>" +
            "<if test=\"endTime != null\"> AND time&lt;=#{endTime}</if>" +
            " ORDER BY time ASC" +
            " </script>"})
    List<MobilePosition> queryPoliceCameraPositionByDeviceIdAndTime(String deviceId, String channelId, String startTime, String endTime);
}