关于工作流的管理系统

前言

本文是基于《工作流引擎设计与实现》系列文章的基础上做的工作流的管理系统,目前还在迭代开发中,后续会有开源计划,敬请期待!

群体划分

业务人员

业务人员即针对使用工作流去发起审批、处理审批的人群。

技术人员

技术人员即根据业务流程转化成工作流,主要是使用流程设计器设计流程。

业务人员视角

我们先从业务人员视角,看其是如何使用工作流的。

发起申请

发起申请即发起技术人员已经制作好的流程,一般会有一个统一的发起入口列表,发起人只需要点击对应的审批流程,即可打开发起流程对应的表单。如下,当我们点击发起申请时,会看到如下列表。其中假期管理和智能账务为流程的分类,请假流程和补卡流程为假期管理下的审批流程,报销流程为智能账务下的审批流程。

当我们点击对应的审批,会弹出对应的申请表单页,申请表单页主要由两部门构成,一部分是要填写的申请表单,另一部分为该申请流程对应的审批流程图。只要填写完申请表单,点击右下角的确定按钮,即可发起一个审批流程。

请假流程

补卡流程

我发起的

我发起的即用户在发起申请那边发起的流程,会在该列表中显示,如下发起申请,确认提交。

提交成功,就会跳转到我发起的列表

点击列表操作的"详情",即可查看流程详情,流程详情共有三部分构成:表单、流程图、审批记录

  • 表单,即发起时填的表单,该表单禁止编辑
  • 流程图,其中,红色为已完成节点或边,绿色为正在进行的节点。
  • 审批记录,显示的是当前流程所有已完成的任务,有时间轴和表格两种呈现方式。

我的待办

用户待处理的任务列表,如上发起的流程处于部门经理审批节点,则在该部门经理审批节点的绑定的参与人就会参生一条待办。这里我们先不展开,等后续讲到技术人员模块时再详细讲解。

我们先登录该参与人账号,进入我的待办即看到如下列表

点击列表操作"办理",即可看到审批流程处理页,其主要包括表单、流程图、审批记录、操作区域四个部分。而操作又分为:同意、拒绝、退回上一步、退回发起人、跳转等五个操作。

  • 同意,即完成该任务,并使流程往下一个流程节点前进
  • 拒绝,也是完成任务,但会直接将流程结束
  • 退回上一步,也是完成任务,但是流程会回退到该节点的上一个节点
  • 退回发起人,也是完成任务,但是流程会回退到发起人
  • 跳转,也是完成任务,但是会跳转到前面已完成节点的任意节点。

这里的操作就先不一一演示了,我们可以选择退回发起人

当退回发起人时,发起人在我的待办中会产生一条待办,因为其是发起人,所以申请表单恢复到可编辑状态。

此时的审批记录为

再次提交

此时审批记录为

我的已办

已处理过的任务列表,如下:

点击操作列表中的"详情",即可查看审批流程详情,其包括如下部分:表单、流程图、审批记录、操作区域,都是只读模式。

表单

流程图

审批记录

技术人员视角

流程设计

新增

  • 显示名称,和流程定义的显示名称对应
  • 唯一编码,和流程定义的唯一编码对应
  • 流程分类,用于在发起申请列表那里分组
  • 图标,用于在发起申请列表那里显示
  • 备注

编辑

对新增时填写的基本信息进行编辑

设计

打开流程设计器,进行流程设计,右上角有保存按钮,点击保存,会提交到后端入库。

常规操作

  • 右键编辑流程基本信息
  • 点击节点编辑节点属性

关于流程节点属性和任务节点属性这里就不再多介绍,具体可看前面关于《工作流引擎设计与实现》的系列文章。

部署

将流程设计更新到流程定义表,该操作会产生一个新的流程定义版本

重新部署

将流程设计更新到流程定义表,该操作会覆盖原最新版本的流程定义

流程定义

主要就一个列表展示

当然,在这里也可以发起流程

小结

关于工作流的管理系统涉及到的大的功能点主要是这些,当然,这里只是补步演示,还有很多细节需要考虑。后续的细节会再根据需要出相应的文章或者录制相应的视频。如想了解更多,可加入组织。

相关推荐
m0_7482359524 分钟前
SpringBoot:解决前后端请求跨域问题(详细教程)
java·spring boot·后端
前端菜鸟日常32 分钟前
为啥vue3设计不直接用toRefs,而是reactive+toRefs
vue.js
LUCIAZZZ39 分钟前
简单说一下什么是RPC
java·网络·网络协议·计算机网络·spring cloud·rpc
嘵奇42 分钟前
最新版IDEA下载安装教程
java·intellij-idea
s_fox_1 小时前
Nginx Embedded Variables 嵌入式变量解析(4)
java·网络·nginx
Jelena157795857921 小时前
使用Java爬虫获取1688 item_get_company 接口的公司档案信息
java·开发语言·爬虫
数据小小爬虫1 小时前
Jsoup解析商品详情时,如何确保数据准确性?
java·爬虫
V+zmm101341 小时前
自驾游拼团小程序的设计与实现(ssm论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计
坚定信念,勇往无前2 小时前
springboot单机支持1w并发,需要做哪些优化
java·spring boot·后端
丁总学Java2 小时前
`AdminAdminDTO` 和 `userSession` 对象中的字段对应起来的表格
java