<?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.*,
|
( SELECT CASE WHEN count( 1 ) > 0 THEN 1 ELSE 0 END FROM wayline_job WHERE parent_id = job.id ) AS hasChildren
|
FROM wayline_job job
|
LEFT JOIN wayline_file file ON job.file_id = file.wayline_id
|
WHERE job.workspace_id = #{workspaceId} and job.parent_id is NULL
|
<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') >= 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') <= 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') >= DATE(NOW())
|
AND DATE_FORMAT(FROM_UNIXTIME(job.begin_time/1000,'%Y-%m-%d'),'%Y-%m-%d') <= DATE(NOW()) + INTERVAL 2 DAY
|
ORDER BY job.begin_time - NOW() ASC
|
LIMIT 1
|
|
|
</select>
|
<select id="getJobs" 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') >= 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') <= 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>
|
|
<if test="queryParam.parentId != null and queryParam.parentId !='' ">
|
AND job.parent_id = (SELECT id FROM wayline_job where job_id = #{queryParam.parentId})
|
</if>
|
ORDER BY job.create_time DESC
|
|
|
</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>
|