① 誰用thinkPHP+工作流引擎設計過審批程序
本文中盡量避免審批概念,因為在我們認為沒有審批節點或者審核節點,任何節點都是數據採集.
1, 取回處理,也可以稱為提前處理,是對於擁有絕對審批許可權的人,為了工作的需要直接的從下屬工作人員中取回工作而直接處理。
2,這種做法是違反規范的,但是在一些場景下是需要的。比如:
1, 下屬長期不處理。
2, 下屬在外地.
3, 特殊的情況下不需要讓特定下屬知道此事件.
可能遇到的情況:
1, 被取回的點有多個人處理?
2, 什麼樣的數據范圍可以被取回?怎麼去控制?
3, 工作流程引擎是不完全計算下幾步驟的處理人員的.
4, 特殊權利的節點需要,需要指定,並且訪問規則必須是按人員,或者按崗位.
處理方案:
1, 此功能需要後台設置與前台處理兩大部分.
② 基於spring 輕量級工作流引擎
Snaker工作流引擎本著輕量、簡單、靈巧理念設計。
一、輕量:
1、可以不依賴主流的ioc、orm框架獨立運行(使用JDBC+Dbutils)
2、整個jar佔用170K
二、簡單:
1、流程組件簡單。
2、表設計簡單(目前只有7張表)
3、上手簡單,只需要根據實際的項目環境配置snaker.properties/snaker.xml兩個文件即可
三、靈巧:
1、擴展性:暴露較多的可擴展介面,甚至是核心的流程組件(只需在snaker.xml中增加bean的配置即可)。
2、數據持久層面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的資料庫有oracle、mysql、sqlserver。
當然,基於以上三點設計肯定會損失流程引擎的一些特性。所以Snaker目前主要針對中小型項目需要增加工作流特性的系統。
如果,你的項目中部分業務需要使用工作流而覺得JBPM、ACTIVITI開發成本太高時,可考慮Snaker!