shenyijian
2023-11-13 a0196be7cc866778d14c04da454d65d02173b70d
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dji.sample.wayline.dao.IWaylineJobMapper">
 
 
    <select id="getPage" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
 
        SELECT job.* FROM wayline_job job
            LEFT JOIN wayline_file file ON job.file_id = file.wayline_id
        WHERE job.workspace_id = #{workspaceId}
            <if test="queryParam.taskType != null and queryParam.taskType!= '' or  queryParam.taskType==0 ">
                AND job.task_type = #{queryParam.taskType}
            </if>
 
            <if test="queryParam.name != null and queryParam.name != '' ">
                AND (  (job.name LIKE CONCAT('%',#{queryParam.name},'%'))or(file.name LIKE CONCAT('%',#{queryParam.name},'%'))  )
            </if>
 
            <if test="queryParam.status != null and queryParam.status !='' ">
                AND job.status in
                <foreach collection="queryParam.status.split(',')" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
 
            <if test="queryParam.startTime !=null and queryParam.endTime !=null">
                AND DATE_FORMAT(FROM_UNIXTIME(job.begin_time/1000,'%Y-%m-%d'),'%Y-%m-%d')  &gt;=  DATE_FORMAT(#{queryParam.startTime},'%Y-%m-%d')
            </if>
 
            <if test="queryParam.endTime !=null and queryParam.endTime !=null">
                AND DATE_FORMAT(FROM_UNIXTIME(job.end_time/1000,'%Y-%m-%d'),'%Y-%m-%d')   &lt;= DATE_FORMAT(#{queryParam.endTime},'%Y-%m-%d')
            </if>
 
            <if test="queryParam.dockSn != null and queryParam.dockSn != '' ">
                AND job.dock_sn in
                <foreach collection="queryParam.dockSn.split(',')" item="item" open="(" separator="," close=")">
                    #{item}
                </foreach>
            </if>
        ORDER BY job.create_time DESC
 
    </select>
    <select id="getLatest" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
        SELECT job.* FROM wayline_job job
        WHERE job.workspace_id = #{workspaceId}
        <if test="queryParam.dockSn != null and queryParam.dockSn != '' ">
            AND job.dock_sn = #{queryParam.dockSn}
        </if>
        AND job.status = 1
        AND DATE_FORMAT(FROM_UNIXTIME(job.begin_time/1000,'%Y-%m-%d'),'%Y-%m-%d')  &gt;=   DATE(NOW())
        AND DATE_FORMAT(FROM_UNIXTIME(job.begin_time/1000,'%Y-%m-%d'),'%Y-%m-%d')   &lt;= DATE(NOW()) + INTERVAL 2 DAY
        ORDER BY job.begin_time - NOW() ASC
        LIMIT 1
 
 
    </select>
    <select id="patrolStatistics" resultType="com.dji.sample.wayline.model.entity.WaylineJobEntity">
        SELECT
            *
        FROM
            wayline_job
        WHERE 1=1
          and status = 3
        <if test="queryTime != null and queryTime != ''">
           and ( FROM_UNIXTIME( execute_time / 1000, '%Y' ) = #{queryTime} OR FROM_UNIXTIME( execute_time / 1000, '%Y-%m' ) = #{queryTime} )
        </if>
        <if test="workspaceId != null and workspaceId != ''">
            and workspace_id = #{workspaceId}
        </if>
    </select>
</mapper>