问题描述
如题很多模块都是这样录入记录->提交(或暂时保存后提交)->拟准.....->核准中间会有撤回退回等退回到上一个状态我现在是建了一个记录表(Rec)一个记录明细表(RecDetails),是一对多的关系,一条记录对应多条明细。明细表(RecDetails)保存了明细编号,记录编号,发送人,接收人,状态(未处理,已提交..已核准等等..).....,记录表(Rec)保存记录编号,工作名称(提交后显示的标题),访问路径,当前明细号...而记录编号则存在于需要提交的那条记录所在的表里比如Products表:-------------ProductNoProductName....RecNo...里面的RecNo字段,是Rec表的主键,按照规则生成,保存时会生成保存在Products表,提交时生成提交记录和一条记录明细保存到Rec表和RecDetails表,一条Products表的记录对应一条Rec表的记录,间接对应多条RecDetails表的记录程序中所有需要进行这个流程的实体都继承自一个EntityBase类,里面有记录对象(Record)这样每次读取Products表的记录都要和一个RecDetails_View视图做连接,读取状态封装成一个记录对象(Record),页面上有一个ButtonGroup控件,根据当前用户,用户权限,和记录对象的一些属性控制各个LinkButton的属性现在这个流程已经实现,但是我心里总觉得不舒服,因为肯定还有更好的解决方案,想问下各位达人们该怎么做?
解决方案
解决方案二:
提交、核准,就用一个标记位的不同值来表示就行了。退回时,如果要记录日志,就写入另外一个表中。
解决方案三:
引用1楼ghs79的回复:
提交、核准,就用一个标记位的不同值来表示就行了。退回时,如果要记录日志,就写入另外一个表中。
这个我现在已经实现,就是想问下有没有好一点的处理方法系统里绝大多数表都会与Rec表有关联,比如Products,Customers....等等。我一开始是将表名,主键..等存到Rec表中比如:记录ID表名主键名主键类型主键值路径......-----------------------------......nProductsProductIdNumeric.......mCustomersCustomerNostring.............明细表中保存了所有的历史操作记录...但是将表名和主键名存到表里面我总觉得不合理,而且这样很难处理两个主键的情况还有,比如我要取一条Product记录,而同时要带出状态以确定这条记录能不能进行修改删除或是提交、核准等等操作。。。所以就先要Select....fromRecwhere表名='Products'and主键='ProductId'and主键值=...这样,然后根据记录ID在RecDetails表里取当前的状态。。。不管保存还是读取、删除都很烦琐后来改成我在帖子里说的那种。。。还是觉得不太好不知道有没有人做过这种,表和程序又是怎么设计的呢?
解决方案四:
刚才看了一下,这个版块太多各种各样明的暗的广告帖,没人管了吗??
解决方案五:
工作流