一种省级电网节能发电调度报表动态生成系统的制作方法

文档序号:12748002阅读:332来源:国知局
一种省级电网节能发电调度报表动态生成系统的制作方法与工艺

本发明属于发电调度领域,涉及一种省级电网节能发电调度报表动态生成系统。



背景技术:

近些年,我国水电、风电、光伏等可再生能源电站集中并网运行,电网规模急剧扩大,特别是西南地区一些省级电网,统调可再生能源电站数量已经超过100座,甚至200座,而且仍旧保持高速增长态势,与之相适应的电力运行数据也呈指数级增长,包括水文、发电、投产、计划、检修、实际等各类调度相关数据,呈现结构化、半结构化、非结构化多种数据形态,数据整理、解析、分析工作量非常庞大,电网一线调度人员需要投入越来越多时间,以完成不同部门和机构的各种报表需求,带来了很大的工作压力。现有的报表生成技术多以手工定制为主,即根据每一张报表特点编写特定的程序实现报表,制作效率较低,扩展性差,在增加新的报表时需要重新设计编写,工作量仍然很大,与电网目前的海量数据统计分析要求不相适应,亟需一种更加智能化、自动化的发电调度报表生成技术。

本发明依托国家自然科学基金委重大国际合作(51210014),国家自然科学基金(51579029),给出一种省级电网节能发电调度报表动态生成系统,集成了报表定制、报表展示、报表数据上传、报表审批等多种业务功能,能够可视化定制报表模板,方便快捷地进行电网节能发电调度不同类型数据的统计分析,自动生成业务报表。该发明的扩展性强、使用方便,且易维护,可以大幅提升用户工作效率,为电网节能发电调度决策提供重要支持。



技术实现要素:

本发明要解决的技术问题是基于Java Web,提出一种省级电网节能发电调度报表动态生成系统,能够在页面上快速定制出各种功能的报表。

本发明的技术方案:

一种省级电网节能发电调度报表动态生成系统,基于Java Web技术省级电网节能发电调度报表动态生成系统,包括报表管理、报表展示和数据源三个部分;所述报表管理部分与数据源部分相连,所述报表展示部分与数据源部分相连;

所述的报表管理部分包括报表定制模块和报表模板管理模块;

报表定制模块分为模板配置子模块、功能配置子模块、显示配置子模块以及属性功能和关联数据源配置子模块,分别用于获取报表结构、报表功能、报表显示样式以及属性功能和关联的数据源报表配置信息数据,获取的数据以Ajax技术发送至服务器端,存储在报表数据源部分的报表配置信息数据库中。

模板配置子模块采用上传Excel文件形式获取模板文件,并且负责解析模板文件,将解析获取的模板结构数据和配置的报表名称、报表类型数据存储在服务器端的报表配置信息数据库中。

功能配置子模块用于配置报表的查询时间间隔、审批流程、页面Excel导出、页面数据保存、合计和平均值计算六个功能,配置信息使用Ajax技术发送至服务器端,存储在报表配置信息数据库中。

显示配置子模块用于对生成的报表样式进行调整,包括合并列项和固定列数两种类型配置,配置信息以Ajax技术发送至服务器端,保存在报表配置信息数据库中。

属性功能和关联数据源配置子模块包括列隐藏设置、序号列设置、输入数据列设置、本地数据库表选择、第三方数据源选择、基础数据源选择、表达式函数设置和审批数据源设置八个功能,配置前以Ajax技术获取数据源部分不同数据源的信息,配置信息采用Ajax技术发送然后保存在报表配置信息数据库中。

报表模板管理模块包括模板管理子模块、数据库表管理子模块和报表类型管理子模块,分别负责模板、数据库表以及报表类型的展示与删除。

所述的报表展示部分包括报表显示模块、报表数据上传模块和报表审批模块。

报表显示模块包括数据提取子模块和报表生成子模块,数据提取子模块从服务器端提取模板配置数据和报表数据并发送至报表生成子模块,报表生成子模块按照接收的数据生成不同样式的报表。

