[开源.net工作流引擎] 关于工作流引擎取回审批的设计方案与实现过程

ccflow 2012-06-24
关于工作流引擎取回审批的设计方案与实现过程

需求背景
------------------
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 --



  
Global site tag (gtag.js) - Google Analytics