Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.
目录
概述
需求:
工作流引擎有两个重要的表. WF_GenerWorkFlow, WF_GenerWorkerList.
如下图所示.
WF_GenerWorkFlow 流程引擎控制表,启动一个流程的时候就插入一笔数据所以WorkID 是主键,重要的几个字段如下:
WFState 流程状态 0=空白,1=草稿,2=运行中,3=已完成,5=退回.
FK_Node 停留节点.
NodeName 停留节点名称.
TodoEmps 当前的待办人员.
WF_GenerWorkerList 是一个工作人员列表.
WorkID + FK_Node + FK_Emp 是主键.
2.1 如果这个流程结束了,该表的workid的数据将会被清除掉.
2.2 该表的数据是在节点的运动过程中产生的.
2.2 IsPass字段是当前节点的待办的状态.
2.3 IsRead 标识当前工作是否被读取.
待办工作:一个人的待办是通过这个两个表关联查询出来的,系统有一个视图WF_EmpWorks 您可以研究一下,当然我们可以根据如下SQL查询出来一个人的待办工作.
SELECT A.WorkID, A.Title, A.FK_Node, A.NodeName FROM WF_GenerWorkFlow A, WF_GenerWorkerList B WHERE A.WorkID=B.WorkID AND A.WFState IN (2,4) AND B.FK_Emp=‘zhangsan’ ;
在途工作:一个人的在途,就是他参与的工作,并且该流程没有结束.
SELECT DISTINCT A.WorkID, A.Title,A.FK_Flow, A.FK_Node, A.NodeName FROM WF_GenerWorkFlow A, WF_GenerWorkerList B WHERE A.WorkID=B.WorkID AND B.FK_Emp=‘zhangsan’ AND IsPass!=0
发起查询: 我发起的工作 , WFState 0=空白,1=草稿,所以要排除这两个。
SELECT * FROM WF_GenerWorkFlow WHERE WFState >1 AND Starter=‘zhangsan’
我的草稿: 要了解什么是草稿,参考流程属性,草稿规则, WFState=1 是草稿。
SELECT * FROM WF_GenerWorkFlow WHERE WFState =1 AND Starter=‘zhangsan’
流程运维.
系统运行过程中难免遇到流程出错,我们就需要对该数据进行手工的调整.
在流程属性里我们有,很多方法来运维流程比如: 回滚、调整、移交…
如果您了解了这两个表的表结构,修改数据应该很轻松了.
其他:
对于流程运维,我们提供了可视化的功能操作页面.
路径:流程设计器=》流程属性=》流程运维.
参考资料和推荐阅读
- 暂无
欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~