关于工作流的管理系统

前言

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

群体划分

业务人员

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

技术人员

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

业务人员视角

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

发起申请

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

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

请假流程

补卡流程

我发起的

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

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

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

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

我的待办

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

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

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

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

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

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

此时的审批记录为

再次提交

此时审批记录为

我的已办

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

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

表单

流程图

审批记录

技术人员视角

流程设计

新增

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

编辑

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

设计

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

常规操作

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

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

部署

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

重新部署

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

流程定义

主要就一个列表展示

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

小结

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

相关推荐
ok!ko1 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589361 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰2 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
哎呦没3 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
一路向前的月光3 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js
长路 ㅤ   3 小时前
vue-live2d看板娘集成方案设计使用教程
前端·javascript·vue.js·live2d
编程、小哥哥3 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
IT学长编程4 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇4 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
Jiaberrr4 小时前
Element UI教程:如何将Radio单选框的圆框改为方框
前端·javascript·vue.js·ui·elementui