掘金 后端 ( ) • 2024-04-03 13:22

theme: smartblue

《基于Spring Security的Activiti7工作流管理系统简介及实现》将对Activiti7工作流管理系统进行介绍,同时会讲解核心技术路线及代码原理,手把手教你搭建文中的工作流管理系统。

作者:后端小肥肠

姊妹篇:【Activiti7系列】Activi7简介和基于Spring Boot整合Activiti7(流程设计器)

1. 前言

随着企业数字化转型的深入和业务流程的复杂化,工作流管理系统变得至关重要。在现代软件开发中,工作流管理系统可以帮助企业实现流程自动化、提高效率、降低成本,并增强业务的可控性和可扩展性。而Activiti7作为一款轻量级的、灵活的、开源的工作流引擎,正因其优秀的特性和易用性而备受关注。

本文将基于Spring Security的Activiti7成品工作流系统介绍它的功能模块、系统界面、应用场景,感兴趣的同学可以往下阅读。

2. 工作流管理系统介绍

2.1. 工作流相关概念名词介绍

1. 流程定义(Process Definition)

流程定义指的是对某个过程或者任务的描述,通常以图形化的方式呈现,比如流程图。流程定义包括了整个过程中所需的步骤、条件、和可能的分支。在软件开发中,流程定义可以用来描述系统中的各种业务流程,比如订单处理流程、审批流程等等。流程定义一般会包含如下信息:

  • 步骤和活动:描述任务或者操作的具体步骤。
  • 事件和条件:描述触发流程中不同步骤的事件或条件。
  • 分支和合并:描述流程中可能出现的分支和合并点。
  • 角色和权限:描述参与流程的各个角色及其权限。
  • 数据和资源:描述流程中涉及的数据和资源。

2. 流程实例(Process Instance)

流程实例是流程定义的具体执行过程,也可以理解为流程定义在运行时的一个具体实例。每个流程实例都是独立的,有自己的状态、数据、以及执行路径。在软件系统中,通常会根据用户的触发或者系统的自动触发来创建流程实例,然后根据流程定义中的步骤和条件逐步执行流程实例,直至流程结束。每个流程实例都有自己的生命周期,可能包括如下阶段:

  • 创建:流程实例被创建并启动。
  • 运行:流程实例正在按照定义的步骤和条件执行。
  • 完成:流程实例所有的步骤都已经执行完毕,流程结束。
  • 中止:流程实例由于某些原因被中止,可能是由于错误或者异常情况。

总的来说,流程定义是对某个过程或者任务的静态描述,而流程实例则是这个描述在运行时的具体体现,是动态的实体。

2.2. 工作流管理系统界面展示


1. 登录界面


可支持用户名和密码登录。

image.png

2. 首页


工作流管理系统的首页。 image.png


3. 模型管理


模型管理功能模块。模型管理功能模块。支持流程流程模型分页查询、新增流程模型、设计流程、部署流程、导出流程ZIP、删除流程模型。 image.png

3-1. 新增流程模型

image.png

3.2. 设计流程

可基于此界面进行流程模型的设计。 image.png

3-3. 部署流程

可对设计好的流程进行部署,部署后版本号会更新。 image.png

3-4. 导出zip

可导出设计好的流程模型。 image.png

image.png

3-5. 删除流程模型

可删除最新版本的流程模型,在正式生产环境中这个功能建议隐藏。

image.png

4. 流程管理


流程管理模块。支持流程实例进行配置与相关业务进行绑定、可启动/暂停流程、删除流程、基于BPMN流程文件进行流程流程定义部署。 image.png 4-1. 流程配置

输入路由名称和对应表单组件名即可将流程实例与相关业务进行绑定。 image.png

4-2. 暂停/启动流程

可暂停运行中的流程实例或启动已经被暂停的流程实例。 image.png

4-3. 删除流程

删除流程实例。在生产环境中建议屏蔽该功能。 image.png


5. 请假申请


请假申请模块。支持申请列表分页查询、新增申请、编辑申请表单、查看审批历史、提交申请和发起流程功能。

