我有一个应用程序每天接收大量需要两次员工评论的项目。一旦收到一个项目并输入数据库,它就会进入审查过程。组织查找状态表的优雅方式
审查过程就像这样。
- 接收项目,并标记应用标签“第一检查器”
- 首先检查是能够把项目两个未决状态中的一种或清除。清理项目会自动将项目标签替换为“第二个检查器?”。
- 如果一个项目进入待定状态,它将一直保持在那里,直到审阅者作出最终决定。
- 第二个检查器检查项目选择一个最终决定。
- 该项目被标记为完成。
我目前在我的数据库中有一个名为Statuses
的表格,其中包含以下列。
Id
Name
而在此表中的数据(在Id
,Name
格式)。
0, First Checker
1, Second Checker
2, Pending State A
3, Pending State B
我现在遇到的问题是,该代码有没有办法或知道一旦第一个检查完成他们的检查,并没有把该项目处于挂起状态,下一个标签的项目应得到的是1, Second Checker
。我能想出来解决这个问题的唯一方法是在该表中添加一系列的列。例如,我目前有IsFirstChecker
,IsSecondChecker
和IsPendingStatus
列。
因此,所有这些额外的列,我能够检查项目审查何时保存,如果最终的决定,然后查询数据库的状态IsSecondChecker
是true
更改标签(或状态,如果你会)与Id
(Items
表的FK)检索。
它似乎不是一个非常理想的解决方案,但它的工作原理。有没有更好的解决方法?
我想补充一点,这个解决方案在很少的代码逻辑下工作。我开始考虑这件事了,也许还有另一种解决方法。