[发明专利]一种报表生成系统及方法有效
申请号: | 201710195295.6 | 申请日: | 2017-03-29 |
公开(公告)号: | CN107168940B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 王春才;李英韬;曲晓威;孙媛媛;吕东方;赵新峰 | 申请(专利权)人: | 长春市万易科技有限公司 |
主分类号: | G06F40/18 | 分类号: | G06F40/18;G06F16/22;G06F16/28 |
代理公司: | 长春市吉利专利事务所(普通合伙) 22206 | 代理人: | 李晓莉 |
地址: | 130000 吉林省长春市*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报表 生成 系统 方法 | ||
1.一种报表生成方法,所述报表生成方法应用于报表生成系统,所述报表生成系统包括报表系统、客户端和服务器组,所述客户端为用于承载用户报表系统交互操作的计算机;所述服务器组为用于运行报表系统的服务器端程序、数据库、保存报表文件以及认证报表的服务器设备,服务器组包括应用服务器、数据库服务器、文件服务器和CA认证服务器;所述报表系统包括数据字典定义模块、报表定义模块、报表生成模块和数据查询模块;所述数据字典定义模块用于定义数据字典与报表数据源的关系;所述报表定义模块用于通过限定条件把表格与数据源关联起来;所述报表生成模块通过表格循环,把报表的定义公式中获取的数据填报到报表表格中,并采用统一的格式进行存储;所述数据查询模块用于查询到生成该报表的数据来源,
其特征是:包括以下步骤,并且以下步骤顺次进行,
步骤一、完成数据字典定义模块的定义
步骤①、公用数据字段定义
所述公用数据字段定义包含步骤Z101至Z105,共5个子步骤,其具体如下,
步骤Z101,在客户端打开报表公用数据字段定义窗口,客户端通过Https通讯协议向应用服务器发出提取报表公用数据字段定义命令;
步骤Z102、应用服务器收到客户端的请求信息后,经过翻译和处理,整理成数据库查询命令向数据库服务器发出提取数据命令,数据库服务器根据提取数据命令进行处理,并把处理结果传递给应用服务器,应用服务器整理成key-value模式,通过Https通讯协议,把链表数据传递回客户端;
步骤Z103,客户端收到所述链表数据信息后,在公共数据字段定义窗口展现已经定义的数据;
步骤Z104,通过客户端把与编码表名称对应的信息,通过Https通讯协议向应用服务器发出提取编码数据命令,重复步骤Z102,客户端收到链表数据信息后,把该信息填入选择列表框,用户把该字段对应编码字段及显示字段进行核实;
步骤Z105、客户端将核实后的信息通过Https通讯协议传递给应用服务器,重复步骤Z102步骤,客户端接收到反馈结果并在界面显示;
步骤②、报表数据表定义
在客户端打开报表定义界面,客户端在报表定义界面中通过Https通讯协议向应用服务器发出提取报表数据表定义命令,重复步骤Z102,客户端收到链表数据信息后,在报表数据表定义界面显示定义报表的数据表,核对报表的中文名称、英文名称和数据表类别,对错误的中文名称、英文名称或数据表类别进行修改并确认后,保存数据,重复步骤Z105;
步骤③、报表数据字段定义
用户在客户端的报表定义界面定义报表数据表,打开该报表数据字段定义界面,或者用户通过直接打开报表数据字段定义界面,通过选择定义的数据表来定义报表字段,
客户端把选择的报表数据字段信息通过Https通讯协议传递给应用服务器,重复步骤Z102,客户端分别对数据表每一个字段进行核对,核对内容包括字段中文名、英文名、对应数据字典英文名和字段说明,保存核对后的数据并重复步骤Z105;
步骤④、报表汇总定义
用户在客户端通过Https通讯协议向服务器发送提取该报表汇总定义数据,重复步骤Z102;
在客户端选择汇报报表显示字段、显示字段顺序、显示宽度、对齐方式和格式处理,
对于一个以上的数据表,核对数据表之间的关联关系并确认数据表之间的关联关系正确,
清除原显示定义,保存新的定义,重复步骤Z105操作;
步骤二、完成报表定义模块的定义
步骤①、报表常量定义
在客户端打开报表常量定义窗口,客户端通过Https通讯协议向应用服务器发出提取报表常量命令,重复步骤Z102,将客户端返回的常量值展示给用户,确认无误后的数据更新到数据库服务器中,重复步骤Z105;
步骤②、报表维护
在客户端打开报表常量定义窗口,客户端通过Https通讯协议向应用服务器发出提取报表常量命令,重复步骤Z102,客户端返回该客户权限下的报表列表,该客户对显示的列表进行查看和维护,定义好的表格保存到文件服务器,报表的信息通过应用服务器保存到数据库服务器中;
步骤③、报表权限维护
报表所有者通过报表权限维护界面给其他人员授权,其他人员根据所授权的权限行使报表生成权限、报表查询权限和报表修改权限工作;
步骤④、报表变量定义
根据预生成的报表确定所需的变量,设定所需的变量并将数据更新到数据库服务器中,步骤重复步骤Z105操作;
步骤⑤、报表公式定义
所述报表公式定义包括步骤D101至D105,共5个子步骤,具体步骤如下,
步骤D101、根据报表的要求进行报表标题条件定义,根据标题条件设定整体条件,该整体条件作用于整个报表域,
该报表标题条件定义在界面中显示中文条件解析,数据字典中公用字段英文解析两种显示模式,高级用户在条件框中,直接修改定义数据,中文条件解析和英文解析在应用服务器作数据一致性验证,验证通过的数据保存到数据库服务器中,验证错误的重新设定条件再次验证,直至验证通过并保存数据到数据库服务器;
步骤D102、设定报表行列导向,通过行选择数据源或者通过列选择数据源;
步骤D103、设定报表行条件,
D102设定了数据源为行,选择数据源,条件设置根据该报表的行需要填报的内容设置条件;
D102设定了数据源为列,条件设置根据该报表的列需要填报的内容设置条件;
该项条件在界面中显示中文条件解析,数据字典中公用字段英文解析两种显示模式,高级用户在条件框中,直接修改定义数据,中文条件解析和英文解析在应用服务器作数据一致性验证,验证通过的数据保存到数据库服务器中,验证错误的重新设定条件再次验证,直至验证通过并保存数据到数据库服务器;
步骤D104、设定报表列条件,
D102设定了数据源为列,选择数据源,条件设置根据该报表的列需要填报的内容设置条件;
D102设定了数据源为行,条件设置根据该报表的行需要填报的内容设置条件;
该项条件在界面中显示中文条件解析,数据字典中公用字段英文解析两种显示模式,高级用户在条件框中,直接修改定义数据,中文条件解析和英文解析在应用服务器作数据一致性验证,验证通过的数据保存到数据库服务器中,验证错误的重新设定条件再次验证,直至验证通过并保存数据到数据库服务器;
步骤D105、在一张报表中,标题条件、行条件以及列条件仍然不能满足单元格,在该单元格设定没有涵盖的条件,在该单元格设定时,选择数据源,该数据源将覆盖标题条件设定的数据源;
步骤⑥、设定报表数据区域
采用左上角右下角单元格的模式选择数据区域并将数据区域的数据保存到数据库中;
步骤⑦、报表认证
报表条件定义完成后,通过CA认证服务器,对该报表的定义条件,报表文件进行版本标识,并给该报表加上版本号、修订日期、修订时间、修订单位和修订人信息,保存到CA认证服务器,
对于报表公式或者格式修改后的报表,报表的版本号自动增加一个子版本号,同样保存到CA认证服务器中并将报表文件更新到文件服务器中;
步骤三、完成报表生成模块的数据生成
步骤①、根据权限,从数据库服务器中提取有报表生成权限的报表列表,通过客户端显示,用户选择本次生成的报表,数据库服务器提取报表定义数据,包括与该报表相关的数据字典模块数据和报表定义数据,形成数据链表,通过Https通讯协议传递给客户端,同时提取文件服务器的该报表格式文件到客户端,客户端加载到报表界面中;
步骤②、报表参数确定
根据该报表的报表变量定义,用户选择或者确定本次报表的变量,从而确定报表参数的具体数据;
步骤③、报表公共变量实例化
根据整个报表的报表常量定义,确定报表的常量的具体数据,完成报表常量的实例化;
步骤④、报表主数据源确定
根据报表定义的标题条件提取报表的数据源定义;
步骤⑤、定义一个二维结构体,该二维结构体包括单元格行号、列号、输出数据公式、数据源、中文条件、数据表条件、报表数值和显示格式;
步骤⑥、按照定义的标题条件、行条件和列条件进行循环,提取定义的数据;
步骤⑦、把标题条件、行条件、列条件和单元条件整合到一起,每个条件用括号括起来,中间用and连接;
步骤⑧、变量替换
根据步骤②报表参数确定和步骤③报表公用变量实例化确定的变量实例化的数据,对报表的输出数据和数据表条件中的变量进行替换,由变量替换成数据,保存至输出数据和数据表条件中;
步骤⑨、字段个性化处理
通过数据源和报表定义的数据字典的字段,对报表数据字段定义中查出的该报表的实际字段进行替换,并保存至输出数据和数据表条件中;
步骤⑩、报表计算公式合成
合成公式为“select”+“输出数据”+“数据源”+“数据表条件”,形成报表计算SQL语句;
步骤数据提取
把该报表计算字符串通过应用服务器传递给数据库服务器中,数据库通过该SQL语句计算出报表数据,传递给应用服务器,应用服务器把该数据保存到所述二维结构体的报表数值中;
步骤从报表格式定义数据中提取该数据的格式,保存到所述二维结构体的数据格式中;
重复步骤三中的步骤⑥至步骤至所有报表单元格计算完成为止,并把保存后的二维结构体传递给客户端;
步骤客户端按照应用服务器传递来的二维结构体数据,通过单元循环,把数据提取出来,按照格式要求,填写到指定单元格中;
步骤用户对单元格数据有疑问,通过双击该单元格进行查询,具体查询步骤参照步骤四报表数据查询模块中的步骤S101至步骤S105;
步骤用户对该报表满意,进行报表确认,
所述报表确认具体包括P101和P102两个步骤,
步骤P101、报表头数据存储
报表存储将报表名称,报表日期、报表确定人以及报表单位信息进行存储,该次报表的CA认证号存储到报表数据库服务器;
步骤P102、把报表的二维结构体及该次报表的CA认证号保存到数据库服务器,将填报完成的报表以pdf格式保存在文件服务器中,保存的文件名称形式为报表编号+日期+该次报表认证号;
步骤四、完成报表数据查询模块的数据查询
步骤①、根据权限,从数据库服务器中提取有报表生成权限的报表列表,并通过客户端显示,选择查询的已经生成的报表;
步骤②、客户端通过文件服务器把该认证后的报表文件提取到客户端;
步骤③、客户端从数据库服务器中,把该报表的公共数据和单元数据提取出来,把具体的数值填充到指定的单元格;
步骤④、对有异议的报表单元,双击该单元格,查询该单元格的数据来源,查询的具体方法包括S101至S105,
步骤S101、用户双击报表设定的单元格事件,提取所要查询的报表单元;
步骤S102、通过该报表单元提取报表计算公式;
步骤S103、将提取的计算公式中的数据表提取出来,通过数据字典,查询出该数据表的报表汇总定义;
步骤S104、将计算公式的条件和报表汇总定义合成新的查询语句;
步骤S105、通过所述新的查询语句查询出数据列表,并通过数据窗口显示;
步骤⑤、有报表生成权限的用户直接修改报表上的数据,
修改报表上的数据的具体步骤包括S401至S403,
步骤S401、用户将预修改的数据填写到指定单元格;
步骤S402、报表数据检查
依次提取报表单元格的现有数据和该报表数据库中已经保存的数据,按照单元格逐个对数据进行核对,现有数据与提取的数据一致,保持原单元格不变,现有数据与提取的数据不一致,将该单元的修改后的数据保存到报表历史数据中,并标示修改时间和操作人,修改后的数据保存到报表单元数据库中;
步骤S403、修改后的报表通过步骤三中步骤重新认证,填报完成的报表以pdf格式保存至文件服务器中,保存的文件名称为报表编号+日期+该次报表认证号;
步骤⑥、查询报表数据修改历史
选中单元格,按Ctrl键,同时双击该单元格,提取出该单元的报表修改历史数据。
2.根据权利要求1所述的一种报表生成方法,其特征是:所述步骤二中的报表常量包括年报的起始截止月日,季报的起始截止日,月报的起始截止日,同期时间差,期初、期末、数据单位换算关系以及金额单位换算关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春市万易科技有限公司,未经长春市万易科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710195295.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据到图表的转换方法和装置
- 下一篇:一种业务执行方法及装置