建立单据的审批程序,数据库如何建表?

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

    要求有通用性!

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

21 个解决方案

#1


通过事务来控制 加上判断 如果审批通过就进行下一个步骤 否则事物回滚到上一个步骤

#2


每一步都设置字段,第一步流程的字段更新上非空后,进行第二部审批,填写相应的审批意见,时间等,记录完毕后,到第三步流程。

#3


什么叫反应到数据库?没明白?

#4


如果每一步都设置一个字段,这样不行,因为审批流程是不固定的,需求也可能更改,今天这个单据需要三道程序审批,明天可能就变成四道程序。这样来设计数据库,不具有通用性。不好!

引用
 什么叫反应到数据库?没明白? 


反正知道这个意思就可以了,就是将现实模型,用数据结构给描述出来。

#5


建两表:1、单据表 2、审批流程明细表   通过关键字段将两表建关系。
其中第二个表是审批所走过的流程,包括日期,审批人,审批意见等,可以按实际要求定义。

#6


看看工作流相关的东西及设计再来说数据库。

#7


单据表
状态表
审批表
审批历史表
......
如楼上,找个workflow的流程来看一下就明白了.
PS:类似这种审批流程的,现在很多workflow的引擎都已经做到很好了.
不一定要自己开发.

#8



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

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

#9


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

#10


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

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

#11


加字段就可以解决的吧

比如说加个标识字段,默认为0,部门经理审批后该字段更新成1,副总审批后更新成10。。。。。。。。依次类推。

#12


我决得这样就可以了!

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

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

#13


路过

#14


工作流

#15


引用 12 楼 soft_wsx 的回复:
我决得这样就可以了!

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

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

如果一种单据,根据不同的条件有多个审批流程如何处理呢?
表至少有几张表:
[审批流程模板: 审批级别、审批流程(且有如下明细表:单据类型、审批流程、条件、发起人)]、 单据号、审批主表、审批明细表

#16


工作流 审批流 就是这样

#17


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

#18


gz.

#19


如何学习工作流这样的知识,特别是关于数据库设计方面的,知道的,推荐一下。

#20


该回复于2009-10-30 14:39:40被版主删除

#21


该回复于2011-12-19 10:54:47被版主删除

#1


通过事务来控制 加上判断 如果审批通过就进行下一个步骤 否则事物回滚到上一个步骤

#2


每一步都设置字段,第一步流程的字段更新上非空后,进行第二部审批,填写相应的审批意见,时间等,记录完毕后,到第三步流程。

#3


什么叫反应到数据库?没明白?

#4


如果每一步都设置一个字段,这样不行,因为审批流程是不固定的,需求也可能更改,今天这个单据需要三道程序审批,明天可能就变成四道程序。这样来设计数据库,不具有通用性。不好!

引用
 什么叫反应到数据库?没明白? 


反正知道这个意思就可以了,就是将现实模型,用数据结构给描述出来。

#5


建两表:1、单据表 2、审批流程明细表   通过关键字段将两表建关系。
其中第二个表是审批所走过的流程,包括日期,审批人,审批意见等,可以按实际要求定义。

#6


看看工作流相关的东西及设计再来说数据库。

#7


单据表
状态表
审批表
审批历史表
......
如楼上,找个workflow的流程来看一下就明白了.
PS:类似这种审批流程的,现在很多workflow的引擎都已经做到很好了.
不一定要自己开发.

#8



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

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

#9


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

#10


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

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

#11


加字段就可以解决的吧

比如说加个标识字段,默认为0,部门经理审批后该字段更新成1,副总审批后更新成10。。。。。。。。依次类推。

#12


我决得这样就可以了!

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

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

#13


路过

#14


工作流

#15


引用 12 楼 soft_wsx 的回复:
我决得这样就可以了!

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

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

如果一种单据,根据不同的条件有多个审批流程如何处理呢?
表至少有几张表:
[审批流程模板: 审批级别、审批流程(且有如下明细表:单据类型、审批流程、条件、发起人)]、 单据号、审批主表、审批明细表

#16


工作流 审批流 就是这样

#17


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

#18


gz.

#19


如何学习工作流这样的知识,特别是关于数据库设计方面的,知道的,推荐一下。

#20


该回复于2009-10-30 14:39:40被版主删除

#21


该回复于2011-12-19 10:54:47被版主删除