【JAVA】不使用工作流引擎,如何实现项目中审核操作

目录

前言

需求:

数据表设计思路

1、主表

2、apply表

3、audit_model模板表

4、apply_detail表

5、拓展,抄送表

审核状态:


前言

做项目时老板觉得使用工作流引擎太重了,不让用。于是单从代码角度出发和通过设计数据库来实现项目中的审核操作。此设计当然不如现有的flowable等工作流引擎好用,且无流程图展示,但贵在是另一种审核思路。本篇文章仅为记录并没细写,如果感兴趣可留言讨论。

需求:

在这里举一个实例,来提供审核思路。在该需求中,主表是资产表,所有审核都是依附于此表。在新增资产,修改资产,删除资产时需要有审核操作。

数据表设计思路

1、主表

asset表,我们对这张表的数据进行新增修改删除时,需要审核操作

2、apply表

apply表:审批流表,每走一次审核流时需要往该表插入一条数据,代表本次审批(新增、修改、删除)

id

bigint

64

主键

model_id

bigint

64

审批模型ID

model_dept_id

bigint

64

模板所属部门id

asset_id

bigint

20

主表id

scrap_reason

varchar

500

资产报废原因

scrap_files

text

0

资产报废文件

update_reason

varchar

500

资产变更原因

update_files

text

0

资产变更附件

asset_type

int

4

资产类型 1:地块;2:房屋;3:房间;4:其他

type

int

4

审核类型

1:新增;2:修改;3:作废

audit_opinion

varchar

255

审核意见

files

text

0

附件

task_user_id

bigint

64

审核人标识

task_user

varchar

50

审核人名称

audit_date

datetime

0

审核时间

apply_time

datetime

0

流程申请时间

create_user

bigint

64

创建人

create_user_name

varchar

50

创建人名称

create_dept

bigint

64

创建部门

create_time

datetime

0

创建时间

update_user

bigint

64

更新人

update_time

datetime

0

更新时间

status

int

4

审批单状态:1: 编辑中;2:待审核;3:审核通过;4:不同意

is_deleted

int

4

是否已删除

room_infos

text

0

新增户信息

history_id

bigint

20

历史表id

title

varchar

500

代办标题

now_audit_user

bigint

20

当前审核人

3、audit_model模板表

当前项目里存在几种审批流,该表就有几条数据

id

bigint

64

主键

model_id

bigint

64

模版ID

model_name

varchar

255

模版名称

level

tinyint

2

审批顺序

audit_type

tinyint

2

审批类型:1 审核人、2审核角色

audit_resource

bigint

64

根据类型:该值可能是人员ID或角色ID

sys_dept

bigint

64

所属组织ID

remark

varchar

255

备注

create_user

bigint

20

创建人

create_dept

bigint

20

创建部门

create_time

datetime

0

创建时间

update_user

bigint

64

更新人

update_time

datetime

0

更新时间

status

int

4

业务状态

is_deleted

int

4

是否已删除

type

int

4

模板类型:1新增2修改3作废

4、apply_detail表

审批步骤表,对应audit_model模板表,一条审批模板可能有一到多个审批步骤

id

bigint

64

主键

apply_id

bigint

64

审批单ID

model_id

bigint

20

审批模型ID

type

int

4

审核类型

1:新增;2:修改;3:作废

click_type

int

4

点击事件类型

0:拒绝 1:同意

audit_opinion

varchar

255

审核意见

files

longtext

0

附件

task_user_id

bigint

64

审核人标识

task_user

varchar

255

审核人名称

task_level

int

4

审核顺序

current_step

int

4

当前步骤

audit_date

datetime

0

审核时间

create_user

bigint

64

创建人

create_dept

bigint

64

创建部门

create_time

datetime

0

创建时间

update_user

bigint

64

更新人

update_time

datetime

0

更新时间

status

int

4

审批单状态

is_deleted

int

4

是否已删除

5、拓展,抄送表

审核状态:

package org.springblade.asset.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
/**
 * 资产审批状态
 */
public enum AuditStatus {

    /**
     * 编辑中
     */
    编辑中(1),

    /**
     * 待审核
     */
    待审核(2),

    /**
     * 审核通过
     */
    审核通过(3),

    /**
     * 审核不通过
     */
    审核不通过(4);

    final Integer c;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值