Xiajijian
2026-01-28 71f1ecb26bc9f8f92be176bb03052212beff221a
1. 航线任务测试时所需优化项,增加业务逻辑判断。
4 files modified
45 ■■■■■ changed files
ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java 3 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/domain/route/ArdRouteMission.java 7 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
ard-route/src/main/resources/mapper/ArdRouteMissionMapper.xml 8 ●●●●● patch | view | raw | blame | history
ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInfo.java
@@ -33,8 +33,7 @@
     * 航线类型
     * 1:逐点巡检
     * 2:沿线巡检
     * 3:任务航线
     * 4:巡检航线
     * 3:巡检航线
     * */
    private String type;
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;
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);
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>