专利名称:跟踪查询单据的方法和装置的制作方法
技术领域:
本发明涉及供应链管理中的业务单据的流程跟踪,具体而言,涉及一种跟踪查询 单据的方法和装置。
背景技术:
传统的供应链软件中,各种单据之间来源关系的查询,单据执行情况的查询,比如 说出入库执行表、采购订单执行表,这些报表的查询都需要根据各单据上的来源与去向的 单据号关联多种单据的数据进行查询,查询效率低下,尤其对于多级关联业务,如采购需求 分析_ >采购订单_ >进货单_ >采购入库单_ >采购退库单等,需要查询采购订单的执 行情况,则需要关联采购需求分析表、采购订单表、进货单表、采购入库与退库表等,多达四 张业务表进行关联查询,而且随着业务的复杂程度越高,查询成本越高,性能越差。原来的 查询结构是树型结构,如业务表A、B、C、D...是从上往下逐级流转的多张业务单据,并且可 以是逐级(针对单据明细)的1对N的关系。当需要查询A业务表在B业务表上的执行情况时,需要建立A、B的二级关联关系, 查询需要执行如下示例语句Select Α.业务字段,B.业务字段 from A left join B on ab其中ab为A业务表与B业务表的关联字段。当需要查询A业务表在C业务表上的执行情况时,需要建立A、B、C的三级关联关 系,查询需要执行如下示例语句Select Α.业务字段,C.业务字段 from A left join B on ableft join C on be其中ab、be分别为A业务表与B业务表的关联字段、B业务表和C业务表的关联 字段、C业务表和D业务表的关联字段。当需要查询A业务表在D业务表上的执行情况时,需要建立A、B、C、D的四级关联 关系,查询需要执行如下示例语句Select Α.业务字段,D.业务字段 from A left join B on ableft join C on beleft join D on cd其中ab、bc、cd分别为A业务表与B业务表的关联字段、B业务表和C业务表的关 联字段、C业务表和D业务表的关联字段。当需要查询A业务在B、C、D业务表上的执行情况时,需要将以上三组查询分别执 行才能得到想要的结果。当源头业务表越需要获得越往后级的字段信息时,查询语句就越来越复杂,如果 后期对关联关系不清楚,出错的概率就明显提高,并且关联查询语句和内容都越来越庞大, 在内存中组织成一张超级大的虚拟表,数据库引擎处理效率也越来越低。因此,需要一种新的查询单据的方式,以在业务单据多级流转时,对单据进行准确有效地查询。
发明内容
本发明所要解决的问题在于,一种新的查询单据的方式,以在业务单据多级流转 时,对单据进行准确有效地查询。为解决上述问题,本发明公开了一种跟踪查询单据的方法,包括步骤102,上游 业务单据流转生成下游业务单据时,在来源关系表中记录所述下游业务单据与其上游所有 单据之间的对应流转信息;步骤104,根据输入的查询信息,在来源关系表中查找对应所述 查询信息的流转信息,所述流转信息包括待查单据对应的关键字段和所述关键字段的对应 数据信息;步骤106,获取所述关键字段的所述对应数据信息作为查询结果。在上述技术方案中,优选地,所述步骤102中,所述查询信息包括来源单据的单据 ID或单据类型。在上述技术方案中,优选地,所述步骤102中,所述查询信息还包括所述待查单据 的单据ID或单据类型。在上述技术方案中,优选地,所述步骤104中,所述流转信息还包括所述待查单据 的单据ID和单据类型,以及所述来源单据的单据ID和单据类型。本发明还公开了一种跟踪查询单据的装置,包括记录模块,上游业务单据流转生 成下游业务单据时,在来源关系表中记录所述下游业务单据与其上游所有单据之间的对应 流转信息;输入模块,输入查询信息;查询模块,根据所述查询信息,在来源关系表中查找 对应所述查询信息的流转信息,所述流转信息包括待查单据对应的关键字段和所述关键字 段的对应数据信息,并获取所述关键字段的所述对应数据信息作为查询结果。在上述技术方案中,优选地,所述输入模块输入的查询信息包括来源单据的单据 ID或单据类型。在上述技术方案中,优选地,所述输入模块输入的查询信息还包括所述待查单据 的单据ID或单据类型。在上述技术方案中,优选地,所述第一查询模块查询的所述流转信息还包括所述 待查单据的单据ID和单据类型,以及所述来源单据的单据ID和单据类型。根据上述技术方案,可以实现一种跟踪查询单据的方法和装置,以供用户准确有 效地查询所需数据。
图1是根据本发明的跟踪查询单据的方法的流程图;图2是根据本发明的跟踪查询单据的装置的框图;图3是根据本发明的一个实施例的跟踪查询单据的方法的业务表的原始查询结 构图;图4是根据本发明的一个实施例的跟踪查询单据的方法的业务表的流转示意图。
具体实施例方式以下将参考附图详细描述根据本发明的实施例。
图1是根据本发明的跟踪查询单据的方法的流程图。如图1所示,本发明提供了一种跟踪查询单据的方法,包括步骤102,上游业务单 据流转生成下游业务单据时,在来源关系表中记录所述下游业务单据与其上游所有单据之 间的对应流转信息;步骤104,根据输入的查询信息,在来源关系表中查找对应所述查询信 息的流转信息,所述流转信息包括待查单据对应的关键字段和所述关键字段的对应数据信 息;步骤106,获取所述关键字段的所述对应数据信息作为查询结果。在上述技术方案中,所述步骤102中,所述查询信息包括来源单据的单据ID或单 据类型。在上述技术方案中,所述步骤102中,所述查询信息还包括所述待查单据的单据 ID或单据类型。在上述技术方案中,所述步骤104中,所述流转信息还包括所述待查单据的单据 ID和单据类型,以及所述来源单据的单据ID和单据类型。图2是根据本发明的跟踪查询单据的装置的框图。如图2所示,本发明还提供了一种跟踪查询单据的装置200,包括记录模块202, 上游业务单据流转生成下游业务单据时,在来源关系表中记录所述下游业务单据与其上游 所有单据之间的对应流转信息;输入模块204,输入查询信息;查询模块206,根据所述查询 信息,在来源关系表中获取对应所述查询信息的流转信息,所述流转信息包括待查单据对 应的关键字段和所述关键字段的对应数据信息,并获取所述关键字段的所述对应数据信息 作为查询结果。在上述技术方案中,所述输入模块204输入的查询信息包括来源单据的单据ID或 单据类型。在上述技术方案中,所述输入模块204输入的查询信息还包括所述待查单据的单 据ID或单据类型。在上述技术方案中,所述第一查询模块206查询的所述流转信息还包括所述待查 单据的单据ID和单据类型,以及所述来源单据的单据ID和单据类型。图3是根据本发明的一个实施例的跟踪查询单据的方法的业务表的原始查询结 构图。如图3所示,业务表由A级到B级、B级到C级、C级到D级逐级流转。当需要查询 D级业务与A级业务的执行关系时,必须经过A与B的关联、B与C的关联、C与D的关联才 能得到A级业务在D环节的执行信息。根据本实施例的跟踪查询单据的方法,首先添加一张来源关系表,用来描述A、B、 C、D级业务表逐级流转关系与关键信息,使原来查询业务在各环节执行情况的树形结构转 换为只针对某个业务单据与来源关系表S的联合即可达到查询目的的线性查询。当要查询 某业务在各个环节的执行情况时,只要在S表中查询来源为该业务单据的数据即可得到查 询结果。通过来源关系表记录单据流转的关系,主要包括本单单据ID、本单单据明细ID、 本单单据类型、来源单单据ID、来源单单据明细ID、来源单单据类型及本单单据重要关键 字段,如最关心、常用的数量等其它关键字段,来源单单据明细ID和本单单据明细ID用于 管理流转关系。当发生单据流转时,建立并维护该表,如A流转到B,在S上记 A流转到B的来源关系及流转时B表上的业务数据关键字段信息,当从B流转到C时,除了记录B到C 的来源关系及C表上的关键字段信息外,还要把B的上游关系即对应的A到B的关系及复 制到对应的C对应的来源关系中,即在S表中建立C与A的直接关系。即下游单据除直接 生成与直接上游的来源关系外,还需把直接上游对应的所有来源关系也创建,在来源关系 表生成下游单据与所有上游单据的关系。后续再行流转时,依此类推记录来源关系。当需要查询A业务在D业务环节中的执行情况时,只需要在S表中做如下的查询通过D表与S表根据D.单据ID建立关联,且满足S上来源单据类型为A,就可以 直接查询出来A业务在D单据上发生业务的关键信息,实现了跨越多级业务流转的查询。可以用下面的语句示意Select S.关键字段from S where S.来源单据类型为A and S.本单单据ID等 于 D. ID0图4是根据本发明的一个实施例的跟踪查询单据的方法的业务表的流转示意图。如图4所示,有A、B、C、D四个单据在做业务流转,且是依次从A- > B- > C- > D 第一次流转时,A流转到B,在来源关系表S中增加一行记录字段名[本单单据ID]、[本单单据明细ID]、[本单单据类型]、[来源单单据 ID]、[来源单单据明细ID]、[来源单单据类型]、[本单单据重要关键字段信息,即待查询 关键字段]具体值[A. ID]、[Α.明细行ID]、[Α单据类型]、[B. ID]、[B.明细行ID]、[B.单 据类型]、[B单据的待查询关键数据信息,如数量等]第二次流转时,B流转到C,在S中增加一行记录(记录C与B的上游A的关系)字段名[本单单据ID]、[本单单据明细ID]、[本单单据类型]、[来源单单据 ID]、[来源单单据明细ID]、[来源单单据类型]、[本单单据重要关键字段信息,即待查询 关键字段]具体值[C. ID]、[C.明细行ID]、[C单据类型]、[A. ID]、[Α.明细行ID]、[Α单据 类型]、[C单据的待查询关键数据信息,如数量等]以及,在S中再增加一行记录(记录C与B关系)具体值[C. ID]、[C.明细行ID]、[C单据类型]、[B. ID]、[B.明细行ID]、[B单据 类型]、[C单据的待查询关键数据信息,如数量等]第三次流转时,C流转到D时,在S中增加一行记录(记录D与C的二级上游即A 的关系)字段名[本单单据ID]、[本单单据明细ID]、[本单单据类型]、[来源单单据 ID]、[来源单单据明细ID]、[来源单单据类型]、[本单单据重要关键字段信息,即待查询 关键字段]具体值[D. ID]、[D.明细行ID]、[D单据类型]、[A. ID]、[Α.明细行ID]、[Α单据 类型]、[D单据的待查询关键数据信息,如数量等]以及,在S中再增加一行记录(记录D与C的一级上游即B的关系)具体值[D. ID]、[D.明细行ID]、[D单据类型]、[B. ID]、[B.明细行ID]、[B单据 类型]、[D单据的待查询关键数据信息,如数量等]以及,在S中再增加一行记录(记录D与C的直接上游关系)
具体值[D. ID]、[D.明细行ID]、[D单据类型]、[C. ID]、[C.明细行ID]、[C单据 类型]、[D单据的待查询关键数据信息,如数量等]当需要查询A业务在C业务单据的执行情况时可以通过C单据与S关联且来源单 据类型为A单据类型的条件下直接查询得到关键字段对应的数据信息。当需要查询A业务在各种流转环节的执行情况时,只需要在S表中查询来源单据 类型为A的所有关键字段的数据信息,查询效率非常高。根据本发明的技术方案,通过记录来源关系,降低了查询单据执行情况的成本,查 询明显简单,且查询速度、效率明显提高。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种跟踪查询单据的方法,其特征在于,包括步骤102,上游业务单据流转生成下游业务单据时,在来源关系表中记录所述下游业务单据与其上游所有单据之间的对应流转信息;步骤104,根据输入的查询信息,在来源关系表中查找对应所述查询信息的流转信息,所述流转信息包括待查单据对应的关键字段和所述关键字段的对应数据信息;步骤106,获取所述关键字段的所述对应数据信息作为查询结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤102中,所述查询信息包括来源 单据的单据ID或单据类型。
3.根据权利要求2所述的方法,其特征在于,所述步骤102中,所述查询信息还包括所 述待查单据的单据ID或单据类型。
4.根据权利要求2所述的方法,其特征在于,所述步骤104中,所述流转信息还包括所 述待查单据的单据ID和单据类型,以及所述来源单据的单据ID和单据类型。
5.一种跟踪查询单据的装置,其特征在于,包括记录模块,上游业务单据流转生成下游业务单据时,在来源关系表中记录所述下游业 务单据与其上游所有单据之间的对应流转信息;输入模块,输入查询信息;查询模块,根据所述查询信息,在来源关系表中查找对应所述查询信息的流转信息,所 述流转信息包括待查单据对应的关键字段和所述关键字段的对应数据信息,并获取所述关 键字段的所述对应数据信息作为查询结果。
6.根据权利要求5所述的装置,其特征在于,所述输入模块输入的查询信息包括来源 单据的单据ID或单据类型。
7.根据权利要求6所述的装置,其特征在于,所述输入模块输入的查询信息还包括所 述待查单据的单据ID或单据类型。
8.根据权利要求6所述的装置,其特征在于,所述第一查询模块查询的所述流转信息 还包括所述待查单据的单据ID和单据类型,以及所述来源单据的单据ID和单据类型。
全文摘要
本发明提供了一种跟踪查询单据的方法,包括步骤102,上游业务单据流转生成下游业务单据时,在来源关系表中记录下游业务单据与其上游所有单据之间的对应流转信息;步骤104,根据输入的查询信息,在来源关系表中查找对应查询信息的流转信息,流转信息包括待查单据和待查单据对应的关键字段和关键字段的对应数据信息;步骤106,获取关键字段的对应数据信息作为查询结果。本发明还提供了一种跟踪查询单据的装置。根据本发明的技术方案,通过记录来源关系,降低了查询单据执行情况的成本,查询明显简单,且查询速度、效率明显提高。
文档编号G06F17/30GK101894149SQ20101021705
公开日2010年11月24日 申请日期2010年6月23日 优先权日2010年6月23日
发明者司建成 申请人:畅捷通软件有限公司