吉安感知网项目-后端
linwei
2026-06-09 3ba4841f2f11d4fcadb78a4891595e9368323571
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -256,7 +256,13 @@
      // 6. 判断是否审核成功,如果是,需要判断是否整个订单的子任务都审核成功了,除了被撤回和验收拒绝的
      if (auditStatus == 4) {
         // 将审核后的任务信息推送到星图
         pushXingtuFlyTask(auditParam.getId());
         R pushResult = pushXingtuFlyTask(auditParam.getId());
         // 检查推送结果,如果失败则抛出异常回滚事务
         if (pushResult != null && !pushResult.isSuccess()) {
            String errorMsg = pushResult.getMsg();
            log.error("推送星图飞行任务失败: {}", errorMsg);
            throw new RuntimeException(errorMsg + ",请更改执行时间重新提交。");
         }
         // 查询同一个工单下的所有子任务
         List<GdPatrolTaskEntity> subTasks = list(Wrappers.<GdPatrolTaskEntity>lambdaQuery()
            .eq(GdPatrolTaskEntity::getWorkOrderId, task.getWorkOrderId()));
@@ -603,7 +609,7 @@
      attach.setOriginalName(bladeFile.getOriginalName());
      attach.setAttachSize(reportFile.length());
      attach.setExtension(FileUtil.getFileExtension(reportFile.getName()));
      attach.setResultType(JSON.toJSONString(resultType));
      attach.setResultType(resultType);
      attach.setPatrolTaskId(String.valueOf(taskEntity != null ? taskEntity.getId() : null));
      Long createUser = taskEntity != null ? taskEntity.getCreateUser() : null;
      Long updateUser = taskEntity != null ? taskEntity.getUpdateUser() : null;
@@ -740,7 +746,7 @@
      // 1. 更新当前任务状态
      boolean updateResult = updateById(auditParam);
      if (!updateResult) {
         log.warn("更新任务失败,任务ID: {}");
         log.warn("更新任务失败,任务ID: {}", auditParam.getId());
         return false;
      }
@@ -748,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()