camunda-流程实例

camunda-流程实例

当流程定义部署之后,申请人就可以发起流程实例了

  • 流程发起
  • 完成节点任务
  • 任务转发

ProcessInstanceController

@RestController
public class ProcessInstanceController {

    @Autowired
    private RuntimeService runtimeService;

    @Autowired
    private TaskService taskService;


    /**
     * 流程发起
     * @param dto
     * @return: 返回 Definition ID
     */
    @PostMapping("/process/instance/start")
    public String startProcess(@RequestBody StartProcessRequestDto dto){
        ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(dto.getProcessDefinitionKey(), dto.getBusinessKey(), dto.getParams());
        return processInstance.getProcessInstanceId();
    }


    /**
     * 完成节点任务
     * @param dto
     * @return
     */
    @PostMapping("/process/task/complete")
    public String completeTask(@RequestBody CompleteTaskRequestDto dto){
        taskService.complete(dto.getTaskId());
        return "success";

    }

    /**
     * 任务转发
     * @param dto
     * @return
     */
    @PostMapping("/process/task/transfer")
    public String transferTask(@RequestBody TransferTaskRequestDto dto){
        taskService.setAssignee(dto.getTaskId(), dto.getUserId());
        return "success";

    }

}
StartProcessRequestDto
@Data
public class StartProcessRequestDto {

    /**
     * 流程定义key
     */
    private String processDefinitionKey;

    /**
     * 业务 key
     */
    private String businessKey;


    /**
     * 流程变量,比如审批人等等
     */
    private Map<String,Object> params;
}
CompleteTaskRequestDto
@Data
public class CompleteTaskRequestDto {
    /**
     * 流程实例Id
     */
    private String processInstanceId;

    /**
     * 任务节点
     */
    private String taskId;
}

TransferTaskRequestDto
@Data
public class TransferTaskRequestDto {

    /**
     * 任务Id
     */
    private String taskId;
    /**
     * 用户
     */
    private String userId;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值