Activiti工作流引擎开发实例详解 简单流程开发
请假流程图
流程图
创建用户和角色
新建请假表
发起请假流程
1.查询出业务表的ID(编号)
2.发起审批
3.查询待办流程
2.发起请假申请:RuntimeService
RuntimeService:提供了处理流程实例不同步骤的结构和行为。包括启动流程实例、暂停和激活流程实例等功能
2.1启动请假。
/**
* 启动流程
* @param userId
* @return
*/
@RequestMapping(value = "/start", method = RequestMethod.GET)
public Map<String, Object> start(@RequestParam String userId){
Map<String, Object> vars = new HashMap<>();
Leave leave = new Leave();
leave.setUserId(userId); //当前用户ID
vars.put("leave",leave);
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("leave1",vars);
Map<String, Object> resultMap = new HashMap<>();
return resultMap;
}
3.
图例说明
主键ID:流程定义中节点的唯一标识
名称(Name):
描述信息(documentation):
异步:
同步情况下,完成节点任务和验证下一节点的地址是在同一事务中进行,所以当中如果发生异常,就会回滚当前事务,回滚已完成的任务,重新开始执行。如果勾选了异步,则一个节点完成了就提交事务,不依赖于下一个节点。也就是说不管下一个节点发生了什么,都不关已完成节点的事。完成任务在一个事务中进行,验证下一个节点的地址操作交给定时任务异步来完成。也就是说,如果设置任务是同步的,则发生异常后,会直接回滚;如果设置异步,则会单独执行和回滚
互斥任务:
执行监听器:
多实例类型:
基数(多实例):
集合(多实例):
元素变量(多实例):
完成条件(多实例)
是否补偿:
分配用户(assignee):
表单编号:
到期时间:
优先级:
表单属性:
任务监听器:
参考文章:
https://blog.csdn.net/qq_49045151/article/details/121209349