一种报表展现方法和装置制造方法及图纸

技术编号:22364002 阅读:61 留言:0更新日期:2019-10-23 04:39
本发明专利技术公开了一种报表展现方法和装置。所述方法包括:接收查询请求,查询请求携带报表单据号,根据报表单据号初始化查询字段集;根据用户在所述查询字段集中选择的查询条件信息和所述报表单据号在报表数据库中动态拼写SQL语句,得到SQL查询语句;根据所述SQL查询语句在所述报表数据库中查询相应的结果集,并对所述结果集中的数据进行处理,得到存在上下级关系的树状结构数据;对所述结果集中的树状结构数据在所述报表中进行树形展现。本发明专利技术可以使用户只掌握关键字而不用了解此关键字处于哪一个树状列表的字段上,从而达到快速搜索的目的。

A report presentation method and device

【技术实现步骤摘要】
一种报表展现方法和装置
本专利技术涉及数据处理
,特别涉及一种报表展现方法和装置。
技术介绍
报表就是用表格、图表等格式来显示数据。随着计算机的出现,通过计算机处理数据和界面设计的功能来生成、展示报表成为可能,大量的数据处理需求,催生了许多报表软件,报表软件的主要特点是数据动态化,格式多样化,并且实现报表数据和报表格式的完全分离,表头样式和数据都是事先固定好的,只有报表的内容是动态数据,用户可以只修改数据或者只修改格式。目前,查询树状列表展式报表数据,在搜索的时候经常是固定的条件,若用户只掌握关键字而不了解此关键字处于哪一个树状列表的字段上,则无法进行快速查询。
技术实现思路
本专利技术提供了一种报表展现方法和装置,以解决查询树状列表展示报表数据时,用户不了解查询关键字处于哪一个树状列表的字段上导致搜索速度过慢的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一方面,本专利技术提供一种报表展现方法,包括:接收查询请求,查询请求携带报表单据号;根据报表单据号初始化查询字段集;根据用户在查询字段集中选择的查询条件信息和报表单据号在报表数据库中动态拼写结构化查询语言SQL语句,得到SQL查询语句,报表数据库中注册有SQL语句,每条SQL语句对应一报表单据号;根据SQL查询语句在所述报表数据库中查询相应的结果集,并对结果集中的数据进行处理,得到存在上下级关系的树状结构数据;对结果集中的树状结构数据在所述报表中进行树形展现。另一方面,本专利技术提供一种报表展现装置,包括:接收单元,用于接收查询请求,查询请求携带报表单据号;初始化单元,用于根据报表单据号初始化查询字段集;拼写单元,用于根据用户在查询字段集中选择的查询条件信息和报表单据号在报表数据库中动态拼写结构化查询语言SQL语句,得到SQL查询语句,报表数据库中注册有SQL语句,每条SQL语句对应一报表单据号;查询处理单元,用于根据SQL查询语句在所述报表数据库中查询相应的结果集,并对所述结果集中的数据进行处理,得到存在上下级关系的树状结构数据;展示单元,用于将结果集中的树状结构数据在所述报表中进行树形展现。本专利技术的有益效果是:本专利技术在报表数据库中注册SQL语句,根据查询请求携带的报表单据号动态初始化查询字段集,使得用户可以根据需求选择查询关键字,根据查询关键字动态拼写SQL查询语句进行结果集查询,并根据查询关键字对结果集的数据进行处理,得到存在上下级关系的树状结构数据,将树状结构数据在报表中进行树形展示,使得用户只掌握关键字而不用了解此关键字处于哪一个树状列表的字段上,从而达到快速搜索的目的。附图说明图1为本专利技术实施例提供的报表展现方法流程图;图2为本专利技术实施例提供的在报表中展示树形结构的数据示意图;图3为本专利技术实施例提供的报表展现装置结构框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。图1为本专利技术实施例提供的报表展现方法流程图,如图1所示,本实施例的方法包括:S110,接收查询请求,所述查询请求携带报表单据号。S120,根据报表单据号初始化查询字段集。本实施例中的报表单据号关联查询字段集,所述查询字段集包括所述报表单据号关联的全部查询字段信息。示例性地,如果报表为采购报表,若采购报表单据号对应的查询字段信息包括物品名称、物品型号、物品用途、物品价格,则根据该采购报表单据号初始化的查询字段集中包括上述物品名称、物品型号、物品用途、物品价格;如果报表为人员统计报表,若人员统计报表单据号对应的查询字段信息包括:员工姓名、员工性别、员工岗位、员工请假日期,则根据人员统计报表单据号初始化的查询字段集中包括上述员工姓名、员工性别、员工岗位、员工请假日期。S130,根据用户在查询字段集中选择的查询条件信息和报表单据号在报表数据库中动态拼写结构化查询语言(StructuredQueryLanguage,SQL)语句,得到SQL查询语句;报表数据库中注册有SQL语句,每条SQL语句对应一报表单据号。其中,本实施例的报表数据库为支持SQL查询的数据库。S140,根据SQL查询语句在报表数据库中查询相应的结果集,并对结果集中的数据进行处理,得到存在上下级关系的树状结构数据。S150,将结果集中的树状结构数据在报表中进行树形展现。本实施例以查询条件信息中的查询关键字为根节点对结果集数据进行树形展示,若结果集中的数据包括以A为根节点的树状结构数据、以B为根节点的树状结构数据和以C为根节点的树状结构数据,则在报表中同时展示以A、B、C为根节点的树状结构数据。本实施例在报表数据库中注册SQL语句,根据查询请求携带的报表单据号动态初始化查询字段集,以使得用户可以根据需求选择查询关键字,根据查询关键字动态拼写SQL查询语句进行结果集查询,并根据查询关键字对结果集的数据进行处理,得到存在上下级关系的树状结构数据,将树状结构数据在报表中进行树形展示,使得用户只掌握关键字而不用了解此关键字处于哪一个树状列表的字段上,从而达到快速搜索的目的。本实施例的报表查询方法操作简单便捷,符合用户习惯,适用面广。在本专利技术的一个实施例中,通过下述方法在报表数据库中注册SQL语句:将预先写好的SQL语句按照选择查询Select字段、表查询From字段、查询条件Where字段和查询分组Groupby字段进行拆分,并将拆分得到的分词保存到对应的四张excel表中,该四张excel表通过报表单据号关联,并分别对应于报表数据库中的主表、子表、关系表和查询条件表;将每张excel表对应的分词导入到报表数据库对应的表中。示例性的,以拆分SQL语句selectcolumNamefromtableNamewhereconditionName='值'groupbygroupName为例,按照Select字段、From字段、Where字段和Groupby字段拆分该SQL语句依次分词1-columName,分词2-tableName,分词3-conditionName='值'和分词4-groupName,将分词1-columName导入到主表中,将分词2-tableName导入到子表中,将分词3-conditionName='值'导入到关系表中,将分词4-groupName导入到查询条件表中。实际应用中,二次开发人员预先写一个大而全的统计报表的SQL语句,将所写的SQL语句拆分到相应的excel表中,该四张excel表通过报表单据号关联,并且分别是报表数据库中的主表(FX_ReportConfigGroupMain)、子表(FX_ReportConfigColSub)、关系表(FX_FxConrelationship)和查询条件表(FX_ConfRepGroupWhere),可以使用JSTL工具将每张excel表对应的数据导入到报表数据库相应的表中,完成SQL语句的注册,后续根据生成的查询字段和分组字段,将相应的字段封装成SQL查询语句进行数据查询。在本专利技术的一个实施例中,本实施例通过下述方法初始化查询字段集:根据初始化查询方法getSearchConditionByMenuCode()获取报表单据号对应的查询字段集;根据查询字段集初始化预显示表格的列表头信息,所述预显本文档来自技高网...

