关于工作流的管理系统

前言

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

群体划分

业务人员

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

技术人员

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

业务人员视角

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

发起申请

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

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

请假流程

补卡流程

我发起的

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

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

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

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

我的待办

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

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

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

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

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

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

此时的审批记录为

再次提交

此时审批记录为

我的已办

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

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

表单

流程图

审批记录

技术人员视角

流程设计

新增

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

编辑

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

设计

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

常规操作

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

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

部署

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

重新部署

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

流程定义

主要就一个列表展示

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

小结

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

相关推荐
喵叔哟9 分钟前
重构代码之移动字段
java·数据库·重构
喵叔哟9 分钟前
重构代码之取消临时字段
java·前端·重构
fa_lsyk11 分钟前
maven环境搭建
java·maven
Daniel 大东31 分钟前
idea 解决缓存损坏问题
java·缓存·intellij-idea
wind瑞37 分钟前
IntelliJ IDEA插件开发-代码补全插件入门开发
java·ide·intellij-idea
HappyAcmen37 分钟前
IDEA部署AI代写插件
java·人工智能·intellij-idea
马剑威(威哥爱编程)43 分钟前
读写锁分离设计模式详解
java·设计模式·java-ee
鸽鸽程序猿43 分钟前
【算法】【优选算法】前缀和(上)
java·算法·前缀和
修道-032344 分钟前
【JAVA】二、设计模式之策略模式
java·设计模式·策略模式
九圣残炎1 小时前
【从零开始的LeetCode-算法】2559. 统计范围内的元音字符串数
java·算法·leetcode