建立单据的审批程序,数据库怎么建表

建立单据的审批程序,数据库如何建表?
在现实中,有可能会碰到这样的情况,一张单据生成后,需要经过若干个人的审批,有一定的审批程序,有些程序是不可逆的,有些是可逆的,从一个程序到另一个程序,这在手工时代很好完成,也很好控制,但我们如何将这一现实模型反映到数据库中,利用数据库技术来模拟实现类似手工模式的审批过程。

  要求有通用性!

  欢迎大家讨论,重分奖励!

------解决方案--------------------
通过事务来控制 加上判断 如果审批通过就进行下一个步骤 否则事物回滚到上一个步骤
------解决方案--------------------
每一步都设置字段,第一步流程的字段更新上非空后,进行第二部审批,填写相应的审批意见,时间等,记录完毕后,到第三步流程。
------解决方案--------------------
什么叫反应到数据库?没明白?
------解决方案--------------------
建两表:1、单据表 2、审批流程明细表  通过关键字段将两表建关系。
其中第二个表是审批所走过的流程,包括日期,审批人,审批意见等,可以按实际要求定义。
------解决方案--------------------
看看工作流相关的东西及设计再来说数据库。
------解决方案--------------------
单据表
状态表
审批表
审批历史表
......
如楼上,找个workflow的流程来看一下就明白了.
PS:类似这种审批流程的,现在很多workflow的引擎都已经做到很好了.
不一定要自己开发.
------解决方案--------------------
SQL code

先建立一张领导表其中包含三个字段:  
领导姓名   所属级别   级别名称
 徐开全      A        董事长
 金有才      B        总经理
 武松        C        武术顾问
...........................
                                 总

--一级领导ID   是否签字     二级领导ID    是否签字      三级领导ID    是否签字
--这些是否签字字段,可以默认为0,表示没签字, 当为1的时候,表示已经签字
--只有第一级领导ID非空,是否签字为1的时候,第二级的字段才能允许修改
--这就可以用触发器来实现
--同理:其他级别

------解决方案--------------------
SQL code
--还有:在他的子级领导还没有签字的时候,他的父级虽然已经签字了,还是可以取消的
--否则:只有等他的子级取消了签字后,他的父级才能取消
--取消签字,只是一个单据验证的逆过程

------解决方案--------------------
单据表,流程设置表
销售单
销售单号、开单日期、单据类别、数量单价相关字段、业务经理审批、业务审批日期、业务审批意见、仓库审核、仓库审核日期、仓库审核意见
流程设置表
单据类别,审判步骤,审判人

在单据设置表里,设置第一步是谁审批,第二步是谁审判。
在审批窗口,刷新出上一步已经审批,当前没有审批的单据。
审批审批确认后,更新审批人、审批日期、审批意见等字段。

------解决方案--------------------
加字段就可以解决的吧

比如说加个标识字段,默认为0,部门经理审批后该字段更新成1,副总审批后更新成10。。。。。。。。依次类推。
------解决方案--------------------
我决得这样就可以了!

单据汇总表(单据编号,日期,操作员,审核1,审核人1,....审核2,审核N,是否执行(记账)
单据明细表(单据编号,相关的明细字段)

当前主管审核是更改审核1为是,反审核改为否,其它类似!
当单据入账时(更改是否执行为是)
------解决方案--------------------
路过
------解决方案--------------------
工作流
------解决方案--------------------
探讨
我决得这样就可以了!

单据汇总表(单据编号,日期,操作员,审核1,审核人1,....审核2,审核N,是否执行(记账)
单据明细表(单据编号,相关的明细字段)

当前主管审核是更改审核1为是,反审核改为否,其它类似!
当单据入账时(更改是否执行为是)

------解决方案--------------------
工作流 审批流 就是这样
------解决方案--------------------
不要在单据的表上加审核1,审核人2,...要有专门的审批流,毕竟不同单据的审批流程不一样的。
比如单据金额500一下的需要小经理审批就可以了 ,大于500的要一堆人审批才可以通过。
审批表,审批状态表,审批历史表,等等