如何跟踪业务流程?(200分)

  • 主题发起人 xuxincheng
  • 开始时间
X

xuxincheng

Unregistered / Unconfirmed
GUEST, unregistred user!
有业务流程如下:
销售订单->物料需求->采购计划->采购订单->采购合同->到货报验->质检入库,
每个节点都有对应的主表和明细表, 每个节点主表中都有上一节点的主键作为外键与之关联.
现在要查询业务流程前端如"销售订单"中的某笔业务执行到了哪个节点, 或者在业务流程
后端如"质检入库"节点找出某笔业务对应的是哪个销售订单?
考虑过用子查询嵌套, 但过于繁杂. 有没有好的解决办法? 分不够可以另加.
 
可以用一个字段记录某笔业务执行的状况
 
不难,用多表关联就行了。
 
Data structure
 
To youngyxy: 你的意思是要我们重新规划表结构,还是?
To pyzfl: 多表关联好象不行.
 
我最近做的这两个项目都是用的业务流程。先声明三点:1.我将你所谓的节点称为进程,
意思是业务流程中的进度;2.我的设计可以接收完全不同的两种以上业务;3.所有进程中
的某一步可能需要经过一次或一次以上,比如过磅程序中的称重,就需要两次以上,例如
过两次重磅,一次主车一次拖车,然后过一次车皮。

1.我设计的一个流程只能是同一个ID号,这样设计SQL就非常简单。然后通过其它方式解决
一对多的问题。某些表是以这个ID为主关键字的,而另一些表可能还需要其它识别字段,
例如过磅就可以设计ActionIndex与PlanID共同作为主关键字。这样逻辑非常清晰。
2.外键作为数据库一级的约束是一定要有的。
3.不必专门记录流程状态,状态可以在客户端计算。
 
赞同barton观点。可以用多个字段共同作为主关键字
 
现在软件开发已接近尾声, 改数据库表结构不太可能, 有没有别的办法?
 
我不清楚你们的物料需求是如何计算的?
如果已把独立需求与产品各级相关需求求和后再计算子件需求的话,
那么,我建议你把计算的过程记录下来,以便追踪
 
新增一个表,专用于记录这笔交易的状态,
用触发器改变其值,当新增订单,设置这笔交易的状态为新增,以此类推。。。
 
增加一种流程表
字段至少有
当前节点, 前一个节点, 下一个节点
 
在最初的一个流程单据的关键字段保留到以后每个流程单据中,通过依次查询即可
还可在最初的一个流程单据中设立一个状态字段,记载当前单据到哪步了
 
to xuxincheng
你的首先需要考虑清楚你的问题的逻辑:
有业务流程如下:
销售订单->物料需求->采购计划->采购订单->采购合同->到货报验->质检入库
你需要在后面的计划和业务中反朔它的原始来源,就是销售订单中间的某个ItemNo.
所以你应该毫不犹豫的修改你的数据结构。否则,该问题你无解。
举例如下:
销售订单有2项目,1,2相应数量为Q1,Q2;他们的共同物料3,数量为Q3=Q13+Q23;
在发出采购合同是的采购量假定为 Q,Q不一定等于Q3;假定小于Q3(因为库存的原因)。
现在你没有办法判别,Q中间到底多少归Q13,多少归Q23
 
to WilliamGui
好久不见,一向可好
 
这是在生产型经销存系统开发过程中遇到的问题. 谢谢各位.
接受答案了.
 
顶部