查询方案的构造方法及装置的制作方法

文档序号:6442427阅读:233来源:国知局
专利名称:查询方案的构造方法及装置的制作方法
技术领域
本发明涉及企业管理信息技术领域,尤其涉及一种查询方案的构造方法及装置。
背景技术
ERP (Enterprise Resource Planning,企业资源规划)系统是建立在信息技术基础上,以系统化的管理思想,为企业决策层及员エ提供决策运行手段的管理平台。它是从MRP (Material Requirement Planning,物料需求计划)发展而来的新一代集成化管理信息系统,扩展了 MRP的功能,其核心思想是供应链管理,把企业的物流、人流、资金流、信息流、时间和空间等资源进行综合平衡和优化管理,协调企业各管理部门,围绕市场导向开展业务活动,提高企业的核心竞争力,以求最大限度地利用企业现有资源,实现企业经济效益的最大化。 在企业管理系统中,通常支持用户针对每个单据建立多个查询方案。而用户经常需要建立逐层嵌套的若干查询方案,或者建立一个组合了多个已有查询方案的新查询方案。现有的ERP系统通常只是针对每个单据建立过滤条件集合,条件间通过AND、0R和括号进行组合;或者支持将已有方案复制为新方案。对于第一种情形,由于只支持用户通过逐个添加过滤条件来建立新的查询方案,因此需要将复用的查询方案的内容进行重复建立;对于第二种情形,虽然比逐个条件手工建立方案方便很多,但是,当原方案对应的条件有变化时,则需要对每个含有与原方案同样条件的方案进行重复修改。

发明内容
本发明的主要目的在于提供一种查询方案的构造方法及装置,g在简化查询方案的建立过程,減少工作量。为了达到上述目的,本发明提出一种查询方案的构造方法,包括通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。优选地,所述通过已有查询方案复用的方式构造当前查询方案的步骤包括将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。优选地,当用户修改当前查询方案时,所述将已有查询方案作为子查询方案放入查询条件设置列表中的步骤之前还包括检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则将已有查询方案放入查询条件设置列表中。优选地,所述通过増加过滤条件构造当前查询方案的步骤包括将增加的过滤条件放入查询条件设置列表中,构造当前查询方案
优选地,所述根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句的步骤包括通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句。优选地,该方法还包括将当前查询方案的内部信息及所述查询语句存储在本地。本发明还提出一种查询方案的构造装置,包括查询方案构造模块,用于通过増加过滤条件和/或已有查询方案复用的方式构造当前查询方案;
查询语句构造模块,用于根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。优选地,所述查询方案构造模块包括放入単元,用于将增加的过滤条件放入查询条件设置列表中或者将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。优选地,所述查询方案构造模块还包括检查单元,用于检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则,由所述放入単元将已有查询方案放入查询条件设置列表中。优选地,所述查询语句构造模块还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及所述查询语句存储在本地。本发明提出的一种查询方案的构造方法及装置,在构造查询方案时,将已有查询方案组合到新的查询方案中,当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且減少了工作量。


