工作流是企业信息系统的核心和灵魂,在公司管理和运转中引入审批工作流,替代原本的纸质申请和审批,可以有效提高公司的运转效率以及公司管理制度的规范化。
通常,工作流所包含的页面内容基本上没有大的差别,更多的是在内部逻辑数据的处理上,可以关注一下几点:
一.角色
在企业中,每个人都会有自己的岗位职责和层级之分,不同的岗位和层级定位不一样,需要完成的任务也不一样。
在审批流程中,大致抽象划分为两类:
1.发起人
流程的发起人是一个流程的所有者,也是比较关心审批进展的人,发起人完成的主要是事务性、操作性的工作。从发起人的角度来说,在创建完审批事项后,还需要完善相关信息、催促审批人及时审批、处理驳回修改意见、重新提交等。发起人角度设计的要点是:兼容统一发起入口和业务场景触发常用的审批事项要方便找到有统一汇总的审批管理页面。
2.审批人
审批人在流程中需要完成的主要是决策性的工作,因此在审批人的视角,内容和操作都应该尽量精简:
只看到最重要的信息,避免信息过多影响判断只进行必要操作,不能有过多选择或过多输入,影响决策效率统一的页面进行审批操作和管理需要有审批历史,以便追溯。
二. 内容
1. 提炼最小集合
根据审批事项的不同,流转内容也会有所不同。对于审批流程的设计来说,需要在实际业务中提炼出最核心的内容,一则可以减轻发起人的工作负担(发起一个审批要填一堆的资料相信没人会开心),二则可以提高决策的准确性和效率。
例如一个请假审批流程,核心就是请假时间、事由和请假类型;而一个立项投决的审批,则需要重点展示立项会的表决结果,同时还需要把会议记录做为附件带上,以便在必要时可以查看,在交互上,这里同样需要注意内容的归类、收纳。
设计要点总结如下:
内容尽可能精炼有些内容是必要的,但系统可以自行获取就不要让发起人再输入一遍预置常用的内容,用选择的方式替代输入的方式,同时也提高了内容的规范性。
2. 查看和修改
在审批的过程中,有时候需要让不同的审批人查看不同的内容,且限定有些人有修改权限而有些人只有只读权限,这都会在后面的“权限”里总结。
三. 流程
1. 自主选定审批人流程
这是一种比较轻量、灵活的审批流程形式,适用于公司规模不大、流程没有标准化的情况。要点是发起人发起一个审批事项并提交时,需要自行选择下一个环节的审批人。而下一个环节的审批人审批通过后,可以选择继续流转到再下一个人去审批,或者结束这个流程。
2. 串行流程
串行流程就是每一个审批环节的人审批通过后,才会进入到下一个环节。每个环节的驳回,可以根据业务需要,设计成驳回到发起人、驳回到上一个环节或驳回到指定环节重新审批,或兼而有之,做为选项供审批人选择。
3. 并行流程
并行流程是一个审批环节需要几个人或角色审批通过才算通过,可以有以下两种方式:
任意一个人审批通过即进入下一环节必须所有人审批通过才进入下一环节
上述第一个方式比较好理解,第二个方式和串行流程容易混淆,即同样是要多个人审批,到底是一个接一个、还是同时通过才算通过?到底用哪种方式,区别是审批人是不是同一个级别,并行的方式其实类似于同级别的会签,而串行方式适合有上下层级关系的情况。
并行流程的驳回则相对简单,一般是设计成有一个人驳回则该环节即算驳回。
4. 条件触发流程
条件触发流程在审批工作流中也比较常见,设计上就是某个审批环节要由谁/或哪个角色审批,需要取决于条件判断。例如金额低于1万元由财务总监审批通过后即结束,金额在1万元以上则由副总裁审批通过后即结束。
5. 混合流程
混合流程顾名思义就是混合了以上几种流程,还是以上述金额审批为例,我们修改成:金额低于1万元的,由财务审批通过后即结束;金额在1万元到10万元的,需要先由财务审批,之后交由副总裁审批通过后即结束;金额高于10万元的,需要由董事长和总裁一同审批通过后才结束。
四. 动作
1. 通过
通过动作由审批人操作,是否需要输入通过原因、通过原因是否必填需要根据实际业务情况决定。总结就是:简单申请不需要填写通过原因,或者原因选填通过原因需要填的话,可用于反馈或激励发起人的情况。
2. 驳回修改
驳回修改动作由审批人操作,和通过不同,为了让发起人知道如何修改,驳回原因一般需要设定成必填项,否则发起人或上一个审批环节的人不知道为何被驳回、以及要如何修改。
驳回修改可根据业务需要,在以下逻辑中选择:
驳回到发起人驳回上一环节驳回到选定的之前的某个审批环节。
3. 重新提交
重新提交由发起人操作,和驳回修改是一一对应的。设计上要注意,审批人审批重新提交的内容时,需要附带上一次驳回修改的原因。
4. 取消
取消动作可选,一般来说是发起人取消,而不是审批人取消,原因如下:
审批人只关心一个审批事务过来后,判断并决策是通过还是驳回取消和驳回含义容易混淆,区分不开
在设计上,我们还可以做到发起人是否可取消可由配置项进行配置。
五. 权限
权限的控制贯穿在审批流程的方方面面,上述的角色、内容、流程和动作都会涉及到权限的控制。权限体系的设计是一个大工程,在审批流程中,采用基于角色的访问控制体系(RBAC)是一个不错的选择:
“基于角色的访问控制体系,包括用户、角色、目标、操作、许可权五个基本数据元素,每个角色至少具备一个权限,每个用户至少扮演一个角色,可以对完全不同的角色分配完全相同的访问权限,用户和角色是多对多的关系。”
设计要点总结如下:
操作和许可权内容,可区分为功能权限和数据权限什么人可以发起什么审批,由功能权限控制什么人/角色在整个审批流程中可见什么数据,由数据权限控制什么人/角色可以审批什么环节,由独立的审批配置控制。
六. 配置和扩展性
审批工作流的配置灵活度和开发复杂度成反比,具体要灵活到什么程度,需要由业务需求决定。一般针对公司开发的中后台系统,灵活性相对较少,而面向多个公司的商业化的系统,则灵活性要求大大提高。配置的灵活性体现在以下方面:
审批流程的类型可修改具体的审批环节可增删改各个环节审批人/角色可配置审批相关的权限可变更
七. 效率
工作流的核心目标是提高企业运行效率,如果线上审批流程效率还不如原来的纸质操作,那这个流程的设计就是失败的,也失去了意义。因此,在完成整个审批流程的设计之后,我们还需要花大精力对流程的效率进行审视和优化。对于审批流程效率的提升,总结就是:审批的操作尽可能精简,且操作含义明确只要求输入必要的表单待审批事项及时通知到审批人审批进展及时通知发起人发起人可选择主动催促审批人做好下一步操作的引导。
总结
审批流程是中后台工作流的基础应用,我们在设计的过程中,把握的核心要点是“提高效率,规范管理”,在设计过程中要时时回头审视,以免脱离了这个最重要的目标。
流程案例可参考learun敏捷开发框架,这是基于asp.net/java为基础的业务平台,可以便捷的开发出OA、ERP、CRM、MIS、SAAS、BPM、移动app、电商后台等多种比较实用的企业信息系统,详情参阅learun.cn.
牧码人.
相关推荐
.NET Core是一个跨平台的开源框架,它支持Windows、Linux和macOS等多个操作系统,具有高性能、模块化和灵活部署等优势。这使得它成为构建Web应用的理想选择,尤其是在需要进行大规模并发处理和高可用性场景下。 ...
【标题】基于.NET平台的后台内容管理系统 在IT领域,基于.NET平台的后台内容管理...此外,随着云计算的发展,.NET也有向.NET Core和Azure服务平台迁移的趋势,这将使得这类系统具备更好的跨平台能力和云服务整合能力。
总结来说,".NET快速开发框架"是.NET平台上的一款强大工具,它整合了工作流、接口设计等多个关键要素,为开发者提供了高效、灵活的开发环境。通过深入理解并充分利用这个框架,开发者可以快速构建出稳定、高性能的...
- **整合.NET后端**:将前端模板与.NET后端服务进行连接,实现数据交互,可以使用ASP.NET MVC或ASP.NET Core作为后端框架。 - **优化性能**:根据实际需求精简和优化模板,减少不必要的库和文件,提升加载速度。 -...
《深入.NET平台和C#编程》是针对.NET框架和C#编程语言的深入学习资料,主要面向想...通过深入学习.NET平台和C#,开发者不仅可以提升个人技能,还能更好地适应不断发展的软件开发环境,参与更复杂的项目,提高工作效率。
WF与WCF和WPF等.NET组件紧密集成,能够构建出具有强大工作流支持的应用程序。 通过学习《精通C# 3.0与.NET 3.5高级编程》这本书,开发者可以深入理解C# 3.0的高级特性,如匿名类型、扩展方法和Lambda表达式,并掌握...
Element UI则是一套为开发者、设计师和产品经理准备的基于Vue2的组件库,它提供了丰富的UI组件,如表格、按钮、提示、下拉菜单等,极大地提高了前端开发效率和用户体验。在这个项目中,Vue2和Element UI的结合使用,...
通过整合这些组件,SandcastleBuilderUtils能够帮助开发者顺利地为.NET Core 3.1 WPF项目生成详细的API文档,克服了原有SandcastleBuilder的局限性。使用这个工具,开发者可以确保文档不仅包含了.NET Framework的...
ASP.NET Core 2.1与Vue.js的整合是现代Web应用程序开发中的常见实践,它将Microsoft的高效跨平台框架与流行的前端JavaScript库相结合,提供强大的后端服务和响应式的前端用户体验。本文将深入探讨如何利用ASP.NET ...
《Visual Studio 2005 Extension for .NET Framework 3.0:开发工具的增强与扩展》 Visual Studio 2005 Extension for .NET Framework 3.0是一款专为Visual Studio 2005设计的扩展插件,旨在提升开发者在使用.NET ...
5. 整合所有组件,部署到服务器,确保Consul服务正常运行,并配置好.NET Core应用程序,使其能够正确连接到Consul。 总结来说,这个项目融合了.NET Core的后端开发能力、layui的前端表现力以及Consul的配置管理和...
1. **.NET框架**:服务基于.NET,需要掌握C#编程语言,理解ASP.NET MVC或ASP.NET Core Web API的架构和实现。 2. **图片上传处理**:涉及文件上传API,如HTML5的FormData,以及服务器端的文件接收、验证和存储。 3...
【Vue.js + ASP.NET 整合开发基础及实践】 在现代Web开发中,Vue.js 和 ASP.NET 是两个非常流行的框架。Vue.js 是一个轻量级的前端JavaScript框架,以其易学易用、组件化和高性能著称。而ASP.NET则是微软提供的一套...
.NET Framework是微软为开发应用程序提供的一套框架,其中包括了.NET Core和.NET 5等不同版本。OData与.NET的关系非常紧密,因为.NET Framework提供了丰富的库来支持OData服务的创建和消费。这些库包括但不限于WCF ...
NFine框架是基于.NET Framework或.NET Core的,它集成了ORM(对象关系映射)、权限控制、工作流、报表等多种功能,为开发人员提供了一个全方位的开发环境。通过预设的模板和组件,开发者可以快速搭建项目结构,减少...
- **Introducing .NET Core 1.0**: 介绍了 .NET Core 1.0 的特点及其对跨平台开发的意义。 - **Cross-platform development with the .NET Execution Environment**: 探讨了 .NET 执行环境如何支持跨平台开发。 -...
该项目名为“MineweeperWebApplication”,是基于CST-247课程的一次实践,它整合了多种技术,包括C#、ASP.NET Core、MVC框架、MySQL数据库、DAO设计模式以及CSS样式设计。下面我们将逐一探讨这些技术在项目中的应用...
.NET Core 是一个开源的、跨平台的开发框架,它提供了高度可移植性和强大的性能,用于构建Web应用、微服务、桌面应用等。Autofac 是一个流行的依赖注入(DI)容器,它支持.NET Core,帮助开发者实现解耦和管理对象的...
4. Zhaoxi.AspNetCore31.AuthDemo:这可能是基于ASP.NET Core 3.1的一个认证示例项目,ASP.NET Core是一个跨平台的Web开发框架,gRPC支持在ASP.NET Core上构建服务,因此这个示例可能展示了如何在gRPC服务中实现身份...
2. 工作流引擎:OA系统的核心在于工作流,C#可以利用Windows Workflow Foundation (WF) 或自定义工作流引擎实现灵活的工作流定义和执行。 3. 用户界面设计:WPF(Windows Presentation Foundation)或WinForms为C#...