| | |
| | | package org.dromara.workflow.controller; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.convert.Convert; |
| | | import jakarta.validation.constraints.NotBlank; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | import org.dromara.common.mybatis.core.page.TableDataInfo; |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.common.web.core.BaseController; |
| | | import org.dromara.workflow.domain.WfTaskBackNode; |
| | | import org.dromara.workflow.domain.bo.*; |
| | | import org.dromara.workflow.domain.vo.TaskVo; |
| | | import org.dromara.workflow.domain.vo.VariableVo; |
| | | import org.dromara.workflow.service.IActTaskService; |
| | | import org.dromara.workflow.utils.WorkflowUtils; |
| | | import org.dromara.workflow.service.IWfTaskBackNodeService; |
| | | import org.dromara.workflow.utils.QueryUtils; |
| | | import org.flowable.engine.TaskService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | @RequestMapping("/workflow/task") |
| | | public class ActTaskController extends BaseController { |
| | | |
| | | @Autowired(required = false) |
| | | private TaskService taskService; |
| | | private final IActTaskService actTaskService; |
| | | |
| | | private final TaskService taskService; |
| | | private final IWfTaskBackNodeService wfTaskBackNodeService; |
| | | |
| | | |
| | | /** |
| | |
| | | @Log(title = "任务管理", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/startWorkFlow") |
| | | public R<Map<String, Object>> startWorkFlow(@RequestBody StartProcessBo startProcessBo) { |
| | | public R<Map<String, Object>> startWorkFlow(@Validated(AddGroup.class) @RequestBody StartProcessBo startProcessBo) { |
| | | Map<String, Object> map = actTaskService.startWorkFlow(startProcessBo); |
| | | return R.ok("提交成功", map); |
| | | } |
| | |
| | | @Log(title = "任务管理", businessType = BusinessType.INSERT) |
| | | @RepeatSubmit() |
| | | @PostMapping("/backProcess") |
| | | public R<String> backProcess(@RequestBody BackProcessBo backProcessBo) { |
| | | return R.ok(actTaskService.backProcess(backProcessBo)); |
| | | public R<String> backProcess(@Validated({AddGroup.class}) @RequestBody BackProcessBo backProcessBo) { |
| | | return R.ok("操作成功", actTaskService.backProcess(backProcessBo)); |
| | | } |
| | | |
| | | /** |
| | | * 获取流程状态 |
| | | * 获取当前任务 |
| | | * |
| | | * @param taskId 任务id |
| | | */ |
| | | @GetMapping("/getBusinessStatus/{taskId}") |
| | | public R<String> getBusinessStatus(@PathVariable String taskId) { |
| | | return R.ok("操作成功", WorkflowUtils.getBusinessStatusByTaskId(taskId)); |
| | | @GetMapping("/getTaskById/{taskId}") |
| | | public R<TaskVo> getTaskById(@PathVariable String taskId) { |
| | | return R.ok(QueryUtils.getTask(taskId)); |
| | | } |
| | | |
| | | |
| | |
| | | public R<Void> updateAssignee(@PathVariable String[] taskIds, @PathVariable String userId) { |
| | | return toAjax(actTaskService.updateAssignee(taskIds, userId)); |
| | | } |
| | | |
| | | /** |
| | | * 查询流程变量 |
| | | * |
| | | * @param taskId 任务id |
| | | */ |
| | | @GetMapping("/getInstanceVariable/{taskId}") |
| | | public R<List<VariableVo>> getProcessInstVariable(@PathVariable String taskId) { |
| | | return R.ok(actTaskService.getInstanceVariable(taskId)); |
| | | } |
| | | |
| | | /** |
| | | * 获取可驳回得任务节点 |
| | | * |
| | | * @param processInstanceId 流程实例id |
| | | */ |
| | | @GetMapping("/getTaskNodeList/{processInstanceId}") |
| | | public R<List<WfTaskBackNode>> getNodeList(@PathVariable String processInstanceId) { |
| | | return R.ok(CollUtil.reverse(wfTaskBackNodeService.getListByInstanceId(processInstanceId))); |
| | | } |
| | | |
| | | /** |
| | | * 查询工作流任务用户选择加签人员 |
| | | * |
| | | * @param taskId 任务id |
| | | */ |
| | | @GetMapping("/getTaskUserIdsByAddMultiInstance/{taskId}") |
| | | public R<String> getTaskUserIdsByAddMultiInstance(@PathVariable String taskId) { |
| | | return R.ok("操作成功", actTaskService.getTaskUserIdsByAddMultiInstance(taskId)); |
| | | } |
| | | |
| | | /** |
| | | * 查询工作流选择减签人员 |
| | | * |
| | | * @param taskId 任务id |
| | | */ |
| | | @GetMapping("/getListByDeleteMultiInstance/{taskId}") |
| | | public R<List<TaskVo>> getListByDeleteMultiInstance(@PathVariable String taskId) { |
| | | return R.ok(actTaskService.getListByDeleteMultiInstance(taskId)); |
| | | } |
| | | |
| | | } |