图I是本发明查询方案的构造方法较佳实施例的流程示意图;图2是本发明查询方案的构造方法较佳实施例中当用户修改当前查询方案时,通过已有查询方案复用的方式构造当前查询方案的流程示意图;图3是本发明查询方案的构造装置较佳实施例的结构示意图;图4是本发明查询方案的构造装置较佳实施例中查询方案构造模块的结构示意图。为了使本发明的技术方案更加清楚、明了,下面将结合附图作进ー步详述。
具体实施例方式本发明实施例解决方案主要是在构造查询方案时,将已有查询方案组合到新的查询方案中,根据新的查询方案构造查询语句提供给客户端,当原方案对应的条件有变化吋,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,简化查询方案的建立过程,減少工作量。如图I所示,本发明较佳实施例提出一种查询方案的构造方法,包括步骤S101,通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;由于现有的ERP系统通常只是针对每个单据建立过滤条件集合,条件间通过AND、OR和括号进行组合,或者支持将已有方案复制为新方案,在用户通过逐个添加过滤条件来建立新的查询方案时,需要将复用的查询方案的内容进行重复建立;或者当原方案对应的条件有变化时,需要对每个含有与原方案同样条件的方案进行重复修改。本实施例通过增加过滤条件并结合已有查询方案复用的方式构造当前查询方案,可以简化查询方案的建立过程,減少工作量。具体地,在实施本查询方案的构造方法的装置中设置有已有查询方案列表及查询 条件设置列表,若通过增加过滤条件来构造查询方案,则将增加的过滤条件放入查询条件设置列表中,以此构造当前查询方案。若通过已有查询方案复用的方式来构造查询方案,则将已有查询方案作为子查询方案通过鼠标拖放入查询条件设置列表中。其中,以新建查询方案和修改查询方案两种情形分别进行处理。若用户新建查询方案,则从已有查询方案中选取需要引入的已有查询方案,并将选取的已有查询方案作为子查询方案,通过鼠标拖放入查询条件设置列表中。若用户需要修改查询方案时,则选取需要引入的已有查询方案,在将已有查询方案放入查询条件设置列表之前,还需要对引入的已有查询方案进行检查,检查正引入的已有查询方案是否引用了当前正修改的查询方案,如果正引入的已有查询方案引用了当前正修改的查询方案,则提示用户“禁止引入”,如果正引入的已有查询方案没有引用当前正修改的查询方案,则将此已有查询方案作为子查询方案显示到查询条件设置列表中。因为如果当前查询方案被下层查询方案引用,则在后续解析生成最終查询语句时,会出现死循环的情況。具体地,在通过鼠标进行拖入操作时,在鼠标KEYUP事件中,通过本实施例装置中前端交互处理器调用后台循环引用检查器,检查是否当前查询方案已被正拖入的已有查询方案所引用,如果已被引用,则提示用户“禁止引入”,否则将此方案显示到查询条件设置列表中。步骤S102,根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。当用户构建完查询方案后执行确定操作,本实施例装置调用预设的查询方案管理器将查询方案中的过滤条件和引入的子查询方案传递给查询语句构造器来构造sql语句。然后再调用查询语句构造器通过递归的方式逐层将下层子查询方案中的查询条件取出,并拼接到最終查询语句中。查询方案管理器负责将当前查询方案本身的信息和最終查询语句进行持久化存储并返回客户端待用。具体地,在本实施例中,前端交互处理器实质为一段JS(javaSCript,浏览器脚本语言)程序,负责提供对鼠标从已有查询方案列表中拖已有查询方案至查询条件设置列表功能的支持,同时负责在将已有查询方案放入查询条件设置列表前的检查引用情況。循环引用检查器负责检查传入的子查询方案及其中包含的查询方案是否引用了当前正修改的查询方案。查询方案管理器负责存取查询方案,并负责将当前查询方案对应的sql语句输出到客户端。查询语句构造器负责通过递归的方式逐层将下层子查询方案中的查询条件取出并拼接到最終查询语句中。具体实施过程中,如图2所示,当用户修改当前查询方案时,通过已有查询方案复用的方式构造当前查询方案的步骤包括
步骤S1011,当用户修改当前查询方案吋,检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若已有查询方案及其中包含的子查询方案引用了当前修改的查询方案,则进入步骤S1012 ;若已有查询方案及其中包含的子查询方案没有引用当前修改的查询方案,则进入步骤S1013 ;步骤S1012,提示用户禁止引入;步骤S1013,将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。本实施例在用户构造查询方案时,除了可以灵活的增加过滤条件外,还可以通过鼠标拖放的方式将已有查询方案加入到过滤条件中;查询方案设置完成后,进行查询时,本实施例的装置自动把子查询方案中的实际过滤条件组合进整个过滤条件集合中进行查询。当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且減少了工作量。如图3所示,本发明较佳实施例提出一种查询方案的构造装置,包括查询方案构造模块301以及查询语句构造模块302,其中查询方案构造模块301,用于通过増加过滤条件和/或已有查询方案复用的方式构造当前查询方案;查询语句构造模块302,用于根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。由于现有的ERP系统通常只是针对每个单据建立过滤条件集合,条件间通过AND、OR和括号进行组合,或者支持将已有方案复制为新方案,在用户通过逐个添加过滤条件来建立新的查询方案时,需要将复用的查询方案的内容进行重复建立;或者当原方案对应的条件有变化时,需要对每个含有与原方案同样条件的方案进行重复修改。本实施例通过增加过滤条件并结合已有查询方案复用的方式构造当前查询方案,可以简化查询方案的建立过程,減少工作量。具体地,本实施例装置中设置有已有查询方案列表及查询条件设置列表,若通过增加过滤条件来构造查询方案,则查询方案构造模块301将增加的过滤条件放入查询条件设置列表中,以此构造当前查询方案。若通过已有查询方案复用的方式来构造查询方案,则查询方案构造模块301将已有查询方案作为子查询方案通过鼠标拖放入查询条件设置列表中。
其中,以新建查询方案和修改查询方案两种情形分别进行处理。若用户新建查询方案,则从已有查询方案中选取需要引入的已有查询方案,并将选取的已有查询方案作为子查询方案,通过鼠标拖放入查询条件设置列表中。若用户需要修改查询方案时,则选取需要引入的已有查询方案,在将已有查询方案放入查询条件设置列表之前,还需要对引入的已有查询方案进行检查,检查正引入的已有查询方案是否引用了当前正修改的查询方案,如果正引入的已有查询方案引用了当前正修改的查询方案,则提示用户“禁止引入”,如果正引入的已有查询方案没有引用当前正修改的查询方案,则将此已有查询方案作为子查询方案显示到查询条件设置列表中。因为如果当前查询方案被下层查询方案引用,则在后续解析生成最終查询语句时,会出现死循环的情況。具体地,在通过鼠标进行拖入操作时,在鼠标KEYUP事件中,查询方案构造模块 301通过本实施例装置中前端交互处理器调用后台循环引用检查器,检查是否当前查询方案已被正拖入的已有查询方案所引用,如果已被引用,则提示用户“禁止引入”,否则将此方案显示到查询条件设置列表中。当用户通过查询方案构造模块301构建完查询方案后执行确定操作,查询语句构造模块302调用预设的查询方案管理器将查询方案中的过滤条件和引入的子查询方案传递给查询语句构造器来构造sql语句。并通过查询语句构造器以递归的方式逐层将下层子查询方案中的查询条件取出,再拼接到最終查询语句中。查询方案管理器负责将当前查询方案本身的信息和最終查询语句进行持久化存储并返回客户端待用。具体地,在本实施例中,前端交互处理器实质为一段JS(javaSCript,浏览器脚本语言)程序,负责提供对鼠标从已有查询方案列表中拖已有查询方案至查询条件设置列表功能的支持,同时负责在将已有查询方案放入查询条件设置列表前的检查引用情況。循环引用检查器负责检查传入的子查询方案及其中包含的查询方案是否引用了当前正修改的查询方案。查询方案管理器负责存取查询方案,并负责将当前查询方案对应的sql语句输出到客户端。查询语句构造器负责通过递归的方式逐层将下层子查询方案中的查询条件取出并拼接到最終查询语句中。具体实施过程中,如图4所示,上述查询方案构造模块301包括放入单元3011以及检查单元3012,其中放入单元3011,用于将增加的过滤条件放入查询条件设置列表中或者将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。检查单元3012,用于检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则,由放入単元3011将已有查询方案放入查询条件设置列表中。进ー步的,上述查询语句构造模块302还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及查询语句存储在本地,并传输至客户端。本发明实施例查询方案的构造方法及装置在用户构造查询方案时,除了可以灵活的增加过滤条件外,还可以通过鼠标拖放的方式将已有查询方案加入到过滤条件中;查询方案设置完成后,进行查询时,本实施例的装置自动把子查询方案中的实际过滤条件组合进整个过滤条件集合中进行查询。当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且減少了工作量。 以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种查询方案的构造方法,其特征在于,包括 通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案; 根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
2.根据权利要求I所述的方法,其特征在于,所述通过已有查询方案复用的方式构造当前查询方案的步骤包括 将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
3.根据权利要求2所述的方法,其特征在干,当用户修改当前查询方案时,所述将已有查询方案作为子查询方案放入查询条件设置列表中的步骤之前还包括 检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则 将已有查询方案放入查询条件设置列表中。
4.根据权利要求I所述的方法,其特征在于,所述通过増加过滤条件构造当前查询方案的步骤包括 将增加的过滤条件放入查询条件设置列表中,构造当前查询方案
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句的步骤包括 通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句。
6.根据权利要求5所述的方法,其特征在于,还包括 将当前查询方案的内部信息及所述查询语句存储在本地。
7.—种查询方案的构造装置,其特征在于,包括 查询方案构造模块,用于通过増加过滤条件和/或已有查询方案复用的方式构造当前查询方案; 查询语句构造模块,用于根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
8.根据权利要求7所述的装置,其特征在于,所述查询方案构造模块包括 放入単元,用于将增加的过滤条件放入查询条件设置列表中或者将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
9.根据权利要求8所述的装置,其特征在于,所述查询方案构造模块还包括 检查单元,用于检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则,由所述放入単元将已有查询方案放入查询条件设置列表中。
10.根据权利要求7、8或9所述的装置,其特征在于,所述查询语句构造模块还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及所述查询语句存储在本地。
全文摘要
本发明涉及一种查询方案的构造方法及装置,其方法包括通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。本发明在构造查询方案时,将已有查询方案组合到新的查询方案中,当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且减少了工作量。
文档编号G06F17/30GK102819544SQ20111043212
公开日2012年12月12日 申请日期2011年12月21日 优先权日2011年12月21日
发明者李跃 申请人:金蝶软件(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1