审批业务

前置知识
审批流程步骤:
  1. 确定业务流程
  2. 绘制流程图
  3. 启动流程引擎
  4. 提交创建审批流
  5. 审批节点处理
  6. 审批结果处理:根据结果可以流转到不同分支
  7. 审批记录保存
相关名词术语:
  1. 流程模型:即绘图的流程图,可生成xml文件。
  2. 流程实例(Process Instance):在一个流程模型定义下启动的一个实例,一个模型可以生成多个实例。
  3. 事件(Event):流程的起点或结束等等
  4. 任务本地变量(Task Local Variable):某个任务中使用的变量,这些变量只在该任务中有效。
  5. 流程变量(Process Variable):流程中使用的变量,这些变量可以在流程中的任何地方使用。
  6. 任务(Task):流程中需要完成的一个具体的任务,如审批需要绑定某个结果变量(如approved)。
  7. 排他网关(Exclusive Gateway):用于根据流程实例的数据来决定流程的后续走向,如审批会根据approved变量选择后续某个分支进行流转
相关API:

WorkFlow为我们提供了相关的操作业务类

  1. TaskService:用于管理任务的API,包括查询任务、完成任务、指派任务等。
  2. HistoryService:用于查询历史数据的API,包括查询流程实例历史、查询任务历史、查询变量历史等。
  3. RepositoryService:用于管理流程定义的API,包括部署流程、查询流程定义、删除流程定义等。
  4. RuntimeService:用于管理流程实例的API,包括启动流程实例、查询流程实例、暂停流程实例等。
  5. FormService:用于管理表单的API,包括渲染表单、提交表单等。
  6. IdentityService:用于管理用户和组的API,包括创建用户、删除用户、查询用户组等。
  7. ManagementService:用于管理流程引擎的API,包括查询流程引擎配置、查询数据库信息等。
实战练习
银行保险审批流程(基于角色):
1.确定业务流程

审批流程分为两级审批,提交审批后先交由核保员审批,审批通过后再交由领导审批,若核保员审批不通过则直接结束

2.绘制流程图

用工作流实现审批Java_API

3.启动流程引擎

流程引擎会解析某路径下的流程模型文件

4.提交创建审批流

注 创建时需要传入流程模型id,可在xml文件中查看

创建后可返回流程实例与申请单绑定,以便于后续的查询

5.审批节点处理

审批时需要传入角色Code,与任务所绑定的候选组进行匹对,方有权限审批

审批即根据传入的结果,对任务绑定结果变量approved

6.审批结果处理:

网关会根据变量的值选择对应分支(流程图中设置的流条件)