① 谁用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!