报表生成方法和报表系统的制作方法

文档序号:6519918阅读:244来源:国知局
报表生成方法和报表系统的制作方法
【专利摘要】本发明提供一种报表生成方法、报表数据自动统计方法、报表自动更新方法,以及报表系统。其中,报表系统包括:数据录入单元,适于根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;数据审核单元,适于接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入单元的数据录入;报表生成单元,适于接收报表生成方选择的报表模板文件和报表生成规则;还适于根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表;报表生成单元将注册报表保存在注册报表数据库中。灵活适应电力数据填报需求和报表变更需求,方便用户。
【专利说明】报表生成方法和报表系统
【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种报表生成方法和报表系统。
【背景技术】
[0002]中国发电集团公司组织层次一般分为三级,如集团公司、二级公司、发电厂,极个别的分四级,如二级公司下面管辖三级公司,三级公司管辖发电厂。中国的五大发电集团公司和华润电力、国华电力、国投电力等大型公司组织均是如此。对发电集团公司生产运营来说,主要的基础数据均来自发电厂和机组,怎样通过机组、发电厂的基础的日数据,自动汇总成三级公司、二级公司、集团公司的日数据、周数据、月数据、季数据、年数据,并最终自动生成各组织关心的业务报表,是一个非常复杂的处理过程。
[0003]一般的发电数据填报系统都采用固化每个填报数据项和计算公式,导致系统不能灵活扩展填报项,系统后期维护工作量非常大,不能满足客户经常性的业务需求调整。

【发明内容】

[0004]本发明要解决的技术问题是,针对现有技术的不足,提供一种报表生成方法和报表系统,能灵活适应或扩展电力数据填报需求和报表变更需求,方便用户。
[0005]根据本发明一个方面,提供一种报表生成方法,包括:根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;其中,所述填报方案定义了一个或多个填报项;接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入;接收报表生成方选择的报表模板文件和报表生成规则;其中,所述报表生成规则为计划任务cron表达式;根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表。
[0006]根据本发明另一个方面,提供一种报表数据自动统计方法,包括:针对注册报表,遍历填报项,对于填报项数据,判断其关联的组织数据是否存在,如果组织数据不存在,继续遍历填报项(即执行本步骤),如果组织数据存在,执行下面步骤;进行时间周期维度上的统计:判断是否存在上级组织,如果存在上级组织,则先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计;进行空间周期维度上的统计,即组织机构维度上的统计:基于录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值,当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值;如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计;直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值。
[0007]根据本发明又一个方面,提供一种报表自动更新方法,包括:遍历注册报表,读取报表Cron表达式,判断是否满足Cron表达式;如果不满足Cron表达式,继续遍历注册报表;如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录;如果存在当前的报表记录,继续遍历已注册的报表;如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录,读取报表的数据集和报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
[0008]根据本发明另一个方面,提供一种报表系统,包括:数据录入单元,适于根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;数据审核单元,适于接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入单元的数据录入;报表生成单元,适于接收报表生成方选择的报表模板文件和报表生成规则;还适于根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表;报表生成单兀将注册报表保存在注册报表数据库中。
[0009]根据本发明另一个方面,还提供一种报表系统,包括:填报管理单元,用于填报项维护、填报方案维护、数据填报、数据审核和数据查询;报表管理单元,用于报表注册、报表授权、报表发布和报表查询;和系统管理单元,用于组织维护、岗位维护、人员维护、菜单维护、权限维护、机组维护、业务分类维护。
[0010]与现有技术先比,本发明提供的方法和系统具有如下优点:
[0011]能灵活适应或扩展电力数据填报需求和报表变更需求,方便用户;
[0012]可自定义填报项、填报方案、业务报表,同时能自定义填报项的统计公式和存储过程,实现基础数据的自动统计、汇总功能;
[0013]自动统计、汇总功能可以向组织和时间维度上进行,如机组数据汇总成电厂数据,电厂数据汇总成二级公司数据,二级公司数据汇总成集团公司数据,小时数据统计出日数据,日数据统计出周数据,周数据统计出月数据,月数据统计出年数据等。
【专利附图】

