一种基于组件的报表快速生成方法及系统
技术领域
本发明属于计算机技术领域,尤指一种基于组件的报表快速生成方法及系统,涉及电力应急信息技术处理领域。
背景技术
应急管理业务系统是应急指挥中心的核心系统,可以实现应急信息的汇集、交换、处理和发布。
本发明所述的一种基于组件的报表快速生成方法及系统,用于应急管理业务应用系统中应急信息上报下发及统计功能,主要具有应急过程中人、财、物及电网负荷损失数据的统计分析功能,即在灾害应急处置时,及时将人、财、物及电网负荷损失数据从省、地市汇集上报,在总部进行汇总统计。这些数据能够为决策层了解受损动态,掌控抢险救援恢复情况提供依据;为应急评估和实施应急救援提供实时、可靠、准确的数据保障,并为总结经验和建立应急机制提供数据支持。
制作报表模板关键在于数据库的设计、数据集的编写和报表模板的设计。本发明的关键在于:模板能满足应急领导小组对应急信息展示多样性、图表展示等多种需求,而且报表易于快速生产,方便实用,可反复使用,参数设置少。
为了减少重复的开发类似或者相像的报表模板,本发明建立了一个专业型报表组件库。
发明内容
本发明主要是提出一种基于组件的报表生成方法及系统的总体结构如附图1所示,这种基于组件的报表快速生成系统,用于建立填报报表模板和统计报表模板的基本信息,并根据事件来检索相关联的填报及统计报表;规定需要填报这些报表的单位,包括报表管理系统和报表处理系统,其中报表管理系统是通过报表组件来配置管理事件相关的报表结构,并对报表组件进行管理维护,包括报表事件关联维护、报表填报机构定义、报表基本信息定义、报表组成结构配置和报表组件定义维护等;报表处理系统由多个可被复用的细粒度报表组件及报表处理引擎构成,负责生成最终的填报报表和统计报表。
所述报表管理系统一系列管理功能模块组成,用以使用报表组件来配置管理事件相关的报表结构,并对报表组件进行管理维护;
所述报表基本信息定义、报表组成结构配置和报表组件定义维护是建立报表的主要信息、组件、组件之间关系的基本维护;
所述报表事件关联维护是建立事件与一个或多个报表的关联关系的维护;
所述报表填报机构定义是在报表事件关联维护之后,规定该事件需要填报的报表的组织机构等单位;
所述报表处理系统由多个可被复用的细粒度报表业务组件与报表处理引擎服务器构成,报表业务组件是分业务类别存储的,报表处理引擎服务器负责管理业务报表组件及利用报表处理引擎展现、生成最终的填报与统计报表。
本发明还提出了一种使用上述系统的方法,其特征在于包括以下步骤:
1)建立报表基本信息,包括报表名称、需填报的周期、报表填报模板文件名称和统计模板文件名称,报表事件类型,报表的类型、报表的别名、报表的状态和备注等信息;
2)根据业务分析需要的报表组件,在报表组件定义维护及报表处理引擎服务器中寻找合适的业务组件;
3)当报表处理引擎服务器的报表业务组件库中没有所需的报表组件时,需要根据业务新建相应的报表组件,分析表格的可复用度,尽量使报表组件的可复用度达到最高。在制作报表组件时,在遇到内容相似,形式相同的报表,通过报表组成结构配置,建立结构编号、结构名称、结构参数,报表编号及父结构编号,可将组件在填报和统计报表中重复扩展;
4)当报表处理引擎服务器的报表业务组件库中有所需的报表组件时,不必新建新的报表业务组件,然后可利用报表组成结构配置中的结构序号、报表编号、结构名称、结构组件报表等将所需组件按一定的次序排列组合起来;
5)报表模板建立之后,进行报表与事件关联,将具体发生的某事件与总部针对该事件类型或综合类型制作的报表模板建立一对一或者一对多的对应关系。包括报表编号、事件编号、事件类型、报表状态、启用结束人员、启用结束事件,以及报表排列序号等,从而使省、地市、县公司通过该事件查询出需要填报的报表,填写相关的报表,并报送至总部;
6)建立报表与事件关联关系之后,进行报表填报机构定义,规定该事件需要进行填报的组织机构、具体发生事件与组织机构之间的一对一或者一对多的关联关系,主要包括事件编号,单位编号,报表下发时间,报表启用时间,报表结束时间以及发送状态等,从而在总部展示统计报表时就可以轻而易举的根据所规定的组织机构显示相关报表内容;
7)在展示填报报表时,首先需要根据具体发生的事件搜索出所需填报的报表模板,列出报表名称,根据报表基本信息寻找到相关填报报表的模板名称,再根据相应信息在报表组成结构配置中寻找相应的报表业务组件名称,通过组件名称,到报表处理引擎服务器中查找别名一致的报表组件;根据报表组成结构配置的组合方式将报表组件结合,并根据报表处理引擎服务器中的报表处理引擎将填报报表展示出来供省、地市、县单位进行填报;填报规则是各个单位只能填写或修改自己单位的数据项,不得填写或修改其他单位的数据项;填写完成后,省单位可以查看的数据,地市及县公司只能查看自己单位的数据,省公司将自己单位以及其下属单位数据打包,发送给总部,总部可以针对上报的数据等信息进行统计分析;
8)在展示统计报表时,首先需要根据具体发生的事件搜索出所需统计的报表模板,列出报表名称,根据报表基本信息寻找到相关统计报表的模板名称,选择需要统计的起始时间和结束时间,根据报表填报机构定义,查询出该事件需要进行报表统计的组织机构;再根据相应信息在报表组成结构配置中寻找相应的报表业务组件名称,通过组件名称,到报表处理引擎服务器中查找别名一致的报表组件;根据报表组成结构配置的组合方式将报表组件结合,并根据报表处理引擎服务器中的报表处理引擎将统计报表展示出来供总部进行分析;
9)报表处理引擎根据用户需要,将省、地市、县公司单位的数据进行分层、分类,可以在表格中显示省、地市、县公司三级单位的数据,也可只展示省、地市二级单位的数据,将县公司的数据和地市自身的数据全部加权至地市单位,也可只展示省单位的数据,但将地市和县公司的数据加权至省公司,这样就不存在漏加,错加,算错的现象,更方便用户灵活统计业务数据;
10)报表处理引擎可将数据在表格、柱状图、饼状图、折线图等图表中做展示;
11)至此,完成报表从制作到通过报表处理引擎服务器展示的全过程。
本发明技术方案的优点是:
1.细粒度业务组件式设计,可以灵活配置,能够重复利用报表业务组件,快速生成报表,减少开发周期,提高开发效率;
2.组件库种类多,涵盖面广,数据结构合理,业务耦合较小,能快速高效的制作报表模板,适应用户的各种需求;
3.能够多级部署,可以设计填报报表和统计报表,具有数据校验和纠错功能,保证数据的有效性及完整性。
4.由报表管理系统、报表处理系统两部分组成,报表管理系统由报表事件关联维护、报表填报机构定义、报表基本信息定义、报表组成结构配置、报表组件定义维护等一系列管理功能组成,用以使用报表组件来配置管理事件相关的报表结构,并对报表组件进行管理维护。报表处理系统由多个可被复用的细粒度报表组件与报表处理引擎构成,负责生成最终的填报与统计报表。
附图说明
下面结合附图对本发明进一步说明。
图1是本发明所述的一种基于组件的报表生成方法及系统的总体结构图。
图2是报表数据模型的配置关系图。
图3是拆分实际的一张报表。
图4是根据业务组件生成报表的简单应用举例。
图5是城网低压电力设施受损及恢复情况填报报表。
图6和图7的方式将图5的表拆成两部分。
图8是城网低压电力设施受损及恢复情况统计报表。
具体实施方式
一种基于组件的报表生成方法及系统的总体结构如附图1所示。由报表管理系统、报表处理系统两部分组成,其中报表管理系统由一系列的管理功能组成,用以使用报表组件来配置管理事件相关的报表结构,并对报表组件进行管理维护。报表处理系统由多个可被复用的细粒度报表组件与报表处理引擎服务器构成,负责生成最终的填报与统计报表。
1)报表管理系统
负责对下发的报表进行配置、管理。主要功能包括:报表事件关联维护、报表填报机构定义、报表基本信息定义、报表组成结构配置、报表组件定义维护等管理功能。
报表事件关联维护是将具体发生的某事件与总部针对该事件下发的报表模板建立一对一或一对多的对应关联关系,从而使省、地市、县通过该事件查询出需要填报或统计的报表。
报表填报机构定义目的是针对一次事件,指定需要填报总部下发报表的省、地市、县的机构,从而可以判别出有哪些单位需要填报,并及时通知相关机构或单位,使这些机构或单位可以通过系统查询出需要填报的报表。
报表基本信息定义用以定义报表模板的基本信息,包括:报表名称、需填报的周期、报表填报模板和统计模板的名称、事件类型、报表的类型、状态等信息。
报表组成结构配置是将报表组件通过可视化的定义方式按照总部下发的报表进行组合配置,通过重用现有的报表组件,减少开发工作量与工作时间,从而实现快速应变总部应急信息报表的需求。
报表组件定义维护为报表组件提供管理功能,包括对报表组件的含义说明、参数配置说明、组件保存位置等信息的维护。
2)报表处理系统
报表处理系统是按照报表组成结构定义进行报表组件组装的技术实现部分,它主要由一组报表组件以及一个报表处理引擎服务器组成。
报表组件是组成报表的最小原子颗粒,是将已有的总部下发的报表进行分析后抽象而成,用以提供报表管理系统进行报表结构定义重复使用。分为填报报表和统计报表两个大类,目前正在使用的组件有:组织机构树组件、变电站组件、输电线路组件、输电线路铁塔倒塔组件、人员伤亡组件、抢修队伍及人员组件、用电客户组件、物资供应组件18个专业类别,共计46个组件。
报表处理引擎服务器,主要由用于存储报表组件和报表处理引擎组成。报表处理引擎为报表组成结构的定义提供技术支撑,驱动原子组件构成最终满足总部需求的报表,用来提供报表的填报与统计功能。
报表数据模型的配置关系如图2所示。在总部系统中,需要配置事件信息、报表基本信息、报表与事件关联关系配置、报表组成结构、报表组件库、报表填报机构、报表报送状态等数据结构。
事件信息描述事件的基本信息,包括事件的名称、事件地区及详细地址、事件类型、事件等级、信息途径、报送单位、报送人、信息状态、影响范围、事件原因、事件描述、造成的损失、信息附件等基本信息;
报表基本信息描述报表的基本信息,包括报表名称、报表类型、报表填报周期、报表别名等信息;
报表与事件关联关系配置。配置该事件下需要的报表,以及填报统计的时间等信息,一个事件可以对应多个报表;
报表填报机构描述该事件所关联的报表所需要填报的机构,与事件相关联,与报表的关系为多对多关系;
报表组成结构报表组件组合描述报表的组成结构,一个报表数据对应多条组成结构的数据;
报表组件库描述报表组件的基本信息、组件保存位置等数据。
报表填报机构描述总部需要哪些组织机构来填报已下发的报表中的数据。
报表系统通过数据交换平台获取与总部相同的数据结构,并增加报表报送状态与子报表填报状态两个结构,分别用以标示是否已经将填报完成的数据报表报送给总部和是否完成报表中每个组件的数据填报。
图3所示为拆分实际的一张报表,报表系统分为填报报表和统计报表,在报表展示时都存在一个共性问题,就是如何拆分组件,以及将报表展现出来。拆分实际的一张报表,使之成为本发明中所述的若干个组件,再通过配置数据集将这些报表组合并展现出来。图三即将受损变电站损失及恢复情况拆分为二,一为组织机构组件,二为变电站组件。
在通过图4所示的方法,需要展示500kV变电站、220kV变电站、110kV变电站,所以将虚线内的变电站抽象为一个报表组件,用以供在该报表中重复使用,分别通过参数配置来决定统计500kV、220kV、110kV。根据数据结构中的报表基本信息、报表组成结构和报表组件库,将变电站停运及恢复表以B/S结构的WEB方式展现在页面上。
在填报报表中,为减少工作量,提高报表的使用效率,解决填报报表结构完整性,本发明采用逐一填报的方式进行展示。例如图5所示的城网低压电力设施受损及恢复情况表,在同一张报表上需要组合低压线路、电感两个不同的报表组件,采用图6和图7的方式将该报表拆成两部分完成,只有当所有报表组件均完成填报才能算此报表填报完毕,此时方能报送给总部,以保证报表结构的完整性。
填报报表和统计报表的区别如图5和图8。可知,填报报表只需要各个省、地市填写报表中展示的当日的损失或者当日的恢复情况,统计报表中就能显示出这些省、地市在一定的时间段内的累计损失值或者累计恢复值。之所以在填报表中不出现累计值,是为了避免各个省、地市在填报该报表时,出现人为的累计错误,导致不必要的误差,并能省去填报人员的工作量,可谓是一举两得。
此处已经根据特定的示例性实施例对本发明进行了描述。对本领域的技术人员来说在不脱离本发明的范围下进行适当的替换或修改将是显而易见的。示例性的实施例仅仅是例证性的,而不是对本发明的范围的限制,本发明的范围由所附的权利要求定义。