首页 新闻 会员 周边

请教大家的工作流实例数据是保存到哪的?

0
悬赏园豆:50 [已解决问题] 解决于 2009-09-17 12:41

据我现在接触过的工作流实例数据有以下存法:

1.就是在业务表中有类似caseid的东西,以caseid为主键,最多再搞个一模一样的业务表(除去caseid)在业务流程结束前更新

2.流程当前数据和流程历史数据采取竖表方式存储,不和业务相关联,只有到流程的关键节点才将流程数据按一定规律更新到库表。

我个人倾向于第二种方法

 

想知道cnblogs里的各位高见?

问题补充: 如果大家的也是第二种,可以交流下数据库相应表的设计心得吗?
Chihom的主页 Chihom | 初学一级 | 园豆:150
提问于:2009-09-09 22:18
< >
分享
最佳答案
0

楼主的想法是对的,因为工作流虽然说是预先设定好的,但是这只是相对固定。比如其中的流转,它就是很活的东西,你可以流转给任何人,在得到响应后再回来。那么流程实例的步骤就和预定的步骤不一样了。

所以肯定是竖表方式存储流程步骤实例数据。在流程实例表中,如果到了要流转他人的时候,如果没有流转标示的话、就从预定步骤表中取到下一步的审核人的信息,进行处理。

收获园豆:45
邢少 | 专家六级 |园豆:10926 | 2009-09-10 09:09
可以说下如果你采用竖表方式,会采取怎样的数据库表设计方式吗? 比如用几种表,表中的字段。我的想法是有张currentflowdata表,其中有流程实例号,流程名称,流程节点名称,办理人,办理时间,字段名称,字段类型,字段值等。
Chihom | 园豆:150 (初学一级) | 2009-09-10 12:42
@Chihom: 流程定义表、流程步骤表、流程实例表、流程附件表、审批意见表、 流程定义表:预先定义的流程信息 〔流程编号、流程名称、流程描述、流程类型、是否允许流转〕 流程步骤表:流程的步骤信息〔流程编号、流程步骤、流程、绑定的角色、表单编号、描述〕 流程实例表:流程实例。〔流程实例编号、流程名称、流程编号、当前步骤、当前审批人、当前审批人编号、审批意见编号〕 流程附件表:流程中添加的附件信息。〔附件编号、附件、流程实例编号〕 审批意见表:流程实例,每个步骤的审批意见〔编号、意见、审批人名称、审批人编码、其它附属信息〕 提示表:存储步骤实例的当前状态。〔流程实例编号、流程名称、即将审核人、即将审核人编号〕 例:比如a在登录后,首先要现在 提示表 中检索有没有要审核的信息,有的话弹出提示,回应后根据流程实例编号调出待审核的文件的详细信息。 在审批后,提交审核意见的同时,要更新流程实例表的信息〔增加当前的审核记录〕以及意见、附件表的信息。允许流转的话.不在从步骤表中取下一步的审核人.自己选择流转的对象。填入提示表。 大概就是这个过程,可能根据个性的需要,会补充一些其它的信息,但是思路就是这样,可以参考一下。
邢少 | 园豆:10926 (专家六级) | 2009-09-10 15:15
其他回答(1)
0

用数据库中字段来标识流程状态

收获园豆:5
zjy | 园豆:3194 (老鸟四级) | 2009-09-10 06:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册