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角色状态数据,依次类推就行。这种方式便于以后业务扩展。

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

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

相关推荐
i220818 Faiz Ul3 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Apple_羊先森4 小时前
ORACLE数据库巡检SQL脚本--22、检查碎片程度最高的业务表
数据库·sql·oracle
OnYoung5 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
山岚的运维笔记6 小时前
SQL Server笔记 -- 第85章:查询提示
数据库·笔记·sql·microsoft·sqlserver
chilavert3186 小时前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库
tryCbest6 小时前
SQL Server数据库
数据库·sql server
_codemonster7 小时前
PreparedStatement 和 Statement的区别
数据库·oracle
恒云客7 小时前
python uv debug launch.json
数据库·python·json