吉安感知网项目-后端
linwei
2026-06-09 ba492228245ec55faf70687de147c20fd8ba4f9a
feat(workorder): 根据执行结果动态设置巡查任务状态

- 添加 success 字段到 IdParam 参数类
- 实现根据执行结果设置不同任务状态的逻辑
- 执行成功时设置为待验收状态,执行失败时设置为待签收状态
- 更新 API 文档说明参数含义和默认行为
- 添加详细的代码注释说明状态转换规则
2 files modified
22 ■■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/common/IdParam.java 8 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java 14 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/common/IdParam.java
@@ -38,4 +38,12 @@
    @NotNull(message = "主键ID不能为空")
    private    Long id;
    /**
     * 执行是否成功(可选字段,仅用于特定接口)
     * true: 执行成功,状态设置为待验收(PENDING_ACCEPTANCE)
     * false: 执行失败,状态设置为待签收(PENDING_SIGNING)
     */
    @ApiModelProperty(value = "执行是否成功,true=成功(待验收),false=失败(待签收)")
    private Boolean success;
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -152,10 +152,13 @@
    /**
     * 巡查任务执行完成-对外
     * 根据执行结果设置不同状态:
     * - 执行成功(success=true或不传): 状态设置为待验收(PENDING_ACCEPTANCE)
     * - 执行失败(success=false): 状态设置为待签收(PENDING_SIGNING)
     */
    @PostMapping("/auditExternal")
    @ApiOperationSupport(order = 11)
    @ApiOperation(value = "巡查任务执行完成-对外", notes = "只能使用执行完成操作")
    @ApiOperation(value = "巡查任务执行完成-对外", notes = "根据执行结果设置不同状态,不传success默认为成功")
    public R auditExternal(@Valid @RequestBody IdParam param) {
        log.info("巡查任务执行完成-对外:{}", param);
        if (param.getId() == null) {
@@ -163,7 +166,14 @@
        }
        GdPatrolTaskEntity auditParam = new GdPatrolTaskEntity();
        auditParam.setId(param.getId());
        auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue());
        // 根据执行结果设置不同状态,不传success默认为成功
        if (param.getSuccess() == null || Boolean.TRUE.equals(param.getSuccess())) {
            // 执行成功(或不传),设置为待验收状态
            auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue());
        } else {
            // 执行失败,设置为待签收状态
            auditParam.setTaskStatus(PatrolTaskStatusEnum.PENDING_SIGNING.getValue());
        }
        return R.status(gdPatrolTaskService.updatePatrolTaskById(auditParam));
    }