企业信息化系统工作流引擎设计
工作流引擎架构
工作流引擎是OA系统的核心组件,负责管理流程的创建、流转、审批和归档。一个完善的工作流引擎需要支持流程建模、节点配置、规则引擎、任务分配等功能。
核心数据模型
| 表名 | 说明 |
|---|---|
| wf_process | 流程定义表 |
| wf_instance | 流程实例表 |
| wf_task | 待办任务表 |
| wf_history | 流程历史表 |
| wf_comment | 审批意见表 |
流程节点类型
- 开始节点:流程起点,一个流程只能有一个开始节点
- 结束节点:流程终点,标记流程完成
- 审批节点:单人审批、多人顺序审批、多人并行审批
- 会签节点:所有参与者都审批通过才算通过
- 或签节点:任意一人审批通过即可
- 抄送节点:仅通知,不参与审批
- 子流程节点:调用其他流程
审批规则配置
支持多种审批规则:
- 按金额:金额大于某值需要上级审批
- 按部门:特定部门走特定流程
- 按类别:不同业务类型不同审批路线
- 按时间:加急流程跳过部分节点
- 代理规则:支持委托他人代审批
实现要点
- 流程状态机管理,确保状态转换合法性
- 异步任务队列处理,避免阻塞主流程
- 定时任务扫描超时未审批任务,自动提醒
- 流程版本管理,支持流程定义升级
- 完整操作日志,便于审计追溯