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

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

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

相关推荐
zlwool6 小时前
图纸管理选型避坑指南
数据库·erp·设备erp·非标机械
小灰灰搞电子7 小时前
完全驾驭 Qt 与数据库:C++ ORM 框架 QxOrm 原理与实践指南
数据库·c++·qt
软件聚导航9 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
2601_960906729 小时前
1X发布自己的世界模型1XWM
mysql·mongodb·rabbitmq·memcached
学习星球9 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
GoppViper10 小时前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
2601_9621741710 小时前
Redis 简介
数据库·redis·wpf
夜雪一千10 小时前
MySQL 各种数据同步方案全梳理:从简单复制到异构同步实战
数据库·mysql
ruleslol11 小时前
MySQL: OR查询为什么会导致索引失效
mysql
Highcharts.js12 小时前
Highcharts 下钻(Drilldown)柱状图 Demo
数据库·信息可视化·hbase·highcharts·drilldown·js模块·下钻图表