【技术保护点】
1.一种报表展现方法,其特征在于,所述方法包括:接收查询请求,所述查询请求携带报表单据号;根据所述报表单据号初始化查询字段集;根据用户在所述查询字段集中选择的查询条件信息和所述报表单据号在报表数据库中动态拼写结构化查询语言SQL语句,得到SQL查询语句,所述报表数据库中注册有SQL语句,每条SQL语句对应一报表单据号;根据所述SQL查询语句在所述报表数据库中查询相应的结果集,并对所述结果集中的数据进行处理,得到存在上下级关系的树状结构数据;将所述结果集中的树状结构数据在报表中进行树形展现。

【技术特征摘要】
1.一种报表展现方法,其特征在于,所述方法包括:接收查询请求,所述查询请求携带报表单据号;根据所述报表单据号初始化查询字段集;根据用户在所述查询字段集中选择的查询条件信息和所述报表单据号在报表数据库中动态拼写结构化查询语言SQL语句,得到SQL查询语句,所述报表数据库中注册有SQL语句,每条SQL语句对应一报表单据号;根据所述SQL查询语句在所述报表数据库中查询相应的结果集,并对所述结果集中的数据进行处理,得到存在上下级关系的树状结构数据;将所述结果集中的树状结构数据在报表中进行树形展现。2.根据权利要求1所述的方法,其特征在于,根据下述方法在所述报表数据库中注册SQL语句:将预先写好的SQL语句按照选择查询Select字段、表查询From字段、查询条件Where字段和查询分组Groupby字段进行拆分,并将拆分得到的分词保存到对应的四张excel表中,该四张excel表通过报表单据号关联,并分别对应于报表数据库中的主表、子表、关系表和查询条件表;将每张excel表对应的分词导入到所述报表数据库对应的表中。3.根据权利要求1所述的方法,其特征在于,所述根据所述报表单据号初始化查询字段集,包括:根据初始化查询方法getSearchConditionByMenuCode()获取所述报表单据号对应的查询字段集;根据所述查询字段集初始化预显示表格的列表头信息,所述预显示表格中设置关键字查询框和条件查询框。4.根据权利要求3所述的方法,其特征在于,所述根据用户在所述查询字段集中选择的查询条件信息和所述报表单据号在报表数据库中动态拼写SQL语句,包括:根据所述关键字查询框中的查询关键字和条件查询框中的查询条件生成分组信息和条件信息;根据所述报表单据号信息抽取用于拼写SQL查询语句的四个对象值;根据所述分组信息和所述条件信息调用语句查询方法getSQL,基于所述四个对象值拼写该查询请求对应的SQL查询语句。5.根据权利要求4所述的方法,其特征在于,所述根据关键字查询框中的查询关键字和条件查询框中的查询条件生成分组信息和条件信息,包括:调用数据查询方法queryFilterData响应用户的选择操作,利用分组表groupMap属性生...

【专利技术属性】
技术研发人员:米玉
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1