package org.sxkj.odm.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.sxkj.odm.entity.OdmTaskInfo; import org.sxkj.odm.vo.OdmTaskInfoQueryParam; import org.sxkj.odm.vo.OdmTaskInfoVO; import org.sxkj.odm.vo.OdmTaskStatisticsBO; import org.sxkj.odm.vo.OdmTaskTilesVo; import java.util.List; /** * ODM 任务信息 mapper * @author zhongrj * @date 2024/09/11 * @version 0.1 */ public interface OdmTaskInfoMapper extends BaseMapper { /** * 自定义分页列表查询 * @param page * @param odmTaskInfo * @return */ List selectOdmTaskInfoPage(IPage page, @Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfo); /** * 查询航线任务类型 * @param jobId 航线任务id * @param types 航线文件类型 * @return */ Integer getWaylineType( @Param("jobId") String jobId, @Param("types") List types); /** * 查询航线任务图片url集合 * @param jobId * @param waylineType * @return */ List getWaylinePicUrl(@Param("jobId") String jobId,@Param("waylineType") Integer waylineType); /** * 查询 running_progress 小于 1 的任务 * @return */ List selectOdmTaskListLess1(); /** * 根据图斑编号 查询导出对应的正射影像信息 * @param dkbh * @param runningProgress * @param jobId * @param otrTaskTypes odm 正射类型 * @return */ OdmTaskInfoVO getTbOrthoimageInfo(@Param("dkbh") String dkbh, @Param("runningProgress") Double runningProgress, @Param("jobId") String jobId, @Param("otrTaskTypes") List otrTaskTypes ); /** * 根据条件查询正射影像信息列表,并按创建时间正序排序 * @param lotInfoId 图斑id * @param runningProgress 运行进度 (例如 1.0 表示已完成) * @param jobId 作业ID * @param otrTaskTypes odm 正射类型 * @return OdmTaskInfoVO 列表 */ List listTbOrthoimageInfoAsc(@Param("lotInfoId") String lotInfoId, @Param("runningProgress") Double runningProgress, @Param("jobId") String jobId, @Param("otrTaskTypes") List otrTaskTypes ); /** * 查询所有未在 webodm 创建任务的任务信息 * @return */ List getNotByWebOdmCreateTaskList(); /** * 查询异常任务,异常次数3以下的,超过3次可以手动触发,不会自动进行重试 ,外加已取消的任务进行重启,暂定每次只处理一个,每次只查询一个 * @return */ List getErrorWebOdmTaskList(); /** * 查询在执行的任务数 * @return */ Integer getProcessTaskNum(); /** * 查询没有生成的odm任务航线任务,不包含已经删除的航线任务 * @param types 航线任务类型 * @return */ List getNoCreateTaskJob(@Param("types") List types); /** * 根据航线任务id获取对应的机构id * @param waylineJobId * @return */ Long getCreateDeptId(@Param("jobId") String waylineJobId); /** * 查询已完成没有保存到附件表的任务信息集合 * @return */ List getNoSaveAttachOdmTaskInfoList(); /** * 查询同一图斑重复的任务(历史) * @return */ List selectReqOdmList(); /** * 查询航线任务已经删除的任务 * @return */ List selectRemWayJobList(); /** * 根据航线任务id 获取地块编号 * @param waylineJobId * @return */ String getDkbhByWayJobId(@Param("waylineJobId") String waylineJobId); /** * 查询没有处理tif拼图斑面的任务 * @param otrTaskTypes 正射类型 * @return */ List getNotParseTifOdmList(@Param("otrTaskTypes") List otrTaskTypes); /** * 查询一个月之外并且没有删除的任务 * @[param day * @return */ List getOneMonLatOdmTask(@Param("day") Integer day); /** * 查询所有历史 odm 任务列表 * @param otrTaskTypes 正射类型 * @return */ List getHistoryOdmTaskByTifComp(@Param("otrTaskTypes") List otrTaskTypes); /** * 根据经纬度获取tif数据 * @param longitude 经度 * @param latitude 纬度 * @return tif数据 */ List getTifDataByCoord(double longitude, double latitude); /** * 根据经纬度获取10公里内所有tif数据 * @param longitude 经度 * @param latitude 纬度 * @return tif数据 */ List getAllTifDataByCoord(double longitude, double latitude); /** * 手动更新odm 任务数据,包含了空间面数据 * @param odmTaskInfo * @return */ int updateOdmTaskGeomInfoById(@Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfo); /** * 根据条件查询所有区域对应的odm统计数据 * @param dto * @return */ List getOdmTaskStatisticsByAreaCode(@Param("dto") OdmTaskInfoQueryParam dto); /** * 根据jobId 查询对应的设备编号 * @param jobId * @return */ String getDeviceSnByJobId(@Param("jobId") String jobId); /** * 获取3dtiles明细数据 * @param dto * @return */ List getOdmTaskTilesList(@Param("dto") OdmTaskInfoQueryParam dto); /** * 查询没有设备编号的数据,进行补充 * @return */ List getNoDeviceOdmTaskList(); /** * 获取视频地址 * @param jobId * @return */ List getMediaFileInfoByWaylineJobId(@Param("jobId") String jobId); /** * 查询没有四至点面的数据,进行查询 * @return */ List getNoGeomOdmTaskList(); /** * 查询已完成的任务中没有将三维白膜 信息同步到 附件表的信息 * @return */ List getNoSaveTilesAttachOdmTaskInfoList(); /** * 查询状态已经完成已处理过的,然后没有生成出白膜的任务 * @param odmTaskInfoVO * @return */ List getNotCreateTilesTask(@Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfoVO); /** * 查询历史的odm任务列表-已转白膜成功的 * @return */ List getHistoryOdmTaskListByTifComp(); /** * 根据jobId 查询odm任务基础信息 * @param jobId * @return */ OdmTaskInfo selectJobBaseInfo(@Param("jobId") String jobId); /** * 根据经纬度获取DEM地址 * @param areaCodePrefix * @return */ String getDemInfo(String areaCodePrefix); }