【附图说明】
[0014]图1是根据本发明一个实施例提供的概念之间逻辑关系示意图;
[0015]图2是根据本发明一个实施例提供的报表生成方法流程图;
[0016]图3是根据本发明一个实施例提供的报表数据自动统计方法流程图;
[0017]图4是根据本发明一个实施例提供的报表自动更新方法流程图;
[0018]图5是根据本发明一个实施例提供的报表系统结构示意图;
[0019]图6是根据本发明另一个实施例提供的报表系统结构示意图;
[0020]图7是根据本发明另一个实施例提供的数据自动统计流程图;
[0021]图8是根据本发明另一个实施例提供的数据报表自动生成流程图。
【具体实施方式】
[0022]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。其他实施方案可以包括结构的、逻辑的、电气的、过程的,实施例仅代表可能的变化。除非明确要求,否则单独的组件和功能是可选的,并且操作的顺序可以变化。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。
[0023]定义与说明
[0024]填报方案:是填报数据的展现形式,把一些相关的填报项组织在一起,便形成填报方案。填报方案与岗位关联起来,只有授权的岗位人员才能使用填报方案;填报方案与组织关联起来,填报方案只显示关联的组织数据。
[0025]根据本发明一个实施例,如图1所示,填报方案包含填报项的维护,它们是一对多的关系,同时填报方案与组织机构、填报方案与机组、填报方案与岗位是多对多的关系,一个填报方案可以包含多个组织机构、机组、岗位,一个组织机构、机组、岗位可以包含多个填报方案。报表授权实现了岗位与报表的多对多关系,一个岗位可以包含多个报表,一个报表可以包含多个岗位,同时报表授权实现了岗位对报表的浏览、编辑、发布的权限设置。权限维护实现了岗位与菜单、岗位与人员的多对多关系的维护,一个岗位可以包含多个菜单和多个人员,一个人员可以有多个岗位和多个菜单。
[0026]报表生成方法
[0027]根据本发明一个实施例,提供一种报表生成方法,如图2所示,该方法包括:
[0028]S11、根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;其中,所述填报方案定义了一个或多个填报项;
[0029]S12、接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行步骤Sll的数据录入;
[0030]S13、接收报表生成方选择的报表模板文件和报表生成规则;其中,所述报表生成规则为计划任务cron表达式;
[0031]S14、根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表。
[0032]其中,S11-S13中所述数据录入方、数据审核方和报表生成方可以是计算设备、计算设备上的数据库或数据处理软件、传感器电路或操作员。
[0033]根据本发明另一个实施例,提供一种报表数据自动统计方法,如图3所示,包括:
[0034]S21、针对注册报表,遍历填报项,对于填报项数据,判断其关联的组织数据是否存在,如果组织数据不存在,继续遍历填报项(即执行本步骤),如果组织数据存在,执行下面步骤;
[0035]S22、进行时间周期维度上的统计:
[0036]判断是否存在上级组织,如果存在上级组织,则先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计;
[0037]S23、进行空间周期维度上的统计,即组织机构维度上的统计:
[0038]基于录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值,当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值;
[0039]如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计;直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值。
[0040]根据本发明另一个实施例,提供一种报表自动更新方法,如图4所示,包括:
[0041]S31、遍历已注册的报表,读取报表Cron表达式,判断是否满足Cron表达式;如果不满足Cron表达式,继续遍历已注册的报表;
[0042]S32、如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录;如果存在当前的报表记录,继续遍历已注册的报表;
[0043]S33、如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录,读取报表的数据集和报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
[0044]报表系统
[0045]与上面方法相应地,根据本发明一个实施例,提供一种报表系统。如图5所不,该报表系统50包括:
[0046]数据录入单元51,适于根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;
[0047]数据审核单元52,适于接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入单元51的数据录入;
[0048]报表生成单兀53,适于接收报表生成方选择的报表模板文件和报表生成规则;还适于根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表。报表生成单兀53将注册报表保存在注册报表数据库56中。
[0049]根据本发明另一个实施例,上述报表系统还包括:
[0050]数据自动统计单元54,适于针对注册报表,遍历填报项,对于填报项数据,判断其关联的组织数据是否存在,如果组织数据不存在,继续遍历填报项(即执行本步骤),如果组织数据存在,执行下面步骤;
[0051](I)进行时间周期维度上的统计:
[0052]判断是否存在上级组织,如果存在上级组织,则先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计;
[0053](2)进行空间周期维度上的统计,即组织机构维度上的统计:
[0054]基于录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值,当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值;
[0055]如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计;直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值。
[0056]根据本发明另一个实施例,上述报表系统还包括:
[0057]报表自动更新单元55,适于:遍历已注册的报表,读取报表Cron表达式,判断是否满足Cron表达式;如果不满足Cron表达式,继续遍历已注册的报表;
[0058]如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录;如果存在当前的报表记录,继续遍历已注册的报表;
[0059]如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录,读取报表的数据集和报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
[0060]根据本发明另一个实施例,提供一种应用在电力系统的、可配置的发电数据填报和报表系统(简称报表系统),如图6所不,包括:
[0061]填报管理单元(1),用于填报项维护(1.1)、填报方案维护(1.2)、数据填报(1.3)、数据审核(1.4)和数据查询(1.5);
[0062]报表管理单兀(2),用于报表注册(2.1)、报表授权(2.2)、报表发布(2.3)和报表查询(2.4);和
[0063]系统管理单元(3),用于组织维护(3.1)、岗位维护(3.2)、人员维护(3.3)、菜单维护(3.4)、权限维护(3.5)、机组维护(3.6)、业务分类维护(3.7)。
[0064]该系统解决了发电业务数据的分类填报、基础数据的自动汇总、业务报表的自动生成等问题,具体描述如下:
[0065]填报项维护(1.1)指实现发电业务填报项的增加、删除、修改和查询,填报项内容包括业务分类、填报项名称、填报项编码、数据类型(数值、日期、字符串)、数据长度、数据精度(只针对数值类型)、数据单位(吨、万千瓦时等)、数据归属(机组、电厂、二级单位、集团公司,可多选)、数据来源(填报、表达式、存储过程、实现类)、来源公式(表达式内容、存储过程名称、实现类名称)、数据周期(分、时、天、周、月、季、半年、年)、数据上限、数据下限、是否必填、统计方式(表达式、存储过程、实现类)、统计公式(表达式内容、存储过程名称、实现类名称)、排序。
[0066]其中,简单的数据来源公式和向上汇总、统计公式可用表达式直接配置计算公式,复杂的取数规则和统计逻辑可以写存储过程或实现类。
[0067]填报方案维护(1.2)指实现发电数据填报方案的增加、删除、修改和查询,内容包括方案名称、方案编码、数据周期(日、周、月、季、半年、年)、上级方案、包含组织(包含电厂下机组)、包含岗位。
[0068]数据填报(1.3)指实现发电业务数据的分类填报,数据填报按填报方案显示,分日数据填报、周数据填报、月数据填报、季数据填报、半年数据填报、年数据填报,选择填报周期、填报方案、填报时间后,就可以填写当前组织下填报项的值。
[0069]数据填报实现填报项数据填报,数据填报按填报方案显示,填报条件有填报方案、填报时间、填报人(签名确认),填报内容有业务分类(只读)、填报项名称(只读)、数据单位(只读)、填报项值(当前组织值)、XX机组值(当前组织为发电厂,且填报项数据归属包含机组)。选择填报方案、填报时间后,就可以填写各填报项值,如果是发电厂人员填报,且填报项的数据归属包含机组,就会出现机组填报值,填完填报项的各机组值时,填报项的电厂数据就自动计算出来。
[0070]手工输入的填报项值,系统会自动验证合法性,并会验证必填项内容和上下限,超过上下限的数据标红显示。数据填完整后,经过有效性验证,点击上报,数据就进入待审核环节,数据填报工作就完成了。
[0071]数据审核(1.4)指实现发电业务数据的审核,数据审核按填报方案显示,分日数据审核、周数据审核、月数据审核、季数据审核、半年数据报、年数据填报,选择审核周期、填报方案、审核时间后,就可以审核当前组织及其下级组织的填报项的值。
[0072]数据审核实现填报项数据的审核,内容有待审核和已审核列表,待审核列表里面会显示已上报的填报方案、填报时间、填报组织、填报人,已审核显示已经审核通过的填报方案、填报时间、填报组织、填报人、审核人。点击审核列表的某一行,就会显示该行关联的填报方案对应的填报项数据值。对待审核的数据,可以点击审核通过或驳回修改按钮,实现数据审核功能,驳回修改时必须填写驳回意见,另外可以直接修改待审核的填报项值。所有下级组织单位审核通过后,系统开始统计上级单位相关数据。
[0073]数据查询(1.5)指实现填报项数据的查询,与数据填报类似,只是不能进行增加、删除、修改操作,比数据填报多了一个组织的查询条件,可以查询下属组织的填报项值,默认显示本组织的填报项值。
[0074]报表注册(2.1)指实现发电业务报表的增加、删除、修改和查询,报表注册内容有报表编码、报表名称、数据周期(日、周、月、季、半年、年)、报表生成路径(Web服务器上路径)、报表模板文件(支持WORD、EXCEL、WPS等文件格式)、报表生成规则(计划任务cron表达式)、是否有效,并通过报表数据配置按钮,实现每个报表模板的数据配置。
[0075]具体的,点击报表数据配置按钮,弹出报表配置信息窗口,报表数据配置信息窗口内容有接收参数定义、数据集定义和数据配置定义三个标签页。接收参数定义实现接收参数的增力口、删除、修改和显示,接收参数列表内容有参数名称、参数说明、数据类型(数值、日期、字符串)。数据集定义实现数据集的增加、删除、修改和数据集数据的查询,有数据集名称、数据集内容(数据查询的SQL语句,SQL语句可引用接收参数,接收参数使用“? ”表示)、接收参数(输入接收参数名称,多个接收参数采用逗号分开)、数据集说明。数据配置定义实现了报表模板内的数据与数据集数据的匹配,可以增加、删除、修改数据配置定义项。
[0076]根据不同的报表模板文件类型,有不同的定义方式:
[0077]Excel文件采用sheet[索引或名称].单元格索引方式定义一个单元格,Word文件采用域代码方式定义一个数据项。数据配置定义内容有报表内容表达式(Excel单元格表达式或Word域名)、数据集内容表达式(数据集名称.字段名称或数据集名称.select (‘字段名称’,‘过滤条件’,‘排序条件’)或Java语言表达式值,Java表达式可使用数据集.字段名)、扩展方式(不扩展、横向扩展、纵向扩展)、显示格式(数值和日期格式XJava后台报表处理程序,在生成报表时,首先判断当前时间点的报表是否存在,如果不存在,则根据报表文件模板复制一份,根据报表模板文件和报表数据配置信息,读取SQL数据并更新到当前报表文件内,一个报表模板的所有报表数据配置信息处理完了,一个报表生成就结束了。
[0078]报表授权(2.2)指实现角色对注册报表的浏览、编辑、发布等权限设置,报表授权内容有角色名称、报表名称、浏览(复选框,选中或不选择)、编辑(选中或不选择)、发布(选中或不选择)。
[0079]具体的,例如,报表权限页面左边是权限列表,右边是报表列表,点击权限列表某行数据,右边的报表列表列出该权限拥有的报表列表,同时可以设置每行报表的浏览、编辑、发布权限。点击新增按钮,弹出未授权报表的列表选择,列表内容有选择(复选框)、报表名称、浏览权限(复选框)、编辑权限(复选框)、发布权限(复选框),勾选完要授权的报表和权限后,点击确定按钮,即把新增加的报表权限授权给指定的岗位。
[0080]报表发布(2.3)指实现已生成报表的在线编辑、签章和发布功能,以及未发布状态报表的重新生成功能,发布后的报表不能编辑、删除和重新生成。报表发布列表显示内容有组织单位、报表名称、报表时间、报表生成时间、报表状态。自动显示已登录人员当前组织单位的未发布报表列表。
[0081]报表查询(2.4)指实现已发布报表的查询、浏览、下载,报表查询内容有组织单位、报表名称、报表时间、报表状态、报表下载,查询条件有组织单位、报表名称、报表时间、报表状态,可通过列表中的报表名称超链接直接打开报表内容(需office在线编辑软件,只读打开)。
[0082]组织维护(3.1)指实现组织的增加、删除、修改、查询,组织内容有组织编码(唯一)、组织名称、组织简称、组织类型、上级组织、组织负责人、电话、传真、地址、邮编、排序、是否有效。
[0083]岗位维护(3.2)指实现岗位的增加、删除、修改、查询,岗位内容有组织岗位编码(唯一)、岗位名称、备注,同时可以查看每个岗位拥有的用户和菜单。
[0084]人员维护(3.3)指实现人员的增加、删除、修改、查询,任务内容有所属组织、人员编码(唯一)、人员名称、工号、性别、名族、学历、专业、电话、手机、邮件、地址、密码、校验密码、密码永不过期、密码过期日期、是否有效。
[0085]菜单维护(3.4)指实现系统功能菜单的增加、删除、修改、查询,菜单内容有菜单编码(唯一)、菜单名称、功能路径、图片路径、打开方式、上级菜单、排序号。通过菜单的功能路径和打开方式,打开菜单关联的应用功能。
[0086]权限维护(3.5)指实现系统功能的授权,即岗位对应的菜单和人员维护。左边是岗位列表,右上边是岗位对应的人员列表,右下边是岗位对应的菜单列表。可以增加、删除、修改、查询岗位对应的人员信息和菜单信息,通过弹出窗口勾选未授权的人员和菜单的方式实现。
[0087]机组维护(3.6)指实现机组的增加、删除、修改、查询,机组内容有机组编码(唯一)、机组名称、所属组织、机组容量、机组类型、发电类型、机组状态。
[0088]业务分类维护(3.7)指实现发电业务分类的增加、删除、修改、查询,业务分类内容有业务编码、业务名称、上级业务、备注,业务分类可以是一级或两级。
[0089]通过基础数据录入和授权操作后,数据录入人员就可以登录系统,进入数据填报菜单进行基础数据的录入,选择填报方案和填报时间后,就可以录入本组织的填报项数据,数据填报完后可以进入数据查询和报表浏览菜单,查询填报数据的审核情况和报表数据情况。数据审核人员登录系统,进入数据审核菜单进行基础数据的审核,审核完成后,可以浏览报表的数据情况,如果审核人员具备报表发布权限,则可以直接审核和修改报表,审核报表完成后,点击发布,完成报表的发布。报表发布人员登录系统后,直接进入报表发布菜单,查看报表生成情况和报表数据,报表数据审核后,点击发布,完成报表的发布。
[0090]后台调度程序在组织单位和时间维度上的数据项自动向上统计功能。如分钟、小时数据自动统计到日数据,日数据自动统计到周、月数据,机组数据自动统计到电厂数据,电厂数据自动统计到二级单位数据。从而实现基础数据自动汇总。
[0091]后台调度程序按照业务报表模板文件、数据配置规则、任务调度Cron表达式,定时生成业务报表文件。从而实现业务报表自动生成。
[0092]根据本发明一个实施例,上述报表系统通过一个Web应用程序系统实现,其由数据库和应用服务器组成。该系统能灵活扩展发电数据填报需求和报表变更需求,可自定义填报项、填报方案、业务报表,同时能自定义填报项的统计公式和存储过程,实现基础数据的自动统计、汇总功能。自动统计、汇总功能可以向组织和时间维度上进行,如机组数据汇总成电厂数据,电厂数据汇总成二级公司数据,二级公司数据汇总成集团公司数据,小时数据统计出日数据,日数据统计出周数据,周数据统计出月数据,月数据统计出年数据等。
[0093]如图7所示,该系统的数据自动统计流如下:
[0094]Uffeb应用程序启动自动统计调度任务程序,该调度程序循环填报项,从填报项的数据周期中取出最小数据周期,并根据当前时间,求出当前填报周期,查询该填报项当前填报周期的组织是否存在,如果不存在,说明还没有任何组织填报过当前时间的填报项数据,则不进行任何统计,取出下一个填报项。
[0095]2、如果存在当前时间的填报项的组织数据,则要进行两个维度的统计,一个是时间周期维度上的统计(如小时数据统计成日数据),一个是组织机构维度上的统计(如机组数据统计成电厂数据)。首先判断是否存在上级组织,如果存在上级组织,则优先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计。
[0096]3、在统计填报项组织维度上统计时,最先传进来的是录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值。统计时,解析填报项的表达式值或调用存储过程或调用接口程序,存储过程和接口程序的参数为填报项、组织、当前时间周期,返回值为填报项统计值。当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值。
[0097]4、如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计。循环填报组织和其他数据周期,组织其他周期的统计条件,统计填报项其他周期的值,解析填报项的表达式值或调用存储过程或调用接口程序,存储过程和接口程序的参数为填报项、组织、其他时间周期,返回值为填报项统计值。如果不存在填报项其他周期的组织数据,则插入该组织其他周期的填报项数据;如果存在填报项其他周期的组织数据,则更新统计值。
[0098]5、直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值,与统计第3步中的统计所有上级组织的当前时间周期值类似,只是时间范围不一样。实际处理时,该功能被封装成函数,只需要传入填报项、最小级别组织集合、统计时间周期,即可实现填报项在统计时间周期内的所有上级组织数据统计。
[0099]6、统计所有上级组织的其他时间周期的填报项值完成后,循环进入下一个填报项统计,直至所有填报项统计完成后,退出自动统计调度任务程序。
[0100]如图8所示,该系统的数据报表自动生成流如下:
[0101]l、Web应用程序启动自动生成报表调度任务程序,该调度程序遍历已注册的报表,读取报表Cron表达式,判断是否满足Cron表达式。
[0102]2、如果不满足Cron表达式,则取出下一个已注册的报表,判断是否满足Cron表达式。
[0103]3、如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录,如果存在当前的报表记录,则取出下一个已注册的报表,判断是否满足Cron表达式。
[0104]4、如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录。同时读取报表的数据集和数据集与报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
[0105]5、判断当前循环是否结束,如果结束则结束本次任务调度程序,如果未结束则取出下一个已注册的报表,判断是否满足Cron表达式。
[0106]应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。
【权利要求】
1.一种报表生成方法,包括: 根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性;其中,所述填报方案定义了一个或多个填报项; 接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入; 接收报表生成方选择的报表模板文件和报表生成规则;其中,所述报表生成规则为计划任务cron表达式; 根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表。
2.根据权利要求1所述的报表生成方法,其中,所述数据录入方、数据审核方和报表生成方是计算设备、计算设备上的数据库或数据处理软件、传感器电路或操作员。
3.—种报表数据自动统计方法,包括: 针对注册报表,遍历填报项,对于填报项数据,判断其关联的组织数据是否存在,如果组织数据不存在,继续遍历填报项(即执行本步骤),如果组织数据存在,执行下面步骤;进行时间周期维度上的统计:判断是否存在上级组织,如果存在上级组织,则先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计; 进行空间周期维度上的 统计,即组织机构维度上的统计:基于录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值,当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值;如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计;直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值。
4.一种报表自动更新方法,包括: 遍历注册报表,读取报表Cron表达式,判断是否满足Cron表达式;如果不满足Cron表达式,继续遍历注册报表; 如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录;如果存在当前的报表记录,继续遍历已注册的报表; 如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录,读取报表的数据集和报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
5.—种报表系统,包括: 数据录入单元,适于根据填报方案,接收数据录入方基于授权所录入的本组织的填报项数据,并验证所录入数据的合法性; 数据审核单元,适于接收数据审核方对录入的填报方案的审核结果,并根据审核结果决定是否需要重新进行数据录入单元的数据录入; 报表生成单兀,适于接收报表生成方选择的报表模板文件和报表生成规则;还适于根据报表生成规则,对填报方案中的数据进行处理,并按照报表模板文件生成报表,该报表为注册报表;报表生成单兀将注册报表保存在注册报表数据库中。
6.根据权利要求5所述的报表系统,还包括:数据自动统计单元,与所述注册报表数据库耦接,适于针对注册报表,遍历填报项,对于填报项数据,判断其关联的组织数据是否存在,如果组织数据不存在,继续遍历填报项(即执行本步骤),如果组织数据存在,执行下面步骤; 进行时间周期维度上的统计: 判断是否存在上级组织,如果存在上级组织,则先统计当前时间的上级组织统计,直到所有上级组织的当前时间的填报项数据都统计完成,再统计填报项所有组织的其他周期的统计,最后统计所有上级组织的其他周期的统计; 进行空间周期维度上的统计,即组织机构维度上的统计: 基于录入到系统的最小级别的组织集合,获取该组织集合的上级组织,统计当前时间周期的上级组织的填报项值,当前时间的上级组织填报项值都统计完成后,继续调用上级组织的上级组织填报项值,直到统计完所有最顶层的组织填报项值; 如果统计完当前时间的所有组织填报项值,则进入当前填报项其他周期的统计;直到所有最小级别组织的其他时间周期的填报项的值都统计完成后,最后统计所有上级组织的其他时间周期的填报项值。
7.根据权利要求5所述的报表系统,还包括:报表自动更新单元,与所述注册报表数据库耦接,适于:遍历已注册的报表,读取报表Cron表达式,判断是否满足Cron表达式;如果不满足Cron表达式,继续遍历已注册的报表; 如果满足Cron表达式,根据当前时间和报表名称、报表周期,判断是否存在报表记录;如果存在当前的报表记录,继续遍历已注册的报表; 如果不存在当前的报表记录,读取报表配置文件,并另存为指定报表名称和报表时间的报表记录,读取报表的数据集和报表模板的配置信息,执行数据集SQL语句,并将数据集结果按照报表模板的配置信息写入到当前报表记录,最后关闭当前报表文件。
8.—种报表系统,包括: 填报管理单元,用于填报项维护、填报方案维护、数据填报、数据审核和数据查询; 报表管理单兀,用于报表注册、报表授权、报表发布和报表查询;和 系统管理单元,用于组织维护、岗位维护、人员维护、菜单维护、权限维护、机组维护、业务分类维护。
9.根据权利要求8所述的报表系统,其中,后台调度程序在组织单位和时间维度上的数据项自动向上统计功能,从而实现基础数据自动汇总。
10.根据权利要求8所述的报表系统,其中,后台调度程序按照业务报表模板文件、数据配置规则、任务调度Cron表达式,定时生成业务报表文件,从而实现业务报表自动生成。
【文档编号】G06Q50/06GK103606045SQ201310587182
【公开日】2014年2月26日 申请日期:2013年11月20日 优先权日:2013年11月20日
【发明者】张健, 李海, 刘红超, 陈清水 申请人:国家电网公司, 北京许继电气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1