審批流程數據庫設計
要做一個通用的流程系統,大概應建立如下數據表:
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 | 審批日期 |

浙公網安備 33010602011771號