审批业务
前置知识
审批流程步骤:
- 确定业务流程
- 绘制流程图
- 启动流程引擎
- 提交创建审批流
- 审批节点处理
- 审批结果处理:根据结果可以流转到不同分支
- 审批记录保存
相关名词术语:
- 流程模型:即绘图的流程图,可生成xml文件。
- 流程实例(Process Instance):在一个流程模型定义下启动的一个实例,一个模型可以生成多个实例。
- 事件(Event):流程的起点或结束等等
- 任务本地变量(Task Local Variable):某个任务中使用的变量,这些变量只在该任务中有效。
- 流程变量(Process Variable):流程中使用的变量,这些变量可以在流程中的任何地方使用。
- 任务(Task):流程中需要完成的一个具体的任务,如审批需要绑定某个结果变量(如approved)。
- 排他网关(Exclusive Gateway):用于根据流程实例的数据来决定流程的后续走向,如审批会根据approved变量选择后续某个分支进行流转
相关API:
WorkFlow为我们提供了相关的操作业务类
- TaskService:用于管理任务的API,包括查询任务、完成任务、指派任务等。
- HistoryService:用于查询历史数据的API,包括查询流程实例历史、查询任务历史、查询变量历史等。
- RepositoryService:用于管理流程定义的API,包括部署流程、查询流程定义、删除流程定义等。
- RuntimeService:用于管理流程实例的API,包括启动流程实例、查询流程实例、暂停流程实例等。
- FormService:用于管理表单的API,包括渲染表单、提交表单等。
- IdentityService:用于管理用户和组的API,包括创建用户、删除用户、查询用户组等。
- ManagementService:用于管理流程引擎的API,包括查询流程引擎配置、查询数据库信息等。
实战练习
银行保险审批流程(基于角色):
1.确定业务流程
审批流程分为两级审批,提交审批后先交由核保员审批,审批通过后再交由领导审批,若核保员审批不通过则直接结束
2.绘制流程图
3.启动流程引擎
流程引擎会解析某路径下的流程模型文件
4.提交创建审批流
注 创建时需要传入流程模型id,可在xml文件中查看
创建后可返回流程实例与申请单绑定,以便于后续的查询
5.审批节点处理
审批时需要传入角色Code,与任务所绑定的候选组进行匹对,方有权限审批
审批即根据传入的结果,对任务绑定结果变量approved
6.审批结果处理:
网关会根据变量的值选择对应分支(流程图中设置的流条件)