# 流程事务API调用示例
# 流程中存在或签的审批任务
场景示例:信息填报,学生提交个人信息到信息办,多位老师参与审批,其中一位老师审批即可。
API调用步骤:发起一条待办,指定一个/多个应办人,其中一人完成待办即可,具体如下图:
# 1. 创建待办
调用创建待办接口,创建一条新的待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 后续 在用户端查看待办
用户(应办人)登录用户端,在前台查看待办,并进行后续操作。
# 2. 办理待办
一人完成待办,那么这条事务就完成了,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = end(事务状态自动更新为已办结)。
# 流程中存在会签的审批任务
场景示例:文件签章,项目有三位负责人,文件需要其中两位负责人签字可通过。
为每人创建一条待办,各自完成待办,当完成的待办数满足了业务要求,即事务结束,具体的调用步骤如下图:
# 1. 创建待办
调用创建待办接口,为每人创建一条待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等,taskId设为同一个。
# 后续 在用户端查看待办
每个用户(应办人)各自登录用户端,在前台查看待办,并进行后续操作。
# 2. 办理待办
应办人完成待办时,对接方根据自己的业务逻辑判断是否要结束:
若完成待办的数量未达到业务要求(例如要求两人完成,只完成一人),调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办,不影响其它待办)。
若完成待办的数量已达到业务要求,那么这条事务就完成了,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = end(完成当前待办,同时将其他未完成的待办删除,事务状态更新为已办结)。
# 流程中存在串行的审批任务
场景示例:费用报销,发起报销流程,需要经过领导、财务、老板逐个的审批。
按创建待办、完成待办、创建待办、完成待办的顺序进行,具体的调用步骤如下图:
# 1. 创建待办
调用创建待办接口,创建第一条待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 后续 在用户端查看待办
用户(应办人)登录用户端,在前台查看待办,并进行后续操作。
# 2. 办理待办
完成待办后,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办)。
使用完成&创建待办接口,除了可以完成待办,还可以同时创建一条有关联的新待办,需要在接口中设置states = next,并且设置下一条待办的参数。
# 3. 创建下一条待办(若在2.办理待办时,同时创建下一条待办,可跳过此步骤)
这一步是串行的关键,即在上一条待办完成后,创建下一条待办。
调用创建待办接口,创建一条与上条待办关联的新待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 循环 按业务串行逻辑循环2、3,直到最后一条待办
# 4. 办理待办
完成待办后,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = end(完成当前待办,事务状态更新为已办结)。
# 流程中存在并行的审批任务
场景示例:学生请假,发起请假申请,需要分别由老师、辅导员审批通过。
创建多条待办,全部待办完成时,结束并行的流程,具体的调用步骤如下图:
# 1. 创建待办
调用创建待办接口,创建多条待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 后续 在用户端查看待办
每个用户(应办人)登录用户端,在前台查看待办,并进行后续操作。
# 2. 办理待办
应办人完成待办时,对接方根据自己的业务逻辑判断并行流程是否可以结束:
若并行流程未结束,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办,不影响其它待办)。
若并行流程结束,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = end(完成当前待办,同时将其他未完成的待办删除,事务状态更新为已办结)。
# 流程中同时存在并行+串行的审批任务
具体的调用步骤如下图:
# 1. 创建待办
调用创建待办接口,创建多条待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 后续 在用户端查看待办
每个用户(应办人)登录用户端,在前台查看待办,并进行后续操作。
# 2. 办理待办
并行上面的线上,A或B完成待办,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办,不影响其它待办)。
并行下面的线上,C和D各自完成待办,分别调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办,不影响其它待办)。
使用完成&创建待办接口,除了可以完成待办,还可以同时创建一条有关联的新待办,需要在接口中设置states = next,并且设置下一条待办的参数。
# 3. 创建下一条待办(若在2.办理并行下面的线上的待办时,同时创建下一条待办,可跳过此步骤)
这一步是串行的关键,即在上一条待办完成后,创建下一条待办。
调用创建待办接口,创建一条与上条待办关联的新待办,在接口中设置待办的发起人、应办人、办理地址、查阅地址等。
# 4. 办理待办
应办人完成待办时,对接方根据自己的业务逻辑判断并行流程是否可以结束:
若并行流程未结束,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = none(仅完成当前待办,不影响其它待办)。
若并行流程结束,调用完成待办接口,将待办状态更新为已完成,同时在此接口中设置status = end(完成当前待办,同时将其他未完成的待办删除,事务状态更新为已办结)。