5-1. 新增请假申请

填写请假申请表单点击确定即可新增请假申请。 image.png

5-2. 提交申请和启动流程实例

填写完请假申请后需要手动启动流程申请,可以手动指定审批人(审批人需要为系统用户),这块可以自己改造,改为新增申请后直接启动流程实例。 image.png

5-3. 编辑请假申请表单

点击【编辑】按钮即可对请假申请进行编辑。 image.png

5-4. 审批历史

对于已经提交申请的流程实例,可以在【审批历史】中查看申请进行的细节。

image.png

6. 待办任务


代办任务功能模块。包含分页查询申请列表、通过申请、驳回申请(驳回到任意节点)、转办、查看审批历史功能。 image.png 6-1. 通过申请

通过当前申请,同时制定下级申请的审批人。

image.png

6-2. 驳回申请

可以将申请驳回到之前审批的任意环节或驳回整个申请。 image.png

6-3. 转办申请

可以当前审批转办给他人(需要为系统用户),如应用到真实项目中可将用户名改为姓名,已下拉框的形式选择转办人。 image.png


7. 已办任务


已办任务模块,支持分页查询该用户审批过的流程任务,查看审批历史。

image.png

8. 运行中的流程


运行中流程模块,支持分页查询运行中的流程实例,查看审批历史,删除流程实例。

image.png

9. 已结束的流程


已结束流程模块,支持分页查询已结束的流程实例,查看审批历史,删除流程实例。 image.png

2.3. 工作流管理系统功能模块概述

在上一小节中向大家展示了工作流管理系统的功能界面,并附带了功能说明,其实不难发现该系统灵活性非常高,稍加改造就能成为一个工作流框架,我把工作流系统的功能做了分类,分为管理后台功能和前端实体功能,如下图所示:

image.png image.png

3. 工作流管理系统应用

3.1. 工作流系统应用场景

在2.2小节中的工作流管理系统可以和任何业务绑定,故涉及到审批的系统都可以应用此工作流框架,包括但不限于以下业务场景:

  1. 审批流程管理:包括请假申请、报销审批、合同审批等各种审批流程的管理。员工可以通过系统提交申请,审批人可以在系统中查看申请并进行审批操作。
  2. 订单流程管理:管理订单的生命周期,包括订单创建、支付、发货、退款等环节,确保订单的顺利执行。
  3. 客户关系管理:跟踪客户需求、沟通记录、合同管理等,提高客户服务的效率和质量。
  4. 项目管理:包括项目任务分配、进度跟踪、问题解决等,协调项目团队的工作流程。
  5. 资产管理:跟踪和管理公司资产的采购、分配、维护和报废等流程。
  6. 人力资源管理:包括招聘流程、员工入职离职流程、绩效评估流程等,提高人力资源管理的效率和透明度。
  7. 财务审批管理:管理财务审批流程,包括费用报销、预算审批、付款审批等。
  8. 合规性管理:确保企业各项业务活动符合法律法规和内部政策,通过工作流管理系统提供的审批和记录功能实现合规性管理。

上述场景需要根据具体需求将工作流框架进行微调后均可以实现。

3.2. 工作流框架应用场景示例——数据文件审批

将本文中的工作流框架稍加改造即可应用于实际项目中,我将以实际项目为基础,以真实需求为切入点向大家展示本文中工作流框架的应用。废话不多说,先看需求: image.png 这是我去年做的一个项目的工作流模块的真实需求,和业务相关的需求我给马住了(涉密),我们仅仅需要把工作流框架代码进行微调即可实现该项目的工作流需求。同时可以舍弃部分功能模块,采用一部分功能就能很好满足上图需求了。

5. 结语

本文向大家展示了工作流管理系统的功能界面及模块,具体应用场景,在下一篇文章中将会讲解该工作流管理系统实现的具体技术细节及核心代码,对工作流感兴趣的同学可以动动你们发财的小手点的关注哦~

结语3.jpg