<?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="org.sxkj.odm.mapper.OdmTaskInfoMapper">
|
|
<!--自定义分页查询-->
|
<select id="selectOdmTaskInfoPage" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.*,
|
wj.name as taskName,wj.job_type as waylineType,wj.dkbh,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime,
|
md.nickname as airportName,
|
wfe.gsd
|
FROM
|
odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
|
left join manage_device md on md.device_sn = wj.dock_sn::VARCHAR
|
left join blade_dept bd on bd.id = md.dept_id::VARCHAR and bd.is_deleted = 0
|
left join wayline_file_extension wfe on wj.file_id = wfe.wayline_id::VARCHAR
|
<where>
|
and oti.is_deleted = 0
|
<if test="odmTaskInfo.waylineJobId!=null and odmTaskInfo.waylineJobId!=''">
|
and oti.wayline_job_id = #{odmTaskInfo.waylineJobId}
|
</if>
|
<if test="odmTaskInfo.taskName!=null and odmTaskInfo.taskName!=''">
|
and wj.name like concat('%',#{odmTaskInfo.taskName},'%')
|
</if>
|
<if test="odmTaskInfo.airportName!=null and odmTaskInfo.airportName!=''">
|
and md.nickname like concat('%',#{odmTaskInfo.airportName},'%')
|
</if>
|
<if test="odmTaskInfo.status!=null">
|
and oti.status = #{odmTaskInfo.status}
|
</if>
|
<if test="odmTaskInfo.waylineType!=null">
|
and wj.job_type = #{odmTaskInfo.waylineType}
|
</if>
|
<if test="odmTaskInfo.deptId!=null">
|
and bd.id = #{odmTaskInfo.deptId}
|
</if>
|
<if test="odmTaskInfo.completedTime!=null and odmTaskInfo.completedTime!=''">
|
and date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d') = #{odmTaskInfo.completedTime}
|
</if>
|
<if test="odmTaskInfo.deptIdList!=null and odmTaskInfo.deptIdList.size>0">
|
AND wj.create_dept IN
|
<foreach collection="odmTaskInfo.deptIdList" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="odmTaskInfo.permissionCondition != null and odmTaskInfo.permissionCondition != ''">
|
AND ${odmTaskInfo.permissionCondition}
|
</if>
|
</where>
|
order by oti.id desc,oti.create_time desc
|
</select>
|
|
<!--查询航线任务类型,航线任务状态需是已完成的-->
|
<select id="getWaylineType" resultType="java.lang.Integer">
|
select
|
wj.job_type
|
from wayline_job wj
|
where wj.job_id = #{jobId}
|
and wj.status = 3
|
and wj.job_type in
|
<foreach collection="types" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</select>
|
|
<!--查询航线任务图片url集合-->
|
<select id="getWaylinePicUrl" resultType="java.lang.String">
|
select
|
concat('/',SUBSTRING(original_name, LOCATE('/', original_name) + 1))
|
from blade_attach
|
where wayline_job_id = #{jobId}
|
<if test="waylineType!=null">
|
<choose>
|
<when test="waylineType==6">
|
and original_name LIKE '%.mp4%'
|
and result_type = 1
|
</when>
|
<otherwise>
|
and original_name LIKE '%.jpeg%'
|
and result_type = 0
|
</otherwise>
|
</choose>
|
</if>
|
and media_category = 0
|
GROUP BY original_name
|
</select>
|
|
<!--查询 running_progress 小于 1 的任务并且是已更新完成的-->
|
<select id="selectOdmTaskListLess1" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
select oti.*,wj.job_type as waylineType,wj.dkbh,wj.workspace_id as workspaceId,wj.dock_sn as deviceSn,wj.name as waylineJobName,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
|
from odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
|
where
|
oti.running_progress < 1.0 and oti.is_update = 0 and oti.is_deleted = 0
|
</select>
|
|
<!--根据图斑编号 查询导出对应的正射影像信息-->
|
<select id="getTbOrthoimageInfo" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.project_id,
|
oti.task_id,
|
oti.wayline_job_id,
|
oti.image_count,
|
oti.upload_progress,
|
oti.resize_progress,
|
oti.running_progress,
|
oti.processing_time,
|
oti.base_path,
|
oti.orthoimage_path,
|
oti.ort_tb_path,
|
oti.orthoimage_api,
|
oti.tiles_path,
|
oti.status,
|
oti.is_update,
|
oti.create_time,
|
oti.error_num,
|
oti.last_error,
|
oti.file_del_flag,
|
oti.type,
|
oti.dem_tif_path,
|
oti.vox_grid_tiles_path,
|
oti.device_sn,
|
wj.dkbh,
|
IFNULL( ST_AsText ( oti.geom ), ifnull( tli.sdfw, tli.dkfw )) AS geom
|
FROM odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
|
left join tb_lot_info tli on tli.dkbh = wj.dkbh::VARCHAR
|
where oti.is_deleted = 0
|
<if test="runningProgress!=null">
|
and oti.running_progress = 1.00::VARCHAR
|
</if>
|
<if test="otrTaskTypes != null and otrTaskTypes.size()>0">
|
AND wj.job_type IN
|
<foreach collection="otrTaskTypes" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="jobId!=null and jobId != ''">
|
and wj.job_id = #{jobId}
|
</if>
|
<if test="dkbh!=null and dkbh != '' ">
|
and wj.dkbh = #{dkbh}
|
</if>
|
order by oti.id desc,oti.create_time desc
|
limit 1
|
</select>
|
|
<select id="listTbOrthoimageInfoAsc" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT DISTINCT
|
oti.project_id,
|
oti.task_id,
|
oti.wayline_job_id,
|
oti.image_count,
|
oti.upload_progress,
|
oti.resize_progress,
|
oti.running_progress,
|
oti.processing_time,
|
oti.base_path,
|
oti.orthoimage_path,
|
oti.ort_tb_path,
|
oti.orthoimage_api,
|
oti.tiles_path,
|
oti.status,
|
oti.is_update,
|
oti.create_time,
|
oti.error_num,
|
oti.last_error,
|
oti.file_del_flag,
|
oti.type,
|
oti.dem_tif_path,
|
oti.vox_grid_tiles_path,
|
oti.device_sn,
|
tli.dkbh,
|
IFNULL( ST_AsText ( oti.geom ), ifnull( tli.sdfw, tli.dkfw )) AS geom
|
FROM
|
odm_task_info oti
|
LEFT JOIN wayline_job wj ON wj.job_id = oti.wayline_job_id::VARCHAR AND wj.is_deleted = 0
|
LEFT JOIN tb_lot_info tli ON tli.id = wj.lot_info_id::VARCHAR AND tli.is_deleted = 0
|
WHERE
|
oti.is_deleted = 0
|
<if test="runningProgress != null">
|
AND oti.running_progress = 1.00::VARCHAR
|
</if>
|
<if test="otrTaskTypes != null and otrTaskTypes.size()>0">
|
AND wj.job_type IN
|
<foreach collection="otrTaskTypes" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
<if test="jobId != null and jobId != ''">
|
AND wj.job_id = #{jobId}
|
</if>
|
<if test="lotInfoId != null and lotInfoId != ''">
|
AND (
|
FIND_IN_SET(#{lotInfoId}, wj.lot_info_id) > 0
|
OR wj.lot_info_id = #{lotInfoId}
|
)
|
</if>
|
ORDER BY
|
oti.id ASC, oti.create_time ASC
|
</select>
|
<!--查询所有未在 webodm 创建任务的任务信息,一次暂时只处理1个-->
|
<select id="getNotByWebOdmCreateTaskList" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT oti.*,wfe.gsd FROM odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
|
left join wayline_file_extension wfe on wj.file_id = wfe.wayline_id::VARCHAR
|
where (oti.task_id is null or oti.task_id = '')
|
and oti.is_deleted = 0
|
order by oti.id desc
|
limit 1
|
</select>
|
|
<!--查询异常任务,异常次数3以下的,超过3次可以手动触发,不会自动进行重试,外加取消的任务,暂定每次只处理一个,每次只查询一个-->
|
<select id="getErrorWebOdmTaskList" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT * FROM odm_task_info
|
where status = 30 and is_deleted = 0 and error_num < 3
|
or status = 50
|
limit 1
|
</select>
|
|
<!--查询在执行的任务数-->
|
<select id="getProcessTaskNum" resultType="java.lang.Integer">
|
SELECT count(*) FROM odm_task_info where is_deleted = 0 and (status = 10 or status = 20)
|
</select>
|
|
<!--查询没有生成的odm任务航线任务-->
|
<select id="getNoCreateTaskJob" resultType="java.lang.String">
|
SELECT wj.job_id FROM wayline_job wj
|
LEFT JOIN odm_task_info oti ON wj.job_id = oti.wayline_job_id::VARCHAR and oti.is_deleted = 0
|
WHERE wj.STATUS = 3
|
AND wj.is_deleted = 0
|
AND wj.job_type IN
|
<foreach collection="types" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
AND oti.id is null
|
order by wj.id desc limit 1
|
</select>
|
|
<!--根据航线任务id获取对应的机构id-->
|
<select id="getCreateDeptId" resultType="java.lang.Long">
|
select md.dept_id from wayline_job wj
|
left join manage_device md on md.device_sn = wj.dock_sn::VARCHAR
|
where wj.job_id = #{jobId}
|
</select>
|
|
<!--查询已完成没有保存到附件表的任务信息集合-->
|
<select id="getNoSaveAttachOdmTaskInfoList" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.*,wj.job_type as waylineType,wj.dkbh,wj.workspace_id as workspaceId,wj.dock_sn as deviceSn,wj.name as waylineJobName,
|
date_format(FROM_UNIXTIME( wj.start_time/ 1000),'%Y-%m-%d %H:%i:%s') as startTime,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
|
FROM
|
odm_task_info oti
|
LEFT JOIN blade_attach ba ON CONCAT( oti.base_path, oti.orthoimage_path )= ba.NAME and ba.is_deleted = 0
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
|
WHERE
|
ba.id IS NULL
|
AND oti.is_deleted = 0
|
AND oti.type = 0
|
AND oti.STATUS = 40
|
AND oti.is_update = 1
|
AND file_del_flag = 0
|
AND wj.id is not null
|
</select>
|
|
<!--查询同一图斑重复的任务(历史)-->
|
<select id="selectReqOdmList" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT * FROM odm_task_info
|
WHERE id IN (
|
SELECT id FROM (
|
SELECT
|
min( oti.id ) AS id,
|
wj.dkbh,
|
count(*) AS c
|
FROM
|
odm_task_info oti
|
LEFT JOIN wayline_job wj ON wj.job_id = oti.wayline_job_id::VARCHAR
|
WHERE
|
oti.running_progress = 1.00::VARCHAR
|
AND oti.is_deleted = 0
|
AND wj.dkbh IS NOT NULL
|
GROUP BY
|
wj.dkbh
|
) a WHERE c > 1
|
)
|
</select>
|
|
|
<!--查询航线任务已经删除的任务-->
|
<select id="selectRemWayJobList" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT
|
oti.*
|
FROM
|
odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
|
WHERE
|
wj.id IS NULL
|
AND oti.is_deleted = 0
|
</select>
|
|
<!--根据航线任务id 获取地块编号-->
|
<select id="getDkbhByWayJobId" resultType="java.lang.String">
|
SELECT dkbh from wayline_job where job_id = #{waylineJobId}
|
</select>
|
|
<!--查询没有处理tif拼图斑面的任务-->
|
<select id="getNotParseTifOdmList" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.*,wj.dkbh,wj.job_type as waylineType,wj.name as waylineJobName,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
|
FROM
|
odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
|
WHERE
|
oti.ort_tb_path IS NULL
|
and oti.is_deleted = 0
|
and oti.status = 40
|
and oti.running_progress = 1.0::VARCHAR
|
and wj.dkbh is not null
|
<if test="otrTaskTypes != null and otrTaskTypes.size()>0">
|
AND wj.job_type IN
|
<foreach collection="otrTaskTypes" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
</select>
|
|
<!--查询一个月之外并且没有删除的任务,按天来-->
|
<select id="getOneMonLatOdmTask" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT
|
oti.*
|
FROM
|
odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR
|
WHERE oti.file_del_flag = 0 and oti.is_deleted = 0
|
and wj.completed_time < UNIX_TIMESTAMP(NOW() - INTERVAL {day} DAY)*1000
|
</select>
|
|
<!--查询所有历史 odm 任务列表-->
|
<select id="getHistoryOdmTaskByTifComp" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
select oti.*,wj.job_type as waylineType,wj.dkbh,wj.workspace_id as workspaceId,wj.dock_sn as deviceSn
|
from odm_task_info oti
|
left join wayline_job wj on wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
|
left join blade_attach ba on ba.wayline_job_id = oti.wayline_job_id::VARCHAR and ba.is_deleted = 0 and ba.result_type = 4
|
where
|
oti.running_progress = 1.0::VARCHAR
|
and oti.is_update = 1
|
and oti.file_del_flag = 0
|
and oti.status = 40
|
and oti.is_deleted = 0
|
<if test="otrTaskTypes != null and otrTaskTypes.size()>0">
|
AND wj.job_type IN
|
<foreach collection="otrTaskTypes" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</if>
|
and ba.id is null
|
</select>
|
<!--根据经纬度获取tif数据-->
|
<select id="getTifDataByCoord" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT * FROM odm_task_info
|
WHERE ST_Contains(geom, ST_GeomFromText(concat('POINT(',#{longitude},' ',#{latitude}, ')'))) and is_deleted = 0
|
ORDER BY id desc
|
</select>
|
|
<!--根据经纬度获取附件10公里内的tif数据-->
|
<select id="getAllTifDataByCoord" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT distinct CONCAT(base_path, dem_tif_path) as dem_tif_path
|
FROM wayline_dsm_info
|
WHERE geom IS NOT NULL
|
AND is_deleted = 0
|
AND dem_tif_path IS NOT NULL
|
AND ST_Distance_Sphere(
|
ST_Centroid(geom), -- geom中心点
|
ST_GeomFromText(concat('POINT(', #{longitude}, ' ', #{latitude}, ')'))) <= 1000
|
ORDER BY id DESC
|
</select>
|
|
<!--手动更新odm 任务数据,包含了空间面数据-->
|
<update id="updateOdmTaskGeomInfoById">
|
update odm_task_info SET
|
<if test="odmTaskInfo.uploadProgress !=null">
|
upload_progress = #{odmTaskInfo.uploadProgress},
|
</if>
|
<if test="odmTaskInfo.resizeProgress !=null">
|
resize_progress = #{odmTaskInfo.resizeProgress},
|
</if>
|
<if test="odmTaskInfo.runningProgress !=null">
|
running_progress = #{odmTaskInfo.runningProgress},
|
</if>
|
<if test="odmTaskInfo.processingTime !=null">
|
processing_time = #{odmTaskInfo.processingTime},
|
</if>
|
<if test="odmTaskInfo.isUpdate !=null">
|
is_update = #{odmTaskInfo.isUpdate},
|
</if>
|
<if test="odmTaskInfo.lastError !=null and odmTaskInfo.lastError !=''">
|
last_error = #{odmTaskInfo.lastError},
|
</if>
|
<if test="odmTaskInfo.orthoimagePath !=null and odmTaskInfo.orthoimagePath !=''">
|
orthoimage_path = #{odmTaskInfo.orthoimagePath},
|
</if>
|
<if test="odmTaskInfo.ortTbPath !=null and odmTaskInfo.ortTbPath !=''">
|
ort_tb_path = #{odmTaskInfo.ortTbPath},
|
</if>
|
<if test="odmTaskInfo.orthoimageApi !=null and odmTaskInfo.orthoimageApi !=''">
|
orthoimage_api = #{odmTaskInfo.orthoimageApi},
|
</if>
|
<if test="odmTaskInfo.tilesPath !=null and odmTaskInfo.tilesPath !=''">
|
tiles_path = #{odmTaskInfo.tilesPath},
|
</if>
|
<if test="odmTaskInfo.demTifPath !=null and odmTaskInfo.demTifPath !=''">
|
dem_tif_path = #{odmTaskInfo.demTifPath},
|
</if>
|
<if test="odmTaskInfo.voxGridTilesPath !=null and odmTaskInfo.voxGridTilesPath !=''">
|
vox_grid_tiles_path = #{odmTaskInfo.voxGridTilesPath},
|
</if>
|
<if test="odmTaskInfo.status !=null">
|
status = #{odmTaskInfo.status},
|
</if>
|
<if test="odmTaskInfo.type !=null">
|
type = #{odmTaskInfo.type},
|
</if>
|
<if test="odmTaskInfo.geom !=null and odmTaskInfo.geom !=''">
|
geom = ST_GeomFromText(${odmTaskInfo.geom})
|
</if>
|
where id = #{odmTaskInfo.id}
|
</update>
|
|
<!--根据条件查询所有区域对应的odm统计数据-->
|
<select id="getOdmTaskStatisticsByAreaCode" resultType="org.sxkj.odm.vo.OdmTaskStatisticsBO">
|
SELECT
|
md.area_code "dictKey",
|
count(*) "num",
|
ROUND( sum( wj3d.area ) / 1000000, 2 ) AS area
|
FROM
|
blade_attach ba
|
LEFT JOIN manage_device md ON ba.device_sn = md.device_sn::VARCHAR
|
left join wayline_job wj on ba.wayline_job_id = wj.job_id::VARCHAR AND md.is_deleted = 0
|
left join wayline_job_3d_record wj3d on wj3d.job_id = ba.wayline_job_id::VARCHAR
|
<where>
|
AND ba.is_deleted = 0
|
AND wj.job_info_id is not null
|
<if test="dto.areaCode!=null and dto.areaCode!=''">
|
AND md.area_code like concat(#{dto.areaCode},'%')
|
</if>
|
<if test="dto.deviceSn!=null and dto.deviceSn!=''">
|
AND md.device_sn = #{dto.deviceSn}
|
</if>
|
<if test="dto.deviceSn!=null and dto.deviceSn!=''">
|
AND md.device_sn = #{dto.deviceSn}
|
</if>
|
<if test="dto.type!=null">
|
AND ba.result_type = #{dto.type}
|
</if>
|
<if test="dto.startDate!=null">
|
AND ba.create_time >= #{dto.startDate}
|
</if>
|
<if test="dto.endDate!=null">
|
AND ba.create_time <= #{dto.endDate}
|
</if>
|
</where>
|
group by md.area_code
|
</select>
|
|
<!--根据jobId 查询对应的设备编号-->
|
<select id="getDeviceSnByJobId" resultType="java.lang.String">
|
select dock_sn from wayline_job where job_id = #{jobId}
|
</select>
|
|
<!--获取3dtiles明细数据-->
|
<select id="getOdmTaskTilesList" resultType="org.sxkj.odm.vo.OdmTaskTilesVo">
|
select md.area_code,
|
ba.link as tilesPath
|
from blade_attach ba
|
left join manage_device md on ba.device_sn = md.device_sn::VARCHAR AND md.is_deleted = 0
|
left join wayline_job wj on ba.wayline_job_id = wj.job_id::VARCHAR
|
<where>
|
AND ba.is_deleted = 0
|
AND wj.job_info_id is not null
|
<if test="dto.areaCode!=null and dto.areaCode!=''">
|
and md.area_code like concat(#{dto.areaCode},'%')
|
</if>
|
<if test="dto.deviceSn!=null and dto.deviceSn!=''">
|
and md.device_sn = #{dto.deviceSn}
|
</if>
|
<if test="dto.type!=null">
|
AND ba.result_type = #{dto.type}
|
</if>
|
<if test="dto.startDate!=null">
|
and ba.create_time >= #{dto.startDate}
|
</if>
|
<if test="dto.endDate!=null">
|
and ba.create_time <= #{dto.endDate}
|
</if>
|
</where>
|
</select>
|
|
<!--查询没有设备编号的数据,进行补充-->
|
<select id="getNoDeviceOdmTaskList" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
select id,wayline_job_id from odm_task_info where device_sn is null and file_del_flag = 0 and is_deleted = 0
|
</select>
|
|
<!--获取视频地址-->
|
<select id="getMediaFileInfoByWaylineJobId" resultType="java.lang.String">
|
SELECT
|
ba.original_name
|
FROM
|
wayline_job wj
|
LEFT JOIN blade_attach ba ON wj.job_id = ba.wayline_job_id::VARCHAR
|
WHERE wj.job_id = #{jobId}
|
AND job_type = 6
|
AND result_type = 1
|
AND extension = 'mp4'
|
GROUP BY ba.original_name
|
</select>
|
|
<!--查询没有四至点面的数据,进行查询-->
|
<select id="getNoGeomOdmTaskList" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
select id,wayline_job_id,project_id,task_id from odm_task_info
|
where geom is null and file_del_flag = 0 and project_id is not null and task_id is not null and running_progress = 1.0
|
and is_deleted = 0
|
</select>
|
|
<!--查询已完成的任务中没有将三维白膜的odm 信息集合-->
|
<select id="getNoSaveTilesAttachOdmTaskInfoList" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.*,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
|
FROM
|
odm_task_info oti
|
LEFT JOIN blade_attach ba ON CONCAT( oti.base_path, oti.vox_grid_tiles_path )= ba.NAME and ba.is_deleted = 0
|
LEFT JOIN wayline_job wj ON wj.job_id = oti.wayline_job_id::VARCHAR and wj.is_deleted = 0
|
WHERE
|
ba.id IS NULL
|
AND oti.is_deleted = 0
|
AND oti.type = 2
|
AND oti.STATUS = 40
|
AND oti.is_update = 1
|
</select>
|
|
<!--odm 信息列-->
|
<sql id="odmInfoColumn">
|
id,
|
project_id,
|
task_id,
|
wayline_job_id,
|
image_count,
|
upload_progress,
|
resize_progress,
|
running_progress,
|
processing_time,
|
base_path,
|
orthoimage_path,
|
ort_tb_path,
|
orthoimage_api,
|
tiles_path,
|
status,
|
is_update,
|
create_time,
|
error_num,
|
last_error,
|
file_del_flag,
|
type,
|
dem_tif_path,
|
vox_grid_tiles_path,
|
device_sn
|
</sql>
|
|
<!--查询状态已经完成已处理过的,然后没有生成出白膜的任务, 随机排序取一条-->
|
<select id="getNotCreateTilesTask" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
oti.id,
|
oti.project_id,
|
oti.task_id,
|
oti.wayline_job_id,
|
oti.image_count,
|
oti.upload_progress,
|
oti.resize_progress,
|
oti.running_progress,
|
oti.processing_time,
|
oti.base_path,
|
oti.orthoimage_path,
|
oti.ort_tb_path,
|
oti.orthoimage_api,
|
oti.tiles_path,
|
oti.status,
|
oti.is_update,
|
oti.create_time,
|
oti.error_num,
|
oti.last_error,
|
oti.file_del_flag,
|
oti.type,
|
oti.dem_tif_path,
|
oti.vox_grid_tiles_path,
|
oti.device_sn,
|
wj.area_code,wj.create_user,wj.update_user,wj.create_dept,
|
date_format(FROM_UNIXTIME( wj.completed_time/ 1000),'%Y-%m-%d %H:%i:%s') as completedTime
|
FROM odm_task_info oti
|
left join wayline_job wj on oti.wayline_job_id = wj.job_id::VARCHAR and wj.is_deleted = 0
|
<where>
|
AND oti.is_deleted = 0
|
AND oti.STATUS = 40
|
AND oti.is_update = 1
|
AND wj.id is not null
|
<if test="odmTaskInfo.type!=null">
|
<if test="odmTaskInfo.type==1">
|
AND ( oti.tiles_path IS NULL OR oti.tiles_path = '' )
|
</if>
|
<if test="odmTaskInfo.type==2">
|
AND ( oti.vox_grid_tiles_path IS NULL OR oti.vox_grid_tiles_path = '' )
|
</if>
|
AND oti.type = #{odmTaskInfo.type}
|
</if>
|
<if test="odmTaskInfo.deviceSn!=null and odmTaskInfo.deviceSn!=''">
|
AND oti.device_sn = #{odmTaskInfo.deviceSn}
|
</if>
|
</where>
|
ORDER BY
|
RAND()
|
LIMIT 1
|
</select>
|
|
<!--查询状态已经完成已处理过的,然后没有生成出白膜的任务, 随机排序取一条-->
|
<select id="getHistoryOdmTaskListByTifComp" resultType="org.sxkj.odm.vo.OdmTaskInfoVO">
|
SELECT
|
id,
|
SUBSTRING_INDEX( SUBSTRING_INDEX( link, 'project/', - 1 ), '/task/', 1 ) AS project_id,
|
SUBSTRING_INDEX( SUBSTRING_INDEX( link, '/task/', - 1 ), '/assets/', 1 ) AS task_id,
|
wayline_job_id
|
FROM blade_attach
|
WHERE is_deleted = 0 and result_type = 3
|
</select>
|
|
<!--查询状态已经完成已处理过的,然后没有生成出白膜的任务, 随机排序取一条-->
|
<select id="selectJobBaseInfo" resultType="org.sxkj.odm.entity.OdmTaskInfo">
|
SELECT area_code,create_user,update_user,create_dept FROM wayline_job
|
WHERE is_deleted = 0 and job_id = #{jobId}
|
</select>
|
|
<select id="getDemInfo" resultType="java.lang.String">
|
select dem_url from dem_info where area_code LIKE concat(#{areaCodePrefix}, '%')
|
</select>
|
</mapper>
|