CN102819544A - 查询方案的构造方法及装置 - Google Patents
查询方案的构造方法及装置 Download PDFInfo
- Publication number
- CN102819544A CN102819544A CN2011104321224A CN201110432122A CN102819544A CN 102819544 A CN102819544 A CN 102819544A CN 2011104321224 A CN2011104321224 A CN 2011104321224A CN 201110432122 A CN201110432122 A CN 201110432122A CN 102819544 A CN102819544 A CN 102819544A
- Authority
- CN
- China
- Prior art keywords
- scheme
- query
- query scheme
- current
- filtercondition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种查询方案的构造方法及装置,其方法包括:通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。本发明在构造查询方案时,将已有查询方案组合到新的查询方案中,当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且减少了工作量。
Description
技术领域
本发明涉及企业管理信息技术领域,尤其涉及一种查询方案的构造方法及装置。
背景技术
ERP(Enterprise Resource Planning,企业资源规划)系统是建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。它是从MRP(Material Requirement Planning,物料需求计划)发展而来的新一代集成化管理信息系统,扩展了MRP的功能,其核心思想是供应链管理,把企业的物流、人流、资金流、信息流、时间和空间等资源进行综合平衡和优化管理,协调企业各管理部门,围绕市场导向开展业务活动,提高企业的核心竞争力,以求最大限度地利用企业现有资源,实现企业经济效益的最大化。
在企业管理系统中,通常支持用户针对每个单据建立多个查询方案。而用户经常需要建立逐层嵌套的若干查询方案,或者建立一个组合了多个已有查询方案的新查询方案。
现有的ERP系统通常只是针对每个单据建立过滤条件集合,条件间通过AND、OR和括号进行组合;或者支持将已有方案复制为新方案。对于第一种情形,由于只支持用户通过逐个添加过滤条件来建立新的查询方案,因此需要将复用的查询方案的内容进行重复建立;对于第二种情形,虽然比逐个条件手工建立方案方便很多,但是,当原方案对应的条件有变化时,则需要对每个含有与原方案同样条件的方案进行重复修改。
发明内容
本发明的主要目的在于提供一种查询方案的构造方法及装置,旨在简化查询方案的建立过程,减少工作量。
为了达到上述目的,本发明提出一种查询方案的构造方法,包括:
通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;
根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
优选地,所述通过已有查询方案复用的方式构造当前查询方案的步骤包括:
将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
优选地,当用户修改当前查询方案时,所述将已有查询方案作为子查询方案放入查询条件设置列表中的步骤之前还包括:
检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则
将已有查询方案放入查询条件设置列表中。
优选地,所述通过增加过滤条件构造当前查询方案的步骤包括:
将增加的过滤条件放入查询条件设置列表中,构造当前查询方案
优选地,所述根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句的步骤包括:
通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句。
优选地,该方法还包括:
将当前查询方案的内部信息及所述查询语句存储在本地。
本发明还提出一种查询方案的构造装置,包括:
查询方案构造模块,用于通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;
查询语句构造模块,用于根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
优选地,所述查询方案构造模块包括:
放入单元,用于将增加的过滤条件放入查询条件设置列表中或者将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
优选地,所述查询方案构造模块还包括:
检查单元,用于检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则,由所述放入单元将已有查询方案放入查询条件设置列表中。
优选地,所述查询语句构造模块还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及所述查询语句存储在本地。
本发明提出的一种查询方案的构造方法及装置,在构造查询方案时,将已有查询方案组合到新的查询方案中,当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且减少了工作量。
附图说明
图1是本发明查询方案的构造方法较佳实施例的流程示意图;
图2是本发明查询方案的构造方法较佳实施例中当用户修改当前查询方案时,通过已有查询方案复用的方式构造当前查询方案的流程示意图;
图3是本发明查询方案的构造装置较佳实施例的结构示意图;
图4是本发明查询方案的构造装置较佳实施例中查询方案构造模块的结构示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例解决方案主要是:在构造查询方案时,将已有查询方案组合到新的查询方案中,根据新的查询方案构造查询语句提供给客户端,当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,简化查询方案的建立过程,减少工作量。
如图1所示,本发明较佳实施例提出一种查询方案的构造方法,包括:
步骤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还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及查询语句存储在本地,并传输至客户端。
本发明实施例查询方案的构造方法及装置在用户构造查询方案时,除了可以灵活的增加过滤条件外,还可以通过鼠标拖放的方式将已有查询方案加入到过滤条件中;查询方案设置完成后,进行查询时,本实施例的装置自动把子查询方案中的实际过滤条件组合进整个过滤条件集合中进行查询。当原方案对应的条件有变化时,只需要修改原方案中的过滤条件即可,由此最大限度的复用已有查询方案,避免对不同方案中相同的过滤条件多次进行修改,不仅简化了查询方案的建立过程,而且减少了工作量。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种查询方案的构造方法,其特征在于,包括:
通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;
根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
2.根据权利要求1所述的方法,其特征在于,所述通过已有查询方案复用的方式构造当前查询方案的步骤包括:
将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
3.根据权利要求2所述的方法,其特征在于,当用户修改当前查询方案时,所述将已有查询方案作为子查询方案放入查询条件设置列表中的步骤之前还包括:
检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则
将已有查询方案放入查询条件设置列表中。
4.根据权利要求1所述的方法,其特征在于,所述通过增加过滤条件构造当前查询方案的步骤包括:
将增加的过滤条件放入查询条件设置列表中,构造当前查询方案
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句的步骤包括:
通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句。
6.根据权利要求5所述的方法,其特征在于,还包括:
将当前查询方案的内部信息及所述查询语句存储在本地。
7.一种查询方案的构造装置,其特征在于,包括:
查询方案构造模块,用于通过增加过滤条件和/或已有查询方案复用的方式构造当前查询方案;
查询语句构造模块,用于根据所述当前查询方案中的过滤条件和/或引入的子查询方案构造查询语句,并输出至客户端。
8.根据权利要求7所述的装置,其特征在于,所述查询方案构造模块包括:
放入单元,用于将增加的过滤条件放入查询条件设置列表中或者将已有查询方案作为子查询方案放入查询条件设置列表中,构造当前查询方案。
9.根据权利要求8所述的装置,其特征在于,所述查询方案构造模块还包括:
检查单元,用于检查已有查询方案及其中包含的子查询方案是否引用了当前修改的查询方案;若是,则提示用户禁止引入;否则,由所述放入单元将已有查询方案放入查询条件设置列表中。
10.根据权利要求7、8或9所述的装置,其特征在于,所述查询语句构造模块还用于通过递归的方式,逐层将当前查询方案的下层子查询方案中的过滤条件取出,并拼接构造成查询语句;以及将当前查询方案的内部信息及所述查询语句存储在本地。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104321224A CN102819544A (zh) | 2011-12-21 | 2011-12-21 | 查询方案的构造方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104321224A CN102819544A (zh) | 2011-12-21 | 2011-12-21 | 查询方案的构造方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102819544A true CN102819544A (zh) | 2012-12-12 |
Family
ID=47303657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104321224A Pending CN102819544A (zh) | 2011-12-21 | 2011-12-21 | 查询方案的构造方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102819544A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213780A (zh) * | 2018-08-24 | 2019-01-15 | 周宁 | 一种查询命名及复用支撑系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177720A1 (en) * | 2007-01-19 | 2008-07-24 | Vladimir Mordvinov | System and method for query planning for execution using conditional operators |
CN101382957A (zh) * | 2008-10-24 | 2009-03-11 | 用友软件股份有限公司 | 建立查询模型的系统及建立方法 |
CN101593203A (zh) * | 2009-05-12 | 2009-12-02 | 用友软件股份有限公司 | 带有前处理和后处理的数据库复合查询系统及方法 |
CN101770469A (zh) * | 2008-12-31 | 2010-07-07 | 中国银联股份有限公司 | 一种基于页面的数据查询方法及其系统 |
-
2011
- 2011-12-21 CN CN2011104321224A patent/CN102819544A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177720A1 (en) * | 2007-01-19 | 2008-07-24 | Vladimir Mordvinov | System and method for query planning for execution using conditional operators |
CN101382957A (zh) * | 2008-10-24 | 2009-03-11 | 用友软件股份有限公司 | 建立查询模型的系统及建立方法 |
CN101770469A (zh) * | 2008-12-31 | 2010-07-07 | 中国银联股份有限公司 | 一种基于页面的数据查询方法及其系统 |
CN101593203A (zh) * | 2009-05-12 | 2009-12-02 | 用友软件股份有限公司 | 带有前处理和后处理的数据库复合查询系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213780A (zh) * | 2018-08-24 | 2019-01-15 | 周宁 | 一种查询命名及复用支撑系统和方法 |
CN109213780B (zh) * | 2018-08-24 | 2021-09-07 | 周宁 | 一种查询命名及复用支撑系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019232804B2 (en) | Decision tables and flow engine for building automated flows within a cloud based development platform | |
CN104216912B (zh) | 一种无侵入式的业务表单工作流化的实现方法与装置 | |
CN105824625B (zh) | 一种基于云环境的业务应用构造装置及方法 | |
CN110516986B (zh) | 包裹生产模式下的集合单组建方法和装置 | |
US20110246253A1 (en) | Provision of support services as a service | |
US10079778B2 (en) | Customer controlled video network | |
EP3401788B1 (en) | Event stream processing system | |
CN104182846A (zh) | 一种客户管理系统 | |
US11698888B2 (en) | Form field creation systems and methods | |
CN103390218A (zh) | 突发事件“三链耦合”一体化应急保障系统及方法 | |
He | Applications deployment on the SaaS platform | |
US11848986B2 (en) | Methods, apparatuses and computer program products for managing product feature release in a cloud-based computing environment | |
CN103729742B (zh) | 一种基于soa架构和模型驱动架构的数据资源管理系统 | |
Phalake et al. | Low code development platform for digital transformation | |
CN109934717A (zh) | 一种基于分布式架构的众筹平台系统及其方法 | |
CN115719207A (zh) | 超自动化平台系统 | |
CN105446812A (zh) | 一种多任务调度配置方法 | |
CN106257520A (zh) | 解析应答方法及系统 | |
CN109993550A (zh) | 基于微信小程序和智能分配算法的售后服务系统与方法 | |
CN110782223A (zh) | Oa系统的通用工作流装置及通用工作流实现方法 | |
CN114048135A (zh) | 基于流水线的代码执行方法、装置、电子设备及介质 | |
CN102819544A (zh) | 查询方案的构造方法及装置 | |
CN112511520A (zh) | 一种电力行业网络安全管理系统及方法 | |
CN109858905B (zh) | 跨系统的电子凭证处理方法及装置 | |
EP3624027A1 (en) | Decision tables and flow engine for building automated flows within a cloud based development platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121212 |