通用业务系统基础平台(五) 工作流系统
3. 工作流管理: 此工作流系统已经成熟的运用到公司的业务系统上来,底层的工作流引擎是用c# 完全自主开发的。起初的考虑是,现在公司好多业务系统都有流程的控制,而且有好多的流程也是经常变动的,所以最原始的直接写在代码里控制流程的方法已经不能适应流程灵活多变的需求了,虽然现在也有许多成熟的工作流平台,比如微软的WF,但是当初主要考虑这个东西稍微有点复杂,所以打算开发一套轻型的工作流引擎,此工作流引擎只是控制流程的运转,不参与任何业务系统的工作,业务表单和业务功能放在业务系统中来做,流程的运转是通过业务表单挂载到工作流程引擎上来。此系统中的三个模块只是前期的配置工作,要结合具体的业务系统才能看到效果。
3.1 流程角色管理: 每个流程的每个环节都需要角色来参与,此角色可以是随时定义的,也可以是组织架构中的部门或人员。
3.2 流程管理:维护流程基本信息、流程中每个节点任务以及流程运转过程中要用条件判断的变量,因为流程可以是有多个分支的,哪个具体走哪个分支是不是要根据条件来判断,此变量就是用来做条件判断的。在定义任务的时候还需要选择任务的分配策略,比如是随机分配还是全部分配还是任务少先分配等,还有完成策略,比如是任一个人完成此任务算完成,还是全部人完成才算完成。
流程的任务设定
流程运转需要的变量设定
3.3 流程规则设定:前面流程基本信息有了,组成流程的各个任务也有了,那现在就要设定每个任务的先后顺序了,这样才能算一个流程,也就是要设定路径了,同时每个路径有什么样的条件也要设定 。
例如:如下图 从主管审核这个任务出发有两条路径走,一个是到经理审核 ,一个就是结束,那什么时候走经理审核这条路径呢,需要设定条件是金额大于1000时,否则就走结束这条路径。