關于工作流引擎取回審批的設計方案與實現過程
關于工作流引擎取回審批的設計方案與實現過程
需求背景
------------------
0, 本文中盡量避免審批概念,因為在我們認為沒有審批節點或者審核節點,任何節點都是數據采集.
1, 取回處理,也可以稱呼為提前處理,是對于擁有絕對審批權限的人,為了工作的需要直接的從下屬工作人員中取回工作而直接處理。
2,這種做法是違反規范的,但是在一些場景下是需要的。比如:
1, 下屬長期不處理。
2, 下屬在外地.
3, 特殊的情況下不需要讓特定下屬知道此事件.
可能遇到的情況:
-------------------
1, 被取回的點有多個人處理?
2, 什么樣的數據范圍可以被取回? 怎么去控制?
3, 工作流程引擎是不完全計算下幾步驟的處理人員的.
4, 特殊權利的節點需要,需要指定,并且訪問規則 必須是按人員,或者按崗位.
處理方案:
--------------------
1, 此功能需要后臺設置與前臺處理兩大部分.
2, 后臺設置,要選擇特殊權限的節點,此節點不能是開始節點也不能是第二個節點.
3, 以特殊權限的節點,確定可以取回工作的節點,一個特殊的節點可以對應多個可以取回工作的節點。
CCFlow工作流引擎處理案例.
--------------------
1, 增加了一個類 D:\ccflow\Components\BP.WFV4\WF\Personalize\GetTask.cs
此類映射到WF_Node物理表.
2, 在流程設計器里增加一個工作取回規則設置.
http://localhost/ccflow/WF/Admin/Personalize/GetTask.aspx ,用來設置取回處理的工作規則.
3, 在前臺增加了取回處理工作界面
http://localhost/ccflow/WF/GetTask.aspx
它的操作步驟:
1, 首先選擇要處理的流程.
2, 系統就會列出來可以取回的點,根據系統設置的規則,如果是空的,則此人沒有此權限.
4, 取回處理就類于跳轉發送,直接放在當前操作人中的待辦工作里.
-- OVER --