关于业务流/工作流/审批流的简单说明,工作流框架

来源网友投稿 1763 2022-07-04

一、什么是流

随着社会生产力的发展和生产关系性质的变化,人类社会的生产活动开始出现社会分工,个人、企业、甚至是国家都只是完整生产活动中的一环。

社会分工的出现,导致一次完整的生产活动需要由多国家、多企业、多部门、多个人(后文用“人”代指)互相配合、共同完成。

在这种分工的生产活动中,处于后置环节的“人”,对前置环节的“人”的输出物有着内在需求,正是因为这种内在需求,导致了输出物的流动,使输出物从供应方转向需求方,即“流”,也称“流程”。

“流”具有流动性和指向性两个特征。

在当今社会的生产活动中,“流”具体表现有物流、信息流、工作流、资金流等。

二、什么是业务流、工作流、审批流

  • 业务流:即业务流程,指为了完成某项业务而进行的各种工作的有序组合

  • 工作流:即工作流程,指为了完成某项工作而进行的各种动作的有序组合

  • 审批流:即审批流程,是对某项工作的审批活动的有序组合

通常情况下,业务流与工作流是相同的概念,本文即持此观点,后文重点讲解工作流、审批流。

审批流属于工作流的范畴。

三、工作流详解

一项完整的工作流程,应包括流程定义、权限划分两个部分,见如下泳道图:

合同签订的流程从开始到结束,共需要经过5个环节,涉及三个岗位。

1. 流程定义

流程定义的目的,是为了将工作分解并确定分解后的事项先后顺序。

1)工作流程

一个工作流具体包含哪些流程环节以及各环节之间的先后顺序。

比如上图的合同工作流程,包含合同立项-合同签订-合同验收-合同付款-归档五个环节。

合同立项的后置环节是合同签订,以此类推。

在具体开发时,各环节及顺序可以系统内写死也可以自由配置,具体视业务变动频率及开发资源确定。

2)表单设计

即本环节内,应该确定、处理什么内容。

比如合同立项环节,业务人员需要确定并填写合同的甲乙方、立项时间、立项金额等内容。

那么立项表单设计时,就要包含上述的字段信息。

  • 简单的工作流:各环节之间无分支条件,无流程跨越

  • 复杂的工作流:要考虑各环节之间的分支条件,比如满足条件A,走流程1,否则走流程2等,还有环节间的退回情况等

2. 权限的划分

权限划分的目的,是为了确定事项责任归属,即由谁做什么操作。

权限包含功能权限、数据权限、字段权限。

1)功能权限

即用户能看到哪些菜单,能进行什么操作(按钮)。

比如同是合同岗,员工A只有立项权限,无合同签订权限,员工B只有签订权限无立项权限。

2)数据权限

即用户能查看或操作的数据范围,只能查看或操作授权内的数据。

比如员工A只能查看本部门的合同,员工B可以查看全公司的合同。

3)字段权限

即用户能查看或操作的数据字段,只能查看或操作授权内的字段。

比如员工A不可查看合同的立项金额字段,员工B可以查看合同所有字段。

具体权限的设计,需要根据各业务特性及需求来确定。

权限设计参考RBAC权限模型,本文不再赘述。

四、审批流详解

审批流是属于工作流的一个组成部分,所以审批流的设计与工作流基本相似。

还是以合同流程讲解,如下流程:

假设合同立项、合同签订、合同付款均需审批,审批通过后才可进入下一环节。

每个环节的审批人可以是多人,也可以是单人,可以是多人串行审批,也可以是多人并行审批等等。

1. 审批流的触发条件

1)必须审批

指不管当前操作人的权限,环节提交后均需审批。

比如合同立项,提交后必须立项审批。

2)权限外审批

根据当前操作人的权限,若在其权限内,则无需审批并直接进入下一个环节,否则需审批。

比如合同立项,如果立项人员的立项权限是20万,合同立项金额低于20万则直接进入合同签订环节,否则进入立项审批环节。

2. 审批流的设置

关于审批流设置的文章比较多,本文不再赘述。

工作流最重要的点就是厘清流程、确定权限,把好这两个要点,工作流设计便不是问题了。

一、前言

实习第一个工作涉及到的是工作流程,那时正好带着我的wqdjmg他负责审批流程的结构和开发,然后我在大神的胯下茁壮成长。 确实对我来说非常有挑战性。 wqdjmg的体系结构做得很好真是太好了。 基础框架使用了Activiti。 但是,老实说,我学到了很多。 顺便分享一下我们是如何巧妙地使用Activiti框架快速实现我们的工作流程的。

二、最后的成品

1.PC端

pc端的工作主要是定义流程、启动流程,以及我的工作台

流程定义:

我的工作台:

通过APP,帮助用户快速处理工作

发送消息通知:

三、开发前的准备

image.png

流程定义:流程怎么走,可以理解为模板流程的实例。 开始申请休假。 这个假期申请是一个过程实力任务。 一个休假过程需要很多人的批准,每个批准都是一个任务。

流程定义:说明审批流程

运行时数据:如果该进程在(什么是运行时)启动后尚未终止,则该进程为运行时。 轮到你处理了,那个任务是执行时,处理结束后不是执行时)

流程:未完成的审批流。 审批流结束后,数据将被删除。 任务:当前审批流到达的执行点。 执行点完成后,数据将被删除并移动到下一个执行点。 进程变量:进程或任务中的变量。 可以自定义变量以记录批准的状态。

历史数据:

进程:进程启动时记录历史数据并记录开始时间。 在进程结束之前不会记录结束时间。 任务:正在运行的任务不会保存在历史记录库中,而是在任务执行完成后保存在历史记录库中。 任务注释:执行任务时可以添加注释信息,直接访问历史记录表。 流程变量:对应运行时的流程变量,结束后进入。 附件:已批准附件的表格。 可以保存对象、保存文件、保存url等。

image.png

注意的地方

1.巧妙使用表格中的字段

delete_reason直接存储流程实例的状态:通过、失败、撤销

这里可能需要手动更改表格中的字段。

记住本地查询的使用方法

activiti提供了本机查询方式的自定义查询,该查询使用基于MyBatis的sql语句执行查询。

listtasktasks=tasksersive.createnativetaskquery (

. SQL (选择*从)管理服务. get tablename (task.class ) ) ) )。

' where NAME_=#{taskNmae} ' )

. parameter('tasknmae ','人力资源批准').list );

12343.activiti包含很多Join查询,所以最好在单表中查询

同样,我们需要在本机查询中查询多表查询的界面

4.activiti链编程

5 .使用5.activiti侦听器

6.activiti和spring集成使用

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:带有边框的空白页如何删除(带边框的word删除空白页如何删除)
下一篇:如何为WPS表格加下划线(wps表格添加下划线)
相关文章