时间:2021-07-01 10:21:17 帮助过:136人阅读
要做一个通用的流程系统,大概应建立如下数据表:
1. 流程表(tbl_flow)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| flow_id | int | 流程编号,主键 | 
| flow_no | int | 流程号,唯一列 | 
| flow_name | varchar2(100) | 流程名称 | 
| remark | varchar2(500) | 备注 | 
示例数据:
| flow_id | flow_no | flow_name | remark | 
|---|---|---|---|
| 1 | 5 | 请假流程 | 请假流程 | 
| 2 | 10 | 报销流程 | 报销流程 | 
2. 流程节点表(tbl_flow_node)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| flow_node_id | int | 流程节点编号,主键 | 
| flow_no | int | 流程号,与流程表对应 | 
| flow_node_name | varchar2(100) | 流程节点名称 | 
| flow_node_role | varchar2(100) | 流程角色 | 
| remark | varchar2(500) | 备注 | 
示例数据:
| flow_node_id | flow_no | flow_node_name | flow_node_role | remark | 
|---|---|---|---|---|
| 1 | 5 | 提交请假单 | 无 | 提交请假单 | 
| 2 | 5 | 部门经理审批 | 部门经理 | 部门经理审批 | 
| 3 | 5 | 总经理审批 | 总经理 | 总经理审批 | 
3. 流程线表(tbl_flow_line)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| flow_line_id | int | 流程线编号,主键 | 
| flow_no | int | 流程号,与流程表对应 | 
| prev_node_id | int | 前一节点编号 | 
| next_node_id | int | 后一节点编号 | 
| remark | varchar2(500) | 备注 | 
示例数据:
| flow_line_id | flow_no | prev_node_id | next_node_id | remark | 
|---|---|---|---|---|
| 1 | 5 | 1 | 2 | 提交部门经理审批 | 
| 2 | 5 | 2 | 3 | 提交总经理审批 | 
4. 流程角色_员工表(tbl_flow_role_user)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| flow_role_name | varchar2(100) | 流程角色名称 | 
| user_id | int | 员工编号 | 
| dept_id | int | 部门编号 | 
示例数据:
| flow_role_name | user_id | dept_id | 
|---|---|---|
| 部门经理 | 13 | 2 | 
| 部门经理 | 26 | 4 | 
| 总经理 | 3 | 1 | 
以上就是一个通用的审批流程所需要的数据表。
下面,我们来做一个简单的示例,就是请假审批。
需要为请假审批额外增加两张表,其中一张表对应于请假单,但除了请假单的必需数据外,还增加了“流程号”和“当前节点编号”两个字段;另一张表用于记录审批过程中的审批意见。
5. 请假表(tbl_leave)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| leave_id | int | 请假编号,主键 | 
| user_id | int | 请假人编号 | 
| user_name | varchar2(100) | 请假人姓名 | 
| leave_type | varchar2(100) | 请假类型(病假、事假) | 
| leave_reason | varchar2(500) | 请假原因 | 
| start_date | date | 开始日期 | 
| end_date | date | 终止日期 | 
| add_date | date | 提交日期 | 
| flow_no | int | 流程号 | 
| current_node | int | 当前节点编号 | 
补充:再增加一个字段state,用于表示请假单状态,0表示草稿,1表示已提交审批,2表示审批结束。
6. 请假审批表(tbl_leave_audit)
| 字段名 | 数据类型 | 备注 | 
|---|---|---|
| audit_id | int | 审批编号,主键 | 
| leave_id | int | 请假编号,与请假表对应 | 
| flow_node_id | int | 节点编号 | 
| user_id | int | 审批人编号 | 
| user_name | varchar2(100) | 审批人姓名 | 
| audit_info | varchar2(500) | 审批意见 | 
| audit_date | date | 审批日期 | 
审批流程数据库设计
标签:数据库设计 line 简单的 主键 示例 经理 cin nbsp 名称