报表数据上传模块包括直接数据上传子模块和间接数据上传子模块,直接数据上传子模块是在报表显示页面直接显示数据输入框,间接数据上传子模块是在点击出现的弹出框中显示数据输入框;直接数据上传子模块和间接数据上传子模块上传的数据用Ajax技术发送至服务器端,保存在数据源部分的本地数据库中。

报表审批模块分为审批展示子模块和审批处理子模块,审批展示子模块负责展示审批信息和输入审批信息,审批处理子模块负责存储和管理审批信息,审批信息在数据源部分的审批数据源中保存。

所述的数据源部分包括报表配置信息数据库、基础数据源、本地数据库、审批数据源和第三方数据源。

报表配置信息数据库用于存储报表定制时产生的报表配置信息数据;

基础数据源用于管理和存储电站和机组的基本信息;

本地数据库用于存储电网用户上传的电网数据;

审批数据源用于管理和存储报表审批流程中产生的数据;

第三方数据源用于获取和管理从第三方系统获取的电网数据。

本发明的有益效果在于,通过上传模板文件,在浏览器页面上快速定制出具有展示、审批、上传数据功能的报表。与以往Web报表技术相比,该技术操作灵活、方便扩展、运行维护简单。

附图说明

图1是本发明的系统结构框图。

图2是本发明的报表定制流程图。

图3是本发明的报表显示原理图。

具体实施方式

以下结合发明内容和说明书附图详细说明本发明的具体实施例。

(1)总体结构

图1所示为省级电网节能发电调度报表动态生成系统的结构框图。如图所示,包括报表管理部分和报表展示部分,报表管理部分分为报表定制和报表模板管理两个模块,报表展示部分分为报表显示、报表数据上传和报表审批三个模块。报表管理部分中,报表定制模块负责对报表的模板、显示样式、功能、关联数据源的配置,报表模板管理模块负责对配置完成的模板、报表类型和数据库表进行管理。报表展示部分中,报表显示模块负责报表的显示,报表数据上传模块负责上传数据和存储数据,报表审批模块负责报表审批业务处理。定制报表时,根据需要在报表定制模块页面依次经过模板配置、功能配置、显示配置、属性功能和关联数据源的配置,即可定制出一张报表,之后报表展示部分就能呈现出该报表。

(2)报表管理部分

所述报表管理部分包括报表定制和报表模板管理两个模块。

所述报表定制模块分为模板配置、功能配置、显示配置、属性功能和关联数据源配置四个子模块。

模板配置子模块包括模板上传、模板解析、报表名称和类型配置、模板修改、数据库表字段设置五个功能。模板上传功能有一个文件选择框用于选定本地的模板文件,并且负责将Excel模板文件上传到服务器端。模板解析功能按照由上到下、由左至右的顺序读取Excel文件,将获得的属性位置横纵坐标转换成字母与数字的组合,存储在数据库中。报表名称和类型配置功能包括两个输入框,分别用于输入报表的名称和类型,输入的名称和类型用Ajax技术发送至服务器端存储。模板修改功能有一个选择框,用于选择已有的报表模板,选择一个模板后,模板的配置信息用Ajax技术异步加载到报表定制模块页面。数据库表字段设置功能仅有一个按钮,点击出现弹出框,可在弹出框中设置用于存储报表数据的数据库表字段信息,设置完成后自动在服务器端生成数据库表。

功能配置子模块包括查询间隔设置、审批流程设置、报表子功能选择、上报截止时间设置、增删按钮设置五个功能。查询间隔设置功能由一个选择框组成,包含天、周、旬、月、年五种时间间隔的选择。审批流程设置功能由一个选择框和“选择审批组”按钮组成,选择框里包含可以选择的审批流程,点击“选择审批组”按钮出现弹出框,可以增加、删除、选择审批组。报表子功能选择由一个选择框组成,包含导出、页面保存、合计、平均值、单位预显示、排序六种报表子功能的选择。上报截止时间设置功能由一个按钮组成,点击出现弹出框,对上报时间有严格限制的报表可在弹出框里配置选择。增删按钮设置功能由一个按钮组成,点击出现弹出框,弹出框中可以设置增删按钮的样式。

