package com.aizuda.boot.modules.flw.controller; import com.aizuda.boot.modules.flw.FlowHelper; import com.aizuda.boot.modules.flw.entity.dto.*; import com.aizuda.boot.modules.flw.entity.vo.*; import com.aizuda.boot.modules.flw.service.IProcessTaskService; import com.aizuda.core.api.ApiController; import com.aizuda.core.api.PageParam; import com.baomidou.kisso.annotation.Permission; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.simpleframework.xml.core.Validate; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 流程任务 前端控制器 * * @author 青苗 * @since 2023-12-11 */ @Tag(name = "流程任务") @RestController @AllArgsConstructor @RequestMapping("/v1/process-task") public class ProcessTaskController extends ApiController { private IProcessTaskService processTaskService; @Operation(summary = "待认领任务分页列表") @Permission("flw:processTask:pagePendingClaim") @PostMapping("/page-pending-claim") public Page pagePendingClaim(@RequestBody PageParam pageParam) { return processTaskService.pagePendingClaim(pageParam); } @Operation(summary = "待审批任务分页列表") @Permission("flw:processTask:pagePendingApproval") @PostMapping("/page-pending-approval") public Page pagePendingApproval(@RequestBody PageParam pageParam) { return processTaskService.pagePendingApproval(pageParam); } @Operation(summary = "我收到的任务分页列表") @Permission("flw:processTask:pageMyReceived") @PostMapping("/page-my-received") public Page pageMyReceived(@RequestBody PageParam pageParam) { return processTaskService.pageMyReceived(pageParam); } @Operation(summary = "我的申请任务分页列表") @Permission("flw:processTask:pageMyApplication") @PostMapping("/page-my-application") public Page pageMyApplication(@RequestBody PageParam pageParam) { return processTaskService.pageMyApplication(pageParam); } @Operation(summary = "已审批任务分页列表") @Permission("flw:processTask:pageApproved") @PostMapping("/page-approved") public Page pageApproved(@RequestBody PageParam pageParam) { return processTaskService.pageApproved(pageParam); } @Operation(summary = "审批信息") @Permission("flw:processTask:approval") @PostMapping("/approval-info-{taskId}") public TaskApprovalVO approvalInfo(@PathVariable("taskId") Long taskId) { return processTaskService.approvalInfo(taskId); } @Operation(summary = "审批评论") @Permission("flw:processTask:approval") @PostMapping("/comment") public boolean comment(@Validated @RequestBody TaskApprovalDTO dto) { return processTaskService.comment(dto); } @Operation(summary = "审批同意") @Permission("flw:processTask:approval") @PostMapping("/consent") public boolean consent(@Validated @RequestBody TaskApprovalDTO dto) { return processTaskService.consent(dto); } @Operation(summary = "审批拒绝") @Permission("flw:processTask:approval") @PostMapping("/rejection") public boolean rejection(@Validated @RequestBody TaskApprovalDTO dto) { return processTaskService.rejection(dto); } @Operation(summary = "设置已阅读") @Permission("flw:processTask:viewed") @PostMapping("/viewed-{taskId}") public boolean viewed(@PathVariable("taskId") Long taskId) { return processTaskService.viewed(taskId); } @Operation(summary = "拿回任务") @Permission("flw:processTask:reclaim") @PostMapping("/reclaim-{taskId}") public boolean reclaim(@PathVariable("taskId") Long taskId) { return processTaskService.reclaim(taskId, FlowHelper.getFlowCreator()); } @Operation(summary = "认领任务") @Permission("flw:processTask:resume") @PostMapping("/claim-{taskId}") public boolean claim(@PathVariable("taskId") Long taskId) { return processTaskService.claim(taskId, FlowHelper.getFlowCreator()); } @Operation(summary = "转办任务") @Permission("flw:processTask:transfer") @PostMapping("/transfer") public boolean transfer(@Validate @RequestBody TaskAssigneeDTO dto) { return processTaskService.transfer(dto); } @Operation(summary = "委派任务") @Permission("flw:processTask:resume") @PostMapping("/delegate") public boolean delegate(@Validate @RequestBody TaskAssigneeDTO dto) { return processTaskService.delegate(dto); } @Operation(summary = "执行任务") @Permission("flw:processTask:execute") @PostMapping("/execute") public boolean execute(@Validate @RequestBody ExecuteTaskDTO dto) { return processTaskService.execute(dto); } @Operation(summary = "驳回至上一步任务") @Permission("flw:processTask:reject") @PostMapping("/reject") public boolean reject(@Validate @RequestBody RejectTaskDTO dto) { return processTaskService.reject(dto); } @Operation(summary = "审批加签") @Permission("flw:processTask:appendNode") @PostMapping("/append-node") public boolean appendNode(@Validate @RequestBody TaskAppendNodeDTO dto) { return processTaskService.appendNode(dto); } @Operation(summary = "查询流程实例ID的审批历史") @Permission("flw:processTask:reject") @PostMapping("/list-his-task/{instanceId}") public List listHisTask(@PathVariable("instanceId") Long instanceId) { return processTaskService.listHisTaskByInstanceId(instanceId); } }