烧掉一个脑细胞。。。必须有一个简单的方法来做到这一点。
approval_path
approval_path_steps
applications
application_roles
requests
role_approvals
用户
requests
一个
application role
为了一个
application
approval path
approval_path_steps
. 批准路径的每个步骤的批准历史记录存储在
role_approvals
approval_path:
-> (p)approval_path_id
|
-------------------------
|
approval_path_steps: |
(p)approval_path_id --|
--> (p)sequence_nbr |
| approver |
| |
| |
| applications: |
| -> (p)application_id |
| | approval_path_id --
| |
| -------------------------
| |
| application_roles: |
| -> (p)role_id |
| | application_id ---
| |
| -------------------------
| |
| requests: |
| -> (p)request_nbr |
| | role_id ---
| | requestor
| |
| -------------------------
| |
| role_approvals: |
| (p)request_nbr ---
---- (p)sequence_nbr (NOT ACTUALLY KEYED!!! ENTERED MANUALLY!!)
approver
status
哪里
(p)
问题是:
随着时间的推移,给定审批路径的审批路径步骤已更改;已添加、删除或从一个审批者更改为另一个审批者。因此
实际上是为了一个请求
批准路径步骤
当前为请求的角色的
approval_path
.
我需要的是:
我需要查询
以这样的方式列出不同的路径
使用。所以:
role_approvals
--------------
1000 role1 1 manager approved
1000 role1 2 hr_mgr approved
1000 role1 3 app_owner approved
1001 role1 1 manager approved
1001 role1 2 hr_mgr approved
1001 role1 3 app_owner approved
1002 role1 1 app_owner approved
1002 role1 2 manager approved
:
id seq_nbr approver
-- ------- --------
1 1 manager
1 2 hr_mgr
1 3 app_owner
2 1 app_owner
2 2 manager
在“id”可以通过某种标识方式计算的地方,如何标识所采用的唯一批准路径并不重要。
有什么想法吗?
詹姆斯