java mysql 权限状态、流程问题

最近组里的小伙伴对一条数据进行流程审批,不同角色看到同一条数据状态不同,并且要记下审批流程,结果发现小伙伴在设计数据库的时候在一条数据中加了状态字段status,用1标记到10,分别代表不同状态,最后前端判断不过来,懵逼啦~~~~

在这里我总结下,列如:业务部门business(提交),质检部门quality(审核),审核组audit(终审)

第一种方案:

在创建业务表的时候,添加3个字段,分别代表business、quality、audit状态,例如:

business状态可以分为:0-待提交 1-审核中 2-审批通过 3-审批驳回

quality状态可以分为:0-待审核 1-通过 2- 驳回

audit状态可以分为:0-待审核 1-通过 2- 驳回

但是这样不好扩展,中间要是加一级,表和业务代码都要重新编写

第二种方案:

在创建业务表的时候,在创建一个状态表,其中一个字段记录业务表id,一个字段记录角色,当生成一条业务数据后,自动插入一条business角色状态数据,当business角色提交数据后,自动插入一条quality角色状态数据,依次类推就行。这种方式便于以后业务扩展。

针对流程记录,也要新建一个流程表,单独记载每个角色操作的状态,然后根据时间排序,自然可以取出审批流程记录。

个人偏向第二种设计,工作中使用比较方便,而且不会乱,根据不同角色直接把数据返给前端,。如果其他小伙伴有更好的方案,也可以一起交流下~~~~

相关推荐
zhangjw3413 分钟前
1-5 PostgreSQL 数据类型全集:基础类型、字符串、数值、时间类型
数据库·postgresql
王中阳Go26 分钟前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型
cnskylee1 小时前
【MySQL】麒麟V10 SP3系统安装MySQL-Commercial-8.0.46
数据库·mysql·adb
梦幻通灵1 小时前
修改MySQL数据库递增序列【持续更新】
数据库·mysql
liminla!1 小时前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
tongyiixiaohuang1 小时前
供应商主数据同步实战:从易快报到金蝶云星空的单一策略落地
java·网络·数据库
大侠归来2 小时前
常用 MySQL 分库分表方案详解
数据库·mysql
kingx33 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
xiaogai_gai3 小时前
采购业务退款单同步实战:从钉钉审批流到金蝶云星空付款单
java·数据库·钉钉
AlickLbc4 小时前
DM-V8数据库证书过期处理过程记录
数据库