# 审批流程设计

📆 2021-12-14 12:50

# 表设计

workflow 流程

字段名 注释
workflow_id PK
name 流程名

workflow_detail 流程详情

字段名 注释
workflow_detail_id PK
workflow_id
name 节点名称
serial_number 流程序号
post_id 处理人ID/部门ID

workflow_order 审批单

字段名 注释
workflow_order_id PK
workflow_id
create_user_id 创建人
status 0 待审批 1 审批中 2 已结束
create_time 创建时间

workflow_record 审批记录

字段名 注释
workflow_record_id PK
workflow_id
workflow_order_id
serial_number 流程序列号
assign_user_id 指派的处理人
handle_status 处理状态 0 未处理 1 同意 2 驳回
handle_remark 处理备注
handle_time 处理时间
create_time

# 思路

workflow 跟 workflow_detail 是流程定义,一个 workflow 对应多个 workflow_detail,定义该流程总共有多少步(记录数)、先后顺序(serial_number)、每一步该由谁来处理(post_id)。

可以把 workflow 跟 workflow_detail 看成配置文件。

定义好 workflow 之后,就可以发起 workflow 对应的审批单了。

workflow_order 可以自行扩展,表示审批单主体。

workflow_record 就是审批单的审批记录,当一个审批单创建好后,立马创建一条审批记录。

workflow_record
审批记录1

申请通过后,查询 workflow_detail 中是否有下一个节点(serial_number),如果有,创建第二条记录

workflow_record
审批记录1
审批记录2

当 workflow_detail 中不存在下一个节点(serial_number)时,审批完成。

最后更新于: 8/17/2022, 3:46:50 PM