xiangpei
2025-02-14 c5dafd7dba14635643b4340597fb14c563c8dc7e
挂起任务接口
4个文件已修改
2个文件已添加
107 ■■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProjectProcessController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/TaskHangupForm.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/json/HangupData.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProjectProcessService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProjectProcessController.java
@@ -119,4 +119,11 @@
    public Result taskSupervise(@Validated @RequestBody TaskSuperviseForm form) {
        return projectProcessService.taskSupervise(form);
    }
    @PostMapping("/detail/task/hangup")
    @ApiOperation(value = "挂起任务", notes = "挂起任务")
//    @PreAuthorize("@ss.hasPermi('projectProcess:detail')")
    public Result taskHangup(@Validated @RequestBody TaskHangupForm form) {
        return projectProcessService.taskHangup(form);
    }
}
business/src/main/java/com/ycl/domain/form/TaskHangupForm.java
New file
@@ -0,0 +1,39 @@
package com.ycl.domain.form;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @author:xp
 * @date:2024/12/13 13:51
 */
@Data
@ApiModel("任务挂起表单")
public class TaskHangupForm {
    /**
     * 当前任务id
     *
     */
    @ApiModelProperty("任务id")
    private String taskId;
    /**
     * 挂起原因
     *
     */
    @ApiModelProperty("挂起原因")
    private String reason;
    @ApiModelProperty("项目id")
    private Long projectId;
    /**
     * 流程实例id
     *
     */
    @ApiModelProperty("流程实例id")
    private String processInsId;
}
business/src/main/java/com/ycl/domain/json/HangupData.java
New file
@@ -0,0 +1,22 @@
package com.ycl.domain.json;
import lombok.Data;
import java.util.Date;
/**
 * 挂起任务数据
 *
 * @author:xp
 * @date:2025/2/14 15:06
 */
@Data
public class HangupData {
    /** 原因 */
    private String reason;
    public HangupData(String reason) {
        this.reason = reason;
    }
}
business/src/main/java/com/ycl/service/ProjectProcessService.java
@@ -105,5 +105,19 @@
     */
    Result taskJump(TaskJumpForm form);
    /**
     * 督办任务
     *
     * @param form
     * @return
     */
    Result taskSupervise(TaskSuperviseForm form);
    /**
     * 挂起任务
     *
     * @param form
     * @return
     */
    Result taskHangup(TaskHangupForm form);
}
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -20,10 +20,9 @@
import com.ycl.common.utils.SecurityUtils;
import com.ycl.constant.TaskTypeConstant;
import com.ycl.domain.entity.*;
import com.ycl.domain.form.TaskDelegationForm;
import com.ycl.domain.form.TaskJumpForm;
import com.ycl.domain.form.TaskSuperviseForm;
import com.ycl.domain.form.*;
import com.ycl.domain.json.DelegateData;
import com.ycl.domain.json.HangupData;
import com.ycl.domain.json.JumpData;
import com.ycl.domain.json.SuperviseData;
import com.ycl.domain.vo.CustomerTaskVO;
@@ -35,7 +34,6 @@
import com.ycl.service.*;
import com.ycl.common.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.domain.form.ProjectProcessForm;
import com.ycl.domain.vo.ProjectProcessVO;
import com.ycl.domain.query.ProjectProcessQuery;
import com.ycl.service.common.TaskCommonService;
@@ -670,6 +668,23 @@
        return Result.ok("操作成功");
    }
    @Override
    public Result taskHangup(TaskHangupForm form) {
        Task task = taskService.createTaskQuery().taskId(form.getTaskId()).singleResult();
        // 任务挂起只需要存日志,查询待办时如果有这个日志记录,则禁用提交按钮,以此实现任务挂起
        publisher.publishEvent(new TaskLogEvent(this,
                null,
                SecurityUtils.getUserId(),
                form.getProjectId(),
                form.getProcessInsId(),
                form.getTaskId(),
                task.getName(),
                ProcessLogEventTypeEnum.HANGUP,
                new HangupData(form.getReason())
                ));
        return Result.ok("操作成功");
    }
    /**
     * 查询待办任务
     *
common/src/main/java/com/ycl/common/enums/business/ProcessLogEventTypeEnum.java
@@ -19,6 +19,8 @@
    TEAM_WORK("TEAM_WORK", "协同办理"),
    JUMP("JUMP", "跳过"),
    SUPERVISE("SUPERVISE", "督办"),
    HANGUP("HANGUP", "挂起"),
    CANCEL_HANGUP("CANCEL_HANGUP", "取消挂起"),
    ;