吉安感知网项目-后端
xiebin
2026-01-06 d207a86cdf1ab52ef8cb7cd83bad8fceab8038cf
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
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<OdmTaskInfo> {
 
    /**
     * 自定义分页列表查询
     * @param page
     * @param odmTaskInfo
     * @return
     */
    List<OdmTaskInfoVO> selectOdmTaskInfoPage(IPage<OdmTaskInfoVO> page,
                                              @Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfo);
 
    /**
     * 查询航线任务类型
     * @param jobId 航线任务id
     * @param types 航线文件类型
     * @return
     */
    Integer getWaylineType( @Param("jobId") String jobId, @Param("types") List<Integer> types);
 
    /**
     * 查询航线任务图片url集合
     * @param jobId
     * @param waylineType
     * @return
     */
    List<String> getWaylinePicUrl(@Param("jobId") String jobId,@Param("waylineType") Integer waylineType);
 
    /**
     * 查询 running_progress 小于 1 的任务
     * @return
     */
    List<OdmTaskInfoVO> 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<Integer> otrTaskTypes
    );
 
    /**
     * 根据条件查询正射影像信息列表,并按创建时间正序排序
     * @param lotInfoId 图斑id
     * @param runningProgress 运行进度 (例如 1.0 表示已完成)
     * @param jobId 作业ID
     * @param otrTaskTypes odm 正射类型
     * @return OdmTaskInfoVO 列表
     */
    List<OdmTaskInfoVO> listTbOrthoimageInfoAsc(@Param("lotInfoId") String lotInfoId,
                                                @Param("runningProgress") Double runningProgress,
                                                @Param("jobId") String jobId,
                                                @Param("otrTaskTypes") List<Integer> otrTaskTypes
    );
    /**
     * 查询所有未在 webodm 创建任务的任务信息
     * @return
     */
    List<OdmTaskInfoVO> getNotByWebOdmCreateTaskList();
 
    /**
     * 查询异常任务,异常次数3以下的,超过3次可以手动触发,不会自动进行重试 ,外加已取消的任务进行重启,暂定每次只处理一个,每次只查询一个
     * @return
     */
    List<OdmTaskInfo> getErrorWebOdmTaskList();
 
    /**
     * 查询在执行的任务数
     * @return
     */
    Integer getProcessTaskNum();
 
    /**
     * 查询没有生成的odm任务航线任务,不包含已经删除的航线任务
     * @param types 航线任务类型
     * @return
     */
    List<String> getNoCreateTaskJob(@Param("types") List<Integer> types);
 
    /**
     * 根据航线任务id获取对应的机构id
     * @param waylineJobId
     * @return
     */
    Long getCreateDeptId(@Param("jobId") String waylineJobId);
 
    /**
     * 查询已完成没有保存到附件表的任务信息集合
     * @return
     */
    List<OdmTaskInfoVO> getNoSaveAttachOdmTaskInfoList();
 
    /**
     * 查询同一图斑重复的任务(历史)
     * @return
     */
    List<OdmTaskInfo> selectReqOdmList();
 
    /**
     * 查询航线任务已经删除的任务
     * @return
     */
    List<OdmTaskInfo> selectRemWayJobList();
 
    /**
     * 根据航线任务id 获取地块编号
     * @param waylineJobId
     * @return
     */
    String getDkbhByWayJobId(@Param("waylineJobId") String waylineJobId);
 
    /**
     * 查询没有处理tif拼图斑面的任务
     * @param otrTaskTypes 正射类型
     * @return
     */
    List<OdmTaskInfoVO> getNotParseTifOdmList(@Param("otrTaskTypes") List<Integer> otrTaskTypes);
 
    /**
     * 查询一个月之外并且没有删除的任务
     * @[param day
     * @return
     */
    List<OdmTaskInfo> getOneMonLatOdmTask(@Param("day") Integer day);
 
    /**
     * 查询所有历史 odm 任务列表
     * @param otrTaskTypes 正射类型
     * @return
     */
    List<OdmTaskInfoVO> getHistoryOdmTaskByTifComp(@Param("otrTaskTypes") List<Integer> otrTaskTypes);
 
    /**
     * 根据经纬度获取tif数据
     * @param longitude 经度
     * @param latitude 纬度
     * @return tif数据
     */
    List<OdmTaskInfo> getTifDataByCoord(double longitude, double latitude);
 
    /**
     * 根据经纬度获取10公里内所有tif数据
     * @param longitude 经度
     * @param latitude 纬度
     * @return tif数据
     */
    List<OdmTaskInfo> getAllTifDataByCoord(double longitude, double latitude);
 
    /**
     * 手动更新odm 任务数据,包含了空间面数据
     * @param odmTaskInfo
     * @return
     */
    int updateOdmTaskGeomInfoById(@Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfo);
 
    /**
     * 根据条件查询所有区域对应的odm统计数据
     * @param dto
     * @return
     */
    List<OdmTaskStatisticsBO> getOdmTaskStatisticsByAreaCode(@Param("dto") OdmTaskInfoQueryParam dto);
 
    /**
     * 根据jobId 查询对应的设备编号
     * @param jobId
     * @return
     */
    String getDeviceSnByJobId(@Param("jobId") String jobId);
 
    /**
     * 获取3dtiles明细数据
     * @param dto
     * @return
     */
    List<OdmTaskTilesVo> getOdmTaskTilesList(@Param("dto") OdmTaskInfoQueryParam dto);
 
    /**
     * 查询没有设备编号的数据,进行补充
     * @return
     */
    List<OdmTaskInfo> getNoDeviceOdmTaskList();
 
    /**
     * 获取视频地址
     * @param jobId
     * @return
     */
    List<String> getMediaFileInfoByWaylineJobId(@Param("jobId") String jobId);
 
    /**
     * 查询没有四至点面的数据,进行查询
     * @return
     */
    List<OdmTaskInfoVO> getNoGeomOdmTaskList();
 
    /**
     * 查询已完成的任务中没有将三维白膜 信息同步到 附件表的信息
     * @return
     */
    List<OdmTaskInfoVO> getNoSaveTilesAttachOdmTaskInfoList();
 
    /**
     * 查询状态已经完成已处理过的,然后没有生成出白膜的任务
     * @param odmTaskInfoVO
     * @return
     */
    List<OdmTaskInfoVO> getNotCreateTilesTask(@Param("odmTaskInfo") OdmTaskInfoVO odmTaskInfoVO);
 
    /**
     * 查询历史的odm任务列表-已转白膜成功的
     * @return
     */
    List<OdmTaskInfoVO> getHistoryOdmTaskListByTifComp();
 
    /**
     * 根据jobId 查询odm任务基础信息
     * @param jobId
     * @return
     */
    OdmTaskInfo selectJobBaseInfo(@Param("jobId") String jobId);
 
    /**
     * 根据经纬度获取DEM地址
     * @param areaCodePrefix
     * @return
     */
    String getDemInfo(String areaCodePrefix);
}