显示配置子模块包括合并列项设置、固定列数设置两个功能。合并列项设置功能和固定列数设置功能各由一个选择框组成,分别包含用于设定不同合并列项数目的选项和用于设定不同固定列数的选项。

属性功能和关联数据源配置子模块包括列隐藏设置、序号列设置、输入数据列设置、本地数据库表选择、第三方数据源选择、基础数据源选择、表达式函数设置、审批数据源设置等八个功能。列隐藏设置、序号列设置、输入数据列设置各由一个多选框组成,用于给属性配置不同的功能。本地数据库表选择、第三方数据源选择、基础数据源选择、表达式函数设置、审批数据源设置各由一个单选框组成,选择不同的单选框,可以给属性配置不同的数据源。

图2所示为报表定制流程图。如图所示,第一步,如果是新建报表,在报表定制模块页面的模板配置子模块中上传本地模板文件;否则,选择原有的报表模板。第二步,给报表配置报表名称和类型。第三步,如果报表需要新建本地数据库表存储数据,设置数据库表字段,新建数据库表;否则,进入第四步操作。第四步,在功能配置子模块中对查询时间间隔、审批流程、报表子功能、上报截止时间、增删按钮进行设置。第五步,如果报表需要添加合并列项或固定列数,在显示配置子模块进行设置;否则,进入第六步。第六步,在属性功能和关联数据源配置子模块中配置报表的属性功能和关联数据源,完成报表的定制。

所述报表模板管理模块分为模板管理、数据库表管理、报表类型管理三个子模块。

模板管理和数据库表管理子模块均由一个表格组成,分别列出已配置完成的报表模板和增加的数据库表。模板管理子模块中表格每行还有编辑和删除两个按钮,编辑按钮使用JavaScript跳转到报表定制模块页面,通过Ajax技术异步加载报表模板的配置信息;删除按钮使用Ajax技术向服务器端请求删除报表模板的所有配置信息。同样,数据库表管理子模块表格中每行的删除按钮使用Ajax技术向服务器端请求删除数据库表。

报表类型管理子模块包括报表类型列表和新增报表类型名称两个功能。报表类型列表是一个表格,每行包含一个类型名称和删除按钮,删除按钮使用Ajax技术向服务器端请求删除每行类型。新增报表类型名称由一个输入框和确定按钮组成,输入框中输入新的类型被Ajax技术发送至服务器端保存。

(3)报表展示部分

所述报表展示部分包括报表显示、报表数据上传、报表审批三个模块。

所述报表显示模块分为报表生成和数据提取两个子模块,报表生成子模块主要负责按照配置的样式在页面呈现报表,如显示合并列项、固定列数;数据提取子模块按照报表的查询参数,从服务器端提取报表模板的配置数据和报表数据。

图3所示为报表显示原理图。如图所示,报表显示时涉及浏览器、报表显示子模块、服务器三层。浏览器发送查询参数到数据提取子模块,数字提取子模块先从服务器端提取对应报表模板的配置数据,再按照配置的属性数据源从服务器端的本地数据库、第三方数据源、基础数据源、表达式函数、审批数据源等五种数据源中提取报表数据,然后将报表模板的配置数据和报表数据发送至报表生成子模块,报表生成子模块再依据这些数据生成报表并在浏览器中展示。

所述报表数据上传模块包括直接数据上传和间接数据上传两个子模块,直接数据上传子模块是在报表显示页面直接显示数据输入框,间接数据上传子模块是在点击出现的弹出框中显示数据输入框。两个子模块实现时都先查询配置信息,按照配置信息在页面展现不同输入样式,用户输入的数据都采用Ajax技术发送至服务器端,保存在配置的数据源中。

所述报表审批模块分为前端和后端两个子模块,前端子模块负责展示审批信息和输入审批信息,后端子模块负责处理和存储审批信息。具体实现时,根据报表的查询参数,后端子模块查询报表在数据库表中的审批信息,将之发送至前端子模块,前端子模块将审批信息在页面呈现,当用户输入审批信息时,前端子模块使用Ajax技术将审批信息发送至服务器端,后端子模块再负责处理和存储这些审批信息。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1