java 审核流程思路_java中的工作流流程管理和流转思路

本文介绍了在Java项目中实现一套流程管理系统的设计思路,包括数据字典、流程定义、流程节点、流转规则和流转信息等核心概念。通过自定义类设计,实现了流程的任意配置和流转,使得复杂流程的管理变得灵活且易于维护。流程流转涉及的类包括Flow、FlowInfoMovingNode、FlowInfoMovingRole和FlowInfoMoving,这些类协同工作,确保流程的正常运行。流程的流转过程包括申请、审核、状态更新等步骤,通过接口和业务服务实现流程的控制。
摘要由CSDN通过智能技术生成

在做某个管理项目时,被要求实现一套流程管理,比如请假的申请审批流程等,在参考了很多资料,并和同事讨论后,得到了一个自主实现的流程管理。

以下提供我的设计思路,知道了思路,实现起来就简单很多了。

首先我设计了5个类来实现流程的自主设置,主要是对流程的定义和流程流转。

注:这是设计的图,并不是实现

Dictionary:数据字典,不多说,流程类型存在这里面

Flow:流程,即流程的定义,其中包括流程名称,描述,类型,启用时间,备注等;目前是通过判断某个类别的流程启用时间来进行判断当前流程是否启用的。

一个类别只启用一个流程。所以只需要通过流程类别即可确定流程,并不要特定的状态字段。

FlowInfoMovingNode:流程节点,在分析流程流转的时候,我们发现,流转一步就相当于从一个节点跳到另一个节点,所以我们设计这个流程节点类来表示每一步。

其中包括,所属流程,节点名称,节点描述,监听权限。

解释下监听权限是什么. 由于我们做的大部分是审核的流程,所以每个节点都需要有个审核的过程才进入下一个节点,所以我们要这个handlerRole属性来确定这个节点究竟是什么权限来审核。我们也知道,审核一般是某个人审核,这个我们后面说。这里是规定某个权限,即可以审核这个节点的权限。

FlowInfoMovingRole:流程流转规则,为了解决从节点出来的各个分支,我们设计了这个流转规则,本来其实可以一起放到FlowInfoMovingNode中,但这样话无论从数据上    还是管理上来说都不如加流转规则方便清楚。FlowInfoMovingRole主要用来确定流转规则,比如某个节点通过了应该去哪个节点,某个节点没通过应该去哪个节点,这样无论是分支还是单支还是循环都可以通过相同的方式来进行设置。transition为变换规则,参照shiro验证权限的方式,我们也使用纯字符串格式来进行判断变换规则。

FlowInfoMoving:流程流转信息,这里是每一步流转信息的存放,基本在进行流程流转的过程中,都是通过此类,其中包括:所属节点(得到所属节点同时也就得到所属流      程),申请源(因为我们不知道申请源是什么,我们只是管流程是怎么运转的,其申请源跟我们没有任何关系,我们保存申请源的唯一标识,若是想在审核的过程中进行查看申请源信息,则可以请求在Flow中监听的Url(handlerUrl),来进行查看,我会把申请源的唯一标识当做参数传递到Url中)。

由于这个是操作最频繁的,所以我来具体解释下这个类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值