From 71f1ecb26bc9f8f92be176bb03052212beff221a Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Wed, 28 Jan 2026 15:09:44 +0800
Subject: [PATCH] 1. 航线任务测试时所需优化项,增加业务逻辑判断。

---
 ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java            |    3 +--
 ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java         |    7 +++++++
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java |   27 ++++++++++++---------------
 ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml                   |    8 +++++++-
 4 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java
index 1585a1f..54fece0 100644
--- a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java
+++ b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java
@@ -33,8 +33,7 @@
      * 航线类型
      * 1:逐点巡检
      * 2:沿线巡检
-     * 3:任务航线
-     * 4:巡检航线
+     * 3:巡检航线
      * */
     private String type;
 
diff --git a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java
index 708f10c..2acccce 100644
--- a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java
+++ b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java
@@ -39,6 +39,13 @@
     /** 执行时间 */
     private Date executeTime;
 
+    /**
+     * 任务类型
+     * 1:报警任务
+     * 2:巡检任务
+     * */
+    private String taskType;
+
     /** 航线任务航点列表 */
     private List<ArdRoutePoint> missionDetailList;
 
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..6fb58d9 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
@@ -140,10 +140,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 +171,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,15 +189,16 @@
     }
 
     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.setExecuteTime(DateUtils.getNowDate());
@@ -478,12 +475,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);
diff --git a/ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml b/ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml
index 9c71e07..de3f18d 100644
--- a/ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml
+++ b/ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml
@@ -15,6 +15,7 @@
         <result property="updateTime"    column="update_time"    />
         <result property="executeBy"    column="execute_by"    />
         <result property="executeTime"    column="execute_time"    />
+        <result property="taskType"    column="task_type"    />
     </resultMap>
 
     <sql id="selectArdRouteMissionVo">
@@ -27,7 +28,8 @@
                update_by,
                update_time,
                execute_by,
-               execute_time
+               execute_time,
+               task_type
         from ard_route_mission
     </sql>
 
@@ -39,6 +41,7 @@
             <if test="executeStatus != null  and executeStatus != ''"> and execute_status = #{executeStatus}</if>
             <if test="executeBy != null  and executeBy != ''"> and execute_by = #{executeBy}</if>
             <if test="executeTime != null "> and execute_time = #{executeTime}</if>
+            <if test="taskType != null  and taskType != ''"> and task_type = #{taskType}</if>
         </where>
         order by create_time asc
     </select>
@@ -62,6 +65,7 @@
             <if test="updateTime != null">update_time,</if>
             <if test="executeBy != null">execute_by,</if>
             <if test="executeTime != null">execute_time,</if>
+            <if test="taskType != null">task_type,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -74,6 +78,7 @@
             <if test="updateTime != null">#{updateTime},</if>
             <if test="executeBy != null">#{executeBy},</if>
             <if test="executeTime != null">#{executeTime},</if>
+            <if test="taskType != null">#{taskType},</if>
          </trim>
     </insert>
 
@@ -89,6 +94,7 @@
             <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="executeBy != null">execute_by = #{executeBy},</if>
             <if test="executeTime != null">execute_time = #{executeTime},</if>
+            <if test="taskType != null">task_type = #{taskType},</if>
         </trim>
         where id = #{id}
     </update>

--
Gitblit v1.9.3