From 277b4f8a32c2332bc067a263bcce2e763e8d13aa Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Wed, 21 Jan 2026 16:38:01 +0800
Subject: [PATCH] 1. 新增航线任务接口。 2. 新增查询航线任务列表接口。 3. 新增获取航线任务详细信息。 4. 新增航线任务接口。 5. 新增修改航线任务接口。 6. 新增删除航线任务接口。 7. 新增修改航线任务状态接口。 8. 优化查询分组业务逻辑。 9. 航线(kmz)对象增加航线任务ID信息。 10. 新增航线(kmz)业务增加航线任务数据加工校验相关业务逻辑。 11. 新增航向任务下航点信息业务相关接口。
---
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 38 insertions(+), 14 deletions(-)
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
index 646208b..662f980 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -21,8 +21,10 @@
import com.ard.route.domain.djuav.UavRouteReq;
import com.ard.route.domain.dto.ArdNoflyDto;
import com.ard.route.domain.route.ArdRouteInfo;
+import com.ard.route.domain.route.ArdRouteMission;
import com.ard.route.domain.vo.KmzResultVo;
import com.ard.route.mapper.ArdRouteInfoMapper;
+import com.ard.route.mapper.ArdRouteMissionMapper;
import com.ard.route.service.IArdRouteInfoService;
import com.ard.route.service.UavRouteService;
import com.ard.work.domain.cache.UavTelemetryDataCache;
@@ -61,9 +63,11 @@
@Autowired
private OssServiceContext ossService;
-
@Autowired
private UavRouteService routeService;
+
+ @Autowired
+ private ArdRouteMissionMapper ardRouteMissionMapper;
@Resource
private IArdNoFlyZoneService ardNoFlyZoneService;
@@ -138,6 +142,7 @@
*/
@Override
public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) {
+ processRouteMission(ardRouteInfo);
ardRouteInfo.setId(IdUtils.simpleUUID());
ardRouteInfo.setCreateTime(DateUtils.getNowDate());
ardRouteInfo.setUpdateTime(DateUtils.getNowDate()); // 修改时间,用于排序
@@ -146,22 +151,24 @@
}
ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft()));
KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(),ardRouteInfo.getName());
- if (M350_RTK.getValue().equals(ardRouteInfo.getUavRouteReq().getDroneType())) {
- // 变焦数值加工
- for (RoutePointReq routePointReq : ardRouteInfo.getUavRouteReq().getRoutePointList()) {
- for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
- for (PointActionReq action : actionGroupReq.getActions()) {
- if (action.getZoom() != null){
- action.setZoom(divided_23(action.getZoom()));
- }
- }
- }
- }
- }
+ zoomProcessing(ardRouteInfo);
ardRouteInfo.setPath(kmzResult.getPath());
ardRouteInfo.setReadOnly("0");
ardRouteInfoMapper.insertArdRouteInfo(dataProcessing(ardRouteInfo));
return kmzResult.getPath();
+ }
+
+ // 航线任务数据加工校验
+ private void processRouteMission(ArdRouteInfo ardRouteInfo){
+ if ("3".equals(ardRouteInfo.getType())) {
+ ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(ardRouteInfo.getMissionId());
+ if ("0".equals(ardRouteMission.getRouteId())) {
+ ardRouteMission.setRouteId(ardRouteInfo.getId());
+ ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
+ }else {
+ throw new RuntimeException("不能修改默认分组");
+ }
+ }
}
/**
@@ -182,6 +189,7 @@
delOssService(route);
// 再生成航线
ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft()));
+ zoomProcessing(ardRouteInfo);
kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
if ("更新航线kmz文件失败".equals(kmzResult.getData())) {
return 0;
@@ -189,6 +197,22 @@
ardRouteInfo.setPath(kmzResult.getPath());
}
return ardRouteInfoMapper.updateArdRouteInfo(dataProcessing(ardRouteInfo));
+ }
+
+ // 变倍加工方法
+ private void zoomProcessing(ArdRouteInfo ardRouteInfo) {
+ if (M350_RTK.getValue().equals(ardRouteInfo.getUavRouteReq().getDroneType())) {
+ // 变焦数值加工
+ for (RoutePointReq routePointReq : ardRouteInfo.getUavRouteReq().getRoutePointList()) {
+ for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
+ for (PointActionReq action : actionGroupReq.getActions()) {
+ if (action.getZoom() != null){
+ action.setZoom(divided_23(action.getZoom()));
+ }
+ }
+ }
+ }
+ }
}
// 新增信息加工
@@ -416,7 +440,7 @@
public Boolean routeBegins(String id,String boxSn) {
ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(id);
// 判断是否循环航线
- if ("0".equals(route.getIsLoop())) {
+ if (null != route && "0".equals(route.getIsLoop())){
deleteArdRouteInfoById(id);
}
WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn);
--
Gitblit v1.9.3