无人机项目后端代码
guoshilong
2023-10-23 dd73bbc7132f7b126b8fc2faabf2827b49622d21
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
<?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>
</mapper>