吉安感知网项目-后端
linwei
2026-06-09 3ba4841f2f11d4fcadb78a4891595e9368323571
fix(task): 修复任务更新日志和工单流转处理

- 修复了更新任务失败时的日志参数缺失问题
- 修改了工单流转逻辑,使用传入的实际任务状态进行处理
- 添加了状态枚举值校验,确保只有有效状态才执行流转操作
- 统一了工单流转时的任务ID和区域代码传递参数
1 files modified
9 ■■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -746,7 +746,7 @@
        // 1. 更新当前任务状态
        boolean updateResult = updateById(auditParam);
        if (!updateResult) {
            log.warn("更新任务失败,任务ID: {}");
            log.warn("更新任务失败,任务ID: {}", auditParam.getId());
            return false;
        }
@@ -754,8 +754,11 @@
        GdPatrolTaskEntity patrolTaskEntity = Optional.ofNullable(getById(auditParam.getId()))
            .orElseThrow(() -> new RuntimeException("任务不存在,任务ID: " + auditParam.getId()));
        // 3. 保存巡查工单流转
        saveWorkOrderFlow(patrolTaskEntity.getWorkOrderId(), PatrolTaskStatusEnum.PENDING_ACCEPTANCE, null, null);
        // 3. 保存巡查工单流转(使用传入的实际状态)
        PatrolTaskStatusEnum statusEnum = PatrolTaskStatusEnum.getByValue(auditParam.getTaskStatus());
        if (statusEnum != null) {
            saveWorkOrderFlow(patrolTaskEntity.getId(), statusEnum, null, patrolTaskEntity.getAreaCode());
        }
        // 4. 查询同一个工单下的所有子任务
        List<GdPatrolTaskEntity> subTasks = list(Wrappers.<GdPatrolTaskEntity>lambdaQuery()