審批流程數據庫設計


要做一個通用的流程系統,大概應建立如下數據表:

  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 審批日期


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM