From fc7ee73b5f804116ada59048fdf6fb9265856a3f Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Wed, 04 Feb 2026 09:45:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java |   33 ++++++++++++++-------------------
 1 files changed, 14 insertions(+), 19 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 f5f878d..136018d 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
@@ -5,6 +5,7 @@
 
 import com.ard.common.exception.ControlException;
 import com.ard.common.utils.DateUtils;
+import com.ard.common.utils.SecurityUtils;
 import com.ard.common.utils.file.FileUtils;
 import com.ard.common.utils.uuid.IdUtils;
 import com.ard.data.noflyzone.domain.ArdNoFlyZone;
@@ -36,10 +37,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
-
 import javax.annotation.Resource;
-
-import static com.ard.common.utils.SecurityUtils.getUsername;
 import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK;
 import static com.ard.route.util.InitializationUtils.divided_23;
 import static com.ard.route.util.ToolUtils.*;
@@ -140,10 +138,8 @@
      */
     @Override
     public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) {
-        if ("3".equals(ardRouteInfo.getType())) {
-            checkRouteMissionStatus(ardRouteInfo,"1");
-            checkRouteMissionStatus(ardRouteInfo,"2");
-        }
+        checkRouteMissionStatus(ardRouteInfo,"1");
+        checkRouteMissionStatus(ardRouteInfo,"2");
         ardRouteInfo.setId(IdUtils.simpleUUID());
         ardRouteInfo.setCreateTime(DateUtils.getNowDate());
         ardRouteInfo.setUpdateTime(DateUtils.getNowDate()); // 修改时间,用于排序
@@ -173,16 +169,14 @@
                     validateForCreate(mission);
                     break;
                 case "2":
-                    bindRoute(mission, ardRouteInfo);
+                    bindRoute(mission,ardRouteInfo);
                     break;
                 case "3":
-                    executeMission(mission);
+                    executeMission(mission,ardRouteInfo);
                     break;
                 default:
                     throw new RuntimeException("不支持的操作类型!!!");
             }
-        }else {
-            throw new RuntimeException("航线任务不存在!!!");
         }
     }
 
@@ -193,17 +187,18 @@
     }
 
     private void bindRoute(ArdRouteMission mission, ArdRouteInfo routeInfo) {
-        if (!"0".equals(mission.getRouteId())) {
+        if (mission.getRouteId() != null) {
             throw new RuntimeException("航线任务下已绑定航线,不可创建新航线信息!!!");
         }
         mission.setRouteId(routeInfo.getId());
         ardRouteMissionMapper.updateArdRouteMission(mission);
     }
 
-    private void executeMission(ArdRouteMission mission) {
+    private void executeMission(ArdRouteMission mission,ArdRouteInfo ardRouteInfo) {
         if ("0".equals(mission.getExecuteStatus())) {
+            mission.setRouteId(ardRouteInfo.getId());
             mission.setExecuteStatus("1");
-            mission.setExecuteBy(getUsername());
+            mission.setExecuteBy(SecurityUtils.getUsername());
             mission.setExecuteTime(DateUtils.getNowDate());
             mission.setUpdateTime(DateUtils.getNowDate());
             ardRouteMissionMapper.updateArdRouteMission(mission);
@@ -478,12 +473,12 @@
     @Override
     public Boolean routeBegins(String id,String boxSn) {
         ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(id);
-        // 判断是否循环航线
-        if (null != route && "0".equals(route.getIsLoop())){
-            deleteArdRouteInfoById(id);
-            if ("3".equals(route.getType())) {
-                checkRouteMissionStatus(route,"3");
+        if (null != route){
+            // 判断是否循环航线
+            if ("0".equals(route.getIsLoop())){
+                deleteArdRouteInfoById(id);
             }
+            checkRouteMissionStatus(route,"3");
         }
         WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn);
         tyService.wayLineBegin(wayLineBeginDTO);

--
Gitblit v1.9.3