欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.net core增强工作流组件,基于稳定平台,多项目整合开发

程序员文章站 2022-04-01 23:37:00
...

工作流是企业信息系统的核心和灵魂,在公司管理和运转中引入审批工作流,替代原本的纸质申请和审批,可以有效提高公司的运转效率以及公司管理制度的规范化。

.net core增强工作流组件,基于稳定平台,多项目整合开发
            
    
    博客分类: 工作流企业开发 工作流多项目

通常,工作流所包含的页面内容基本上没有大的差别,更多的是在内部逻辑数据的处理上,可以关注一下几点:

一.角色

在企业中,每个人都会有自己的岗位职责和层级之分,不同的岗位和层级定位不一样,需要完成的任务也不一样。

在审批流程中,大致抽象划分为两类:

1.发起人

流程的发起人是一个流程的所有者,也是比较关心审批进展的人,发起人完成的主要是事务性、操作性的工作。从发起人的角度来说,在创建完审批事项后,还需要完善相关信息、催促审批人及时审批、处理驳回修改意见、重新提交等。发起人角度设计的要点是:兼容统一发起入口和业务场景触发常用的审批事项要方便找到有统一汇总的审批管理页面。

2.审批人

审批人在流程中需要完成的主要是决策性的工作,因此在审批人的视角,内容和操作都应该尽量精简:

只看到最重要的信息,避免信息过多影响判断只进行必要操作,不能有过多选择或过多输入,影响决策效率统一的页面进行审批操作和管理需要有审批历史,以便追溯。

二. 内容

1. 提炼最小集合

根据审批事项的不同,流转内容也会有所不同。对于审批流程的设计来说,需要在实际业务中提炼出最核心的内容,一则可以减轻发起人的工作负担(发起一个审批要填一堆的资料相信没人会开心),二则可以提高决策的准确性和效率。

例如一个请假审批流程,核心就是请假时间、事由和请假类型;而一个立项投决的审批,则需要重点展示立项会的表决结果,同时还需要把会议记录做为附件带上,以便在必要时可以查看,在交互上,这里同样需要注意内容的归类、收纳。

设计要点总结如下:

内容尽可能精炼有些内容是必要的,但系统可以自行获取就不要让发起人再输入一遍预置常用的内容,用选择的方式替代输入的方式,同时也提高了内容的规范性。

2. 查看和修改

在审批的过程中,有时候需要让不同的审批人查看不同的内容,且限定有些人有修改权限而有些人只有只读权限,这都会在后面的“权限”里总结。

三. 流程

1. 自主选定审批人流程

这是一种比较轻量、灵活的审批流程形式,适用于公司规模不大、流程没有标准化的情况。要点是发起人发起一个审批事项并提交时,需要自行选择下一个环节的审批人。而下一个环节的审批人审批通过后,可以选择继续流转到再下一个人去审批,或者结束这个流程。

2. 串行流程

串行流程就是每一个审批环节的人审批通过后,才会进入到下一个环节。每个环节的驳回,可以根据业务需要,设计成驳回到发起人、驳回到上一个环节或驳回到指定环节重新审批,或兼而有之,做为选项供审批人选择。

3. 并行流程

并行流程是一个审批环节需要几个人或角色审批通过才算通过,可以有以下两种方式:

任意一个人审批通过即进入下一环节必须所有人审批通过才进入下一环节

上述第一个方式比较好理解,第二个方式和串行流程容易混淆,即同样是要多个人审批,到底是一个接一个、还是同时通过才算通过?到底用哪种方式,区别是审批人是不是同一个级别,并行的方式其实类似于同级别的会签,而串行方式适合有上下层级关系的情况。

并行流程的驳回则相对简单,一般是设计成有一个人驳回则该环节即算驳回。

.net core增强工作流组件,基于稳定平台,多项目整合开发
            
    
    博客分类: 工作流企业开发 工作流多项目

4. 条件触发流程

条件触发流程在审批工作流中也比较常见,设计上就是某个审批环节要由谁/或哪个角色审批,需要取决于条件判断。例如金额低于1万元由财务总监审批通过后即结束,金额在1万元以上则由副总裁审批通过后即结束。

.net core增强工作流组件,基于稳定平台,多项目整合开发
            
    
    博客分类: 工作流企业开发 工作流多项目

5. 混合流程

混合流程顾名思义就是混合了以上几种流程,还是以上述金额审批为例,我们修改成:金额低于1万元的,由财务审批通过后即结束;金额在1万元到10万元的,需要先由财务审批,之后交由副总裁审批通过后即结束;金额高于10万元的,需要由董事长和总裁一同审批通过后才结束。

.net core增强工作流组件,基于稳定平台,多项目整合开发
            
    
    博客分类: 工作流企业开发 工作流多项目

四. 动作

1. 通过

通过动作由审批人操作,是否需要输入通过原因、通过原因是否必填需要根据实际业务情况决定。总结就是:简单申请不需要填写通过原因,或者原因选填通过原因需要填的话,可用于反馈或激励发起人的情况。

2. 驳回修改

驳回修改动作由审批人操作,和通过不同,为了让发起人知道如何修改,驳回原因一般需要设定成必填项,否则发起人或上一个审批环节的人不知道为何被驳回、以及要如何修改。

驳回修改可根据业务需要,在以下逻辑中选择:

驳回到发起人驳回上一环节驳回到选定的之前的某个审批环节。

3. 重新提交

重新提交由发起人操作,和驳回修改是一一对应的。设计上要注意,审批人审批重新提交的内容时,需要附带上一次驳回修改的原因。

4. 取消

取消动作可选,一般来说是发起人取消,而不是审批人取消,原因如下:

审批人只关心一个审批事务过来后,判断并决策是通过还是驳回取消和驳回含义容易混淆,区分不开

在设计上,我们还可以做到发起人是否可取消可由配置项进行配置。

五. 权限

权限的控制贯穿在审批流程的方方面面,上述的角色、内容、流程和动作都会涉及到权限的控制。权限体系的设计是一个大工程,在审批流程中,采用基于角色的访问控制体系(RBAC)是一个不错的选择:

“基于角色的访问控制体系,包括用户、角色、目标、操作、许可权五个基本数据元素,每个角色至少具备一个权限,每个用户至少扮演一个角色,可以对完全不同的角色分配完全相同的访问权限,用户和角色是多对多的关系。”

设计要点总结如下:

操作和许可权内容,可区分为功能权限和数据权限什么人可以发起什么审批,由功能权限控制什么人/角色在整个审批流程中可见什么数据,由数据权限控制什么人/角色可以审批什么环节,由独立的审批配置控制。

六. 配置和扩展性

审批工作流的配置灵活度和开发复杂度成反比,具体要灵活到什么程度,需要由业务需求决定。一般针对公司开发的中后台系统,灵活性相对较少,而面向多个公司的商业化的系统,则灵活性要求大大提高。配置的灵活性体现在以下方面:

审批流程的类型可修改具体的审批环节可增删改各个环节审批人/角色可配置审批相关的权限可变更

七. 效率

工作流的核心目标是提高企业运行效率,如果线上审批流程效率还不如原来的纸质操作,那这个流程的设计就是失败的,也失去了意义。因此,在完成整个审批流程的设计之后,我们还需要花大精力对流程的效率进行审视和优化。对于审批流程效率的提升,总结就是:审批的操作尽可能精简,且操作含义明确只要求输入必要的表单待审批事项及时通知到审批人审批进展及时通知发起人发起人可选择主动催促审批人做好下一步操作的引导。

总结

审批流程是中后台工作流的基础应用,我们在设计的过程中,把握的核心要点是“提高效率,规范管理”,在设计过程中要时时回头审视,以免脱离了这个最重要的目标。

流程案例可参考learun敏捷开发框架,这是基于asp.net/java为基础的业务平台,可以便捷的开发出OA、ERP、CRM、MIS、SAAS、BPM、移动app、电商后台等多种比较实用的企业信息系统,详情参阅learun.cn.

牧码人.

 

相关标签: 工作流 多项目