CN109992757A - 一种基于报表数据填报方法系统 - Google Patents
一种基于报表数据填报方法系统 Download PDFInfo
- Publication number
- CN109992757A CN109992757A CN201711472594.6A CN201711472594A CN109992757A CN 109992757 A CN109992757 A CN 109992757A CN 201711472594 A CN201711472594 A CN 201711472594A CN 109992757 A CN109992757 A CN 109992757A
- Authority
- CN
- China
- Prior art keywords
- report
- data
- file
- server end
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于报表数据填报方法系统,方法包括:客户端从服务器端下载报表数据文件和报表参数配置文件,并生成本地初始数据;通过控件根据报表模板和本地初始数据展现报表编辑界面,提供可编辑单元格;接收确认指令后,根据报表参数配置文件对报表编辑界面进行表内计算和校验;校验通过后,将填报数据生成数据文件,并上传给服务器端;服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内。本发明将现有报表数据填报方案中的表内计算和校验转移至客户端,由客户端上运行的控件完成,而最终完成的报表则一次性的提交给服务器端进行入库操作,这样就可以充分的利用客户端本地的系统资源,分散服务器端的加工压力。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种基于报表数据填报方法系统。
背景技术
目前,报表数据填报处理的主要方式有两种,一种是在线联机填报,即用户在浏览器页面表单中填写数据并提交,然后在服务器上做后续计算校验等处理;另一种是离线填报,即将需录入的数据模板以EXCEL的形式下载到用户本地,用户填写好相关数据后上传至服务器并进行后续操作。
对于在线联机填报方式来说,因为联机操作在用户并发量较大的情况下对服务器造成较大压力,很多时候录入的数据较多,而在提交时因出现错误导致工作白费。
对于离线填报方式来说,虽然可以解决在线填报方式中因提交失败而无法保留之前填写数据的问题,但由于在填报时无法与服务器进行交互,因此在提交后会因数据填写错误而进行多次反复修改。
现有的分析型报表系统的数据调整及补录后的加工处理主要是通过服务器端日间批量的方式来实现的,即用户在B/S客户端在线调整报表数据或上传离线填写的报表数据文件后,提交服务器端再进行后续操作,利用服务器端的系统资源进行最新数据的表内表间计算和校验等处理。但这种方式在用户访问高峰时集中操作导致服务器端系统处理压力过大,数据处理时间过长,同时也存在上述在线或离线填报方式的其它缺陷。
针对大量手工数据导致的系统资源压力远超出服务器承载能力这一情况,目前急需探索一种新的数据处理模式,能够充分利用数据填报客户端本地的系统资源,分散服务器端的加工压力,最终提高系统运行稳定性和报表处理效率,满足报表填报的时效要求。
发明内容
本发明的目的是提出一种报表数据填报方法及系统,能够利用数据填报客户端本地的系统资源,分散服务器端的加工压力。
为实现上述目的,本发明提供了一种报表数据填报方法,包括:
客户端从服务器端下载报表数据文件和报表参数配置文件,并根据所述报表数据文件生成本地初始数据;
所述客户端通过运行在所述客户端的报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;
所述客户端接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验;
在校验通过后,所述客户端将接收到的填报数据生成数据文件,并上传给所述服务器端;
所述服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内。
进一步的,在所述客户端从服务器端下载报表数据文件和报表参数配置文件之前,还包括:
所述服务器端根据用户的处理请求确定对应的计算校验公式;
所述服务器端根据所述计算校验公式确定对应的数据列表,并从报表数据历史库抽取相应的报表数据;
所述服务器端将所述报表数据生成所述报表数据文件,并在所有数据抽取完毕后,生成对应的所述报表参数配置文件。
进一步的,所述服务器端根据所述计算校验公式确定对应的数据列表,并从报表数据历史库抽取相应的报表数据的操作具体为:
所述服务器端将所述计算校验公式解析为可执行的SQL语句,根据所述可执行的SQL语句确定对应的数据列表;
所述服务器端上运行的调用程序执行所述可执行的SQL语句,以从多个维度在所述报表数据历史库中抽取相应的报表数据。
进一步的,所述服务器端将所述报表数据生成所述报表数据文件,并在所有数据抽取完毕后,生成对应的所述报表参数配置文件的操作具体为:
所述服务器端将所述报表数据生成文本文件,并存储在所述服务器端的临时目录下;
所述服务器端在所有数据抽取完毕后,生成对应的可扩展标记语言格式的报表参数配置文件,所述报表参数配置文件包括所述文本文件的文件总数、数据表与所述文本文件的文件名的对应关系和数据版本信息。
进一步的,在所述服务器端生成所述报表数据文件和所述报表参数配置文件之后,还包括将所述报表数据文件和所述报表参数配置文件压缩打包的操作;并在所述客户端从服务器端下载报表数据文件和报表参数配置文件时,进行解压缩,并根据解压缩后的所述报表数据文件生成本地初始数据。
进一步的,所述报表模板由所述服务器端提供,所述服务器端在进行数据打包时,将所述报表模板与所述报表数据文件和所述报表参数配置文件一并打包。
进一步的,在根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验的操作之前,以及在所述客户端将生成的数据文件上传给所述服务器端之前,还包括:
所述客户端比对所述本地初始数据对应的数据版本信息是否与所述服务器端的数据版本信息一致,如果不一致,则所述客户端提示用户重新提交操作申请。
进一步的,所述客户端通过运行在所述客户端的报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格的操作具体包括:
所述客户端通过运行在所述客户端的报表数据填报控件导入所述本地初始数据;
根据预设的报表模板将所述本地初始数据以类Excel编辑界面展现所述报表编辑界面,并对用户可编辑的单元格进行背景色的区分;
在所述单元格的数据补录过程中,所述报表数据填报控件根据所述报表参数配置文件实时地对所述单元格进行公式校验和格式校验。
进一步的,所述根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验的操作具体为:
所述客户端根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验,如果校验失败,则将编辑光标定位到错误单元格的位置,并提供错误公式和误差信息,以协助用户进行数据修改。
进一步的,在所述客户端将接收到的填报数据生成数据文件时,还生成所述数据文件对应的配置文件,并将所述数据文件和配置文件压缩打包所获得的文件上传给所述服务器端;
所述服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内的操作具体为:
所述服务器端以队列的方式接收所述客户端上传的文件,并在队列中记录所述客户端上传的文件;
当所述服务器端从队列中取出记录,并根据所述记录定位到所述客户端上传的文件和待更新的数据表时,判断所述待更新的数据表是否允许更新操作,如果允许,则对所述客户端上传的文件进行解压缩,并对所述根据所述配置文件对所述数据文件进行校验,如果校验通过,则将所述数据文件保存到所述报表数据历史库内,对所述待更新的数据表进行更新;如果校验未通过,则提示所述客户端重新发送所述数据文件和配置文件。
进一步的,如果所述待更新的数据表处于锁定的状态,则所述服务器端先取出队列中后一条记录进行处理。
为实现上述目的,本发明提供了一种报表数据填报系统,包括:客户端和服务器端,所述客户端运行有报表数据填报控件,所述服务器端包括报表数据历史库;
所述客户端,用于从所述服务器端下载报表数据文件和报表参数配置文件,并根据所述报表数据文件生成本地初始数据,再通过所述报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;当接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验,并在校验通过后,将接收到的填报数据生成数据文件,并上传给所述服务器端;
所述服务器端,用于对接收到的数据文件进行校验,并在校验通过后保存到所述报表数据历史库内。
进一步的,所述客户端具体包括:
文件下载模块,用于从所述服务器端下载报表数据文件和报表参数配置文件;
本地数据生成模块,用于根据所述报表数据文件生成本地初始数据;
编辑界面展现模块,用于通过所述报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;
计算校验模块,用于在接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验;
数据文件生成模块,用于在校验通过后,将接收到的填报数据生成数据文件;
文件上传模块,用于将所述数据文件生成模块生成的数据文件上传给所述服务器端。
进一步的,所述服务器端具体包括:
公式确定模块,用于根据用户的处理请求确定对应的计算校验公式;
报表数据抽取模块,用于根据所述计算校验公式确定对应的数据列表,并从所述报表数据历史库抽取相应的报表数据;
报表数据文件生成模块,用于将所述报表数据生成所述报表数据文件;
参数配置文件生成模块,用于在所述报表数据抽取模块将所有数据抽取完毕后,生成对应的所述报表参数配置文件。
进一步的,所述客户端还包括:
版本比较模块,用于在触发所述计算校验模块和文件上传模块之前,比对所述本地初始数据对应的数据版本信息是否与所述服务器端的数据版本信息一致,如果不一致,则提示用户重新提交操作申请。
基于上述技术方案,本发明将现有报表数据填报方案中的表内计算和校验转移至客户端,由客户端上运行的控件完成,而最终完成的报表则一次性的提交给服务器端进行入库操作,这样就可以充分的利用客户端本地的系统资源,分散服务器端的加工压力。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明基于报表数据填报方法系统的一实施例的流程示意图。
图2为本发明基于报表数据填报方法系统的另一实施例的流程示意图。
图3为本发明基于报表数据填报方法系统的又一实施例的流程示意图。
图4为本发明基于报表数据填报方法系统的一实施例的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例1
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
对于分析性报表系统来说,部分报表需要业务用户人工干预才能够生成,这主要是指报表数据的补录和修改等操作。这些补录和修改的数据可能是目前的报表系统中无法直接从业务经营系统或管理信息系统中自动获取,需要人工进行补录的数据,也可能是因系统原因造成的账目不平需要人工进行调整的数据。相应的,每期报表均有大量的手工操作的需求,也就产生了大量的手工数据,这给系统资源造成的压力目前已超出了服务器所能承受的能力。因此本发明提出一种报表数据填报方法,来解决这一问题。
如图1所示,为本发明报表数据填报方法的一实施例的流程示意图。在本实施例中,报表数据填报方法包括:
步骤101、客户端从服务器端下载报表数据文件和报表参数配置文件,并根据所述报表数据文件生成本地初始数据;
步骤102、所述客户端通过运行在所述客户端的报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;
步骤103、所述客户端接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验;
步骤104、在校验通过后,所述客户端将接收到的填报数据生成数据文件,并上传给所述服务器端;
步骤105、所述服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内。
在本实施例中,客户端可以根据需求从服务器端下载其选定的报表所相关联的数据,并在本地生成本地初始数据,这样就可以在离线的状态下进行后续的填报操作。
客户端内需要运行报表数据填报控件,这种控件可采用基于C#.NET开发的ActiveX控件,以便于浏览器很好的结合,且可以实现用户对本地数据的访问和数据处理功能。具体来说,客户端可以先通过web页面从服务器端下载ActiveX控件,通过ActiveX控件来安装访问本地数据库的驱动程序,并封装一系列数据库操作的交互接口,通过调用ActiveX控件的数据库交互接口和触发事件的方法来实现本地作业。
在客户端在本地生成初始数据后,报表数据填报控件可以根据预设的报表模板和本地初始数据来实现报表编辑界面的展示,使用户能够浏览到整个报表编辑界面,了解需要补录或修改哪些单元格。这里的报表模板可以由客户端在下载报表数据文件和报表参数配置文件时从服务器端获取,也可以在下载报表数据文件和报表参数配置文件之前已从服务器端获取,并保存在本地中。
在步骤102中,客户端通过报表数据填报控件导入本地初始数据,并根据预设的报表模板将所述本地初始数据以类Excel编辑界面展现报表编辑界面,并对用户可编辑的单元格进行背景色的区分,而在所述单元格的数据补录过程中,所述报表数据填报控件根据所述报表参数配置文件实时地对所述单元格进行公式校验和格式校验。
当用户确认对报表编辑界面的编辑后,报表数据填报控件就可以从报表参数配置文件中读取计算校验公式,并根据计算校验公式对报表编辑界面内的数据进行表内计算和校验,如果校验失败,则将编辑光标定位到错误单元格的位置,并提供错误公式和误差信息,以协助用户进行数据修改。在这一过程中均由客户端的报表数据填报控件完成,无需与服务器端进行交互。
在校验通过后,客户端可以将接收到的填报数据生成数据文件,再上传给服务器端,而服务器端在保存这些数据文件之前需要进行校验,只有校验通过才能进行保存。
前面已提到分析性报表系统在同一时刻进行上传操作的数量比较大,因此服务器端可以在步骤105中利用队列的方式控制入库操作的并发量。服务器端以队列的方式接收客户端上传的文件,并在队列中记录客户端上传的文件。当服务器端从队列中取出记录,并根据记录定位到所述客户端上传的文件和待更新的数据表时,判断待更新的数据表是否允许更新操作,如果允许,则对所述客户端上传的文件进行解压缩,并对所述根据所述配置文件对所述数据文件进行校验,如果校验通过,则将所述数据文件保存到所述报表数据历史库内,对所述待更新的数据表进行更新;如果校验未通过,则提示所述客户端重新发送所述数据文件和配置文件。
如果待更新的数据表当前处于锁定的状态,不能进行更新操作,则可由服务器端先取出队列中后一条记录进行处理。待数据入库完成后,服务器端可以向客户端发送入库成功的提示消息。为了减小用户操作对服务器的压力,在数据表完成入库操作后,还可由相关人员对填报数据进行人工审核,只有在审核不通过的情况下才允许执行出库操作。
如图2所示,为本发明报表数据填报方法的另一实施例的流程示意图。与上一实施例相比,本发明在步骤101之前,还包括:
步骤100a、服务器端根据用户的处理请求确定对应的计算校验公式;
步骤100b、服务器端根据所述计算校验公式确定对应的数据列表,并从报表数据历史库抽取相应的报表数据;
步骤100c、服务器端将所述报表数据生成所述报表数据文件,并在所有数据抽取完毕后,生成对应的所述报表参数配置文件。
在步骤100a之前,服务器端中的报表可由上级来开启需要手工干预的报表操作的时间范围,一般可采取批量开启的方式,在开启时限同时完成报表初始操作,这主要是指手工处理前报表数据的准备工作。而在准备过程中,服务器端可以先接收用户所发送的处理请求,进而在步骤100a中根据用户的处理请求确定对应的计算校验公式。
这里的计算校验公式包括但不限于四则数学运算和比较运算两种,而计算校验公式还需要进行公式解析,以形成可执行的SQL语句,来供调用程序执行。这个公式解析过程主要通过词法分析器、语法分析器以及语义分析器等三个部分,将输入的公式解析成可执行的SQL语句并返回给调用程序,供程序调用执行公式,等到公式的执行结果。相应的,可在服务器端增加解析关联数据表的接口,通过该接口,可以得到所有与该条公式相关的数据表以及获取该数据表的数据的SQL语句,通过这些语句,可导出相关数据供客户端计算校验使用。
在步骤100b中,服务器端可将计算校验公式解析为可执行的SQL语句,并根据可执行的SQL语句确定对应的数据列表;而服务器端上运行的调用程序执行可执行的SQL语句,以从多个维度在报表数据历史库中抽取相应的报表数据。这里的多个维度包括但不限于报表代号、机构、日期和币种等维度。
在步骤100c中,服务器端可将这些抽取的报表数据生成文本文件(即TXT文件),并存储在服务器端的临时目录下,待服务器端在所有数据抽取完毕后,生成对应的可扩展标记语言(Extensible Markup Language,简称XML)格式的报表参数配置文件,报表参数配置文件可包括文本文件的文件总数、数据表与文本文件的文件名的对应关系和数据版本信息。
如图3所示,为本发明报表数据填报方法的又一实施例的流程示意图。与上一实施例相比,本实施例在步骤100c之后,还包括:
步骤100d、服务器端将所述报表数据文件和所述报表参数配置文件压缩打包;
步骤101具体为步骤101’,即客户端从服务器端下载报表数据文件和报表参数配置文件,并对形成的压缩包进行解压缩,并根据解压缩后的报表数据文件生成本地初始数据。
报表模板可由服务器端提供,而服务器端在进行数据打包时,可将报表模板与报表数据文件和报表参数配置文件一并打包,再由客户端在解压缩时提取出来。不仅便于传输,也可以降低占用的带宽。
服务器端通过压缩打包,可以将报表数据文件和报表参数配置文件等文件一并发送给客户端,同样的,在客户端向服务器端发送数据文件时,同样在将接收到的填报数据生成数据文件时,还生成所述数据文件对应的配置文件,并将数据文件和配置文件压缩打包所获得的文件上传给服务器端。
由于服务器端数据库中的数据可能因为其他用户的操作或者系统自动处理的原因而发生变化,这样客户端所下载的报表数据便与服务器端的报表数据不一致了,为了避免数据不一致所带来的问题,可以在服务器端的数据库中维护一张报表版本表,由日期、机构、报表三个维度和数据版本信息(例如版本号)组成。
客户端在下载数据时可以从服务器端获取到数据版本信息,而在根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验的操作之前,客户端可以比对本地初始数据对应的数据版本信息是否与服务器端的数据版本信息一致,如果不一致,则客户端提示用户重新提交操作申请,以便从服务器端下载最新版本的报表数据。在客户端将生成的数据文件上传给所述服务器端之前,也可以由客户端比对本地初始数据对应的数据版本信息是否与服务器端的数据版本信息一致,如果不一致,则客户端提示用户重新提交操作申请。
在客户端的公式解析过程与服务器端的公式解析类似,但还增加了数据版本信息的比较接口,通过比较可以确保客户端保护所有公式在最新的数据基础上运行。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图4所示,为本发明报表数据填报系统的一实施例的结构示意图。在本实施例中,报表数据填报系统包括:客户端1和服务器端2,客户端1运行有报表数据填报控件3,服务器端2包括报表数据历史库4。
客户端1负责从服务器端2下载报表数据文件和报表参数配置文件,并根据所述报表数据文件生成本地初始数据,再通过所述报表数据填报控件3,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格。
当客户端1接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验,并在校验通过后,将接收到的填报数据生成数据文件,并上传给所述服务器端2。
服务器端2负责对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库4内。
在另一实施例中,客户端可以具体包括:
文件下载模块,用于从所述服务器端下载报表数据文件和报表参数配置文件;
本地数据生成模块,用于根据所述报表数据文件生成本地初始数据;
编辑界面展现模块,用于通过所述报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;
计算校验模块,用于在接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验;
数据文件生成模块,用于在校验通过后,将接收到的填报数据生成数据文件;
文件上传模块,用于将所述数据文件生成模块生成的数据文件上传给所述服务器端。
在另一实施例中,服务器端可以具体包括:
公式确定模块,用于根据用户的处理请求确定对应的计算校验公式;
报表数据抽取模块,用于根据所述计算校验公式确定对应的数据列表,并从所述报表数据历史库抽取相应的报表数据;
报表数据文件生成模块,用于将所述报表数据生成所述报表数据文件;
参数配置文件生成模块,用于在所述报表数据抽取模块将所有数据抽取完毕后,生成对应的所述报表参数配置文件。
报表数据抽取模块可将所述计算校验公式解析为可执行的SQL语句,根据所述可执行的SQL语句确定对应的数据列表,再由服务器端上运行的调用程序执行所述可执行的SQL语句,以从多个维度在所述报表数据历史库中抽取相应的报表数据。
报表数据文件生成模块可以将所述报表数据生成文本文件,并存储在所述服务器端的临时目录下,而参数配置文件生成模块在所有数据抽取完毕后,生成对应的可扩展标记语言格式的报表参数配置文件,所述报表参数配置文件包括所述文本文件的文件总数、数据表与所述文本文件的文件名的对应关系和数据版本信息。
服务器端和客户端均可设置压缩工具,服务器端能够通过压缩工具将所述报表数据文件和所述报表参数配置文件进行压缩打包,而客户端从服务器端下载报表数据文件和报表参数配置文件时,可通过压缩工具对压缩包进行解压缩,并根据解压缩后的所述报表数据文件生成本地初始数据。报表模板由所述服务器端提供,服务器端在进行数据打包时,也可将所述报表模板与所述报表数据文件和所述报表参数配置文件一并打包。
客户端还可以增加版本比较模块,用于在触发所述计算校验模块和文件上传模块之前,比对所述本地初始数据对应的数据版本信息是否与所述服务器端的数据版本信息一致,如果不一致,则提示用户重新提交操作申请。
在另一个实施例中,编辑界面展现模块可以通过运行在所述客户端的报表数据填报控件导入所述本地初始数据,再根据预设的报表模板将所述本地初始数据以类Excel编辑界面展现所述报表编辑界面,并对用户可编辑的单元格进行背景色的区分。在单元格的数据补录过程中,报表数据填报控件根据所述报表参数配置文件实时地对所述单元格进行公式校验和格式校验,如果校验失败,则可将编辑光标定位到错误单元格的位置,并提供错误公式和误差信息,以协助用户进行数据修改。
在另一实施例中,客户端将接收到的填报数据生成数据文件时,还生成所述数据文件对应的配置文件,并将所述数据文件和配置文件压缩打包所获得的文件上传给服务器端,而服务器端可以以队列的方式接收所述客户端上传的文件,并在队列中记录所述客户端上传的文件,当所述服务器端从队列中取出记录,并根据所述记录定位到所述客户端上传的文件和待更新的数据表时,判断所述待更新的数据表是否允许更新操作,如果允许,则对所述客户端上传的文件进行解压缩,并对所述根据所述配置文件对所述数据文件进行校验,如果校验通过,则将所述数据文件保存到所述报表数据历史库内,对所述待更新的数据表进行更新;如果校验未通过,则提示所述客户端重新发送所述数据文件和配置文件。如果所述待更新的数据表处于锁定的状态,则所述服务器端可先取出队列中后一条记录进行处理。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (11)
1.一种基于报表数据填报方法系统,包括:
客户端从服务器端下载报表数据文件和报表参数配置文件,并根据所述报表数据文件生成本地初始数据;所述客户端通过运行在所述客户端的报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格;所述客户端接收到用户对所述报表编辑界面的确认指令后,根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验;在校验通过后,所述客户端将接收到的填报数据生成数据文件,并上传给所述服务器端;所述服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内。
2.根据权利要求1所述的基于报表数据填报方法系统,其中在所述客户端从服务器端下载报表数据文件和报表参数配置文件之前,还包括:所述服务器端根据用户的处理请求确定对应的计算校验公式;所述服务器端根据所述计算校验公式确定对应的数据列表,并从报表数据历史库抽取相应的报表数据;所述服务器端将所述报表数据生成所述报表数据文件,并在所有数据抽取完毕后,生成对应的所述报表参数配置文件。
3.根据权利要求2所述的基于报表数据填报方法系统,其中所述服务器端根据所述计算校验公式确定对应的数据列表,并从报表数据历史库抽取相应的报表数据的操作具体为:
所述服务器端将所述计算校验公式解析为可执行的SQL语句,根据所述可执行的SQL语句确定对应的数据列表;所述服务器端上运行的调用程序执行所述可执行的SQL语句,以从多个维度在所述报表数据历史库中抽取相应的报表数据。
4.根据权利要求3所述的基于数据填报方法系统,其中所述服务器端将所述报表数据生成所述报表数据文件,并在所有数据抽取完毕后,生成对应的所述报表参数配置文件的操作具体为:所述服务器端将所述报表数据生成文本文件,并存储在所述服务器端的临时目录下;所述服务器端在所有数据抽取完毕后,生成对应的可扩展标记语言格式的报表参数配置文件,所述报表参数配置文件包括所述文本文件的文件总数、数据表与所述文本文件的文件名的对应关系和数据版本信息。
5.根据权利要求2所述的基于报表数据填报方法系统,其中在所述服务器端生成所述报表数据文件和所述报表参数配置文件之后,还包括将所述报表数据文件和所述报表参数配置文件压缩打包的操作;并在所述客户端从服务器端下载报表数据文件和报表参数配置文件时,进行解压缩,并根据解压缩后的所述报表数据文件生成本地初始数据。
6.根据权利要求5所述的基于报表数据填报方法系统,其中所述报表模板由所述服务器端提供,所述服务器端在进行数据打包时,将所述报表模板与所述报表数据文件和所述报表参数配置文件一并打包。
7.根据权利要求1所述的基于报表数据填报方法系统,其中在根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验的操作之前,以及在所述客户端将生成的数据文件上传给所述服务器端之前,还包括:所述客户端比对所述本地初始数据对应的数据版本信息是否与所述服务器端的数据版本信息一致,如果不一致,则所述客户端提示用户重新提交操作申请。
8.根据权利要求1所述的基于报表数据填报方法系统,其中所述客户端通过运行在所述客户端的报表数据填报控件,根据预设的报表模板和所述本地初始数据展现报表编辑界面,以提供用户可编辑的单元格的操作具体包括:所述客户端通过运行在所述客户端的报表数据填报控件导入所述本地初始数据;根据预设的报表模板将所述本地初始数据以类Excel编辑界面展现所述报表编辑界面,并对用户可编辑的单元格进行背景色的区分;在所述单元格的数据补录过程中,所述报表数据填报控件根据所述报表参数配置文件实时地对所述单元格进行公式校验和格式校验。
9.根据权利要求8所述的基于报表数据填报方法系统,其中所述根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验的操作具体为:所述客户端根据所述报表参数配置文件对所述报表编辑界面进行表内计算和校验,如果校验失败,则将编辑光标定位到错误单元格的位置,并提供错误公式和误差信息,以协助用户进行数据修改。
10.根据权利要求1所述的基于报表数据填报方法系统,其中在所述客户端将接收到的填报数据生成数据文件时,还生成所述数据文件对应的配置文件,并将所述数据文件和配置文件压缩打包所获得的文件上传给所述服务器端;所述服务器端对接收到的数据文件进行校验,并在校验通过后保存到报表数据历史库内的操作具体为:所述服务器端以队列的方式接收所述客户端上传的文件,并在队列中记录所述客户端上传的文件;当所述服务器端从队列中取出记录,并根据所述记录定位到所述客户端上传的文件和待更新的数据表时,判断所述待更新的数据表是否允许更新操作,如果允许,则对所述客户端上传的文件进行解压缩,并对所述根据所述配置文件对所述数据文件进行校验,如果校验通过,则将所述数据文件保存到所述报表数据历史库内,对所述待更新的数据表进行更新;如果校验未通过,则提示所述客户端重新发送所述数据文件和配置文件。
11.根据权利要求10所述的基于报表数据填报方法系统,其中如果所述待更新的数据表处于锁定的状态,则所述服务器端先取出队列中后一条记录进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711472594.6A CN109992757A (zh) | 2017-12-29 | 2017-12-29 | 一种基于报表数据填报方法系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711472594.6A CN109992757A (zh) | 2017-12-29 | 2017-12-29 | 一种基于报表数据填报方法系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992757A true CN109992757A (zh) | 2019-07-09 |
Family
ID=67108465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711472594.6A Pending CN109992757A (zh) | 2017-12-29 | 2017-12-29 | 一种基于报表数据填报方法系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992757A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347992A (zh) * | 2019-07-10 | 2019-10-18 | 成都函夏科技有限公司 | 基于电子报表的数据分析方法及系统 |
CN110765145A (zh) * | 2019-10-15 | 2020-02-07 | 益萃网络科技(中国)有限公司 | 内容项传输方法、装置、设备及存储介质 |
CN112256269A (zh) * | 2020-09-29 | 2021-01-22 | 青岛微智慧信息有限公司 | 一种配置技术应用到多税种报表申报校验中的方法 |
CN112559646A (zh) * | 2020-12-25 | 2021-03-26 | 中国建设银行股份有限公司 | 一种报表下载方法和装置 |
CN113240555A (zh) * | 2021-05-20 | 2021-08-10 | 云账户技术(天津)有限公司 | 一种合同修改的方法及装置 |
-
2017
- 2017-12-29 CN CN201711472594.6A patent/CN109992757A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347992A (zh) * | 2019-07-10 | 2019-10-18 | 成都函夏科技有限公司 | 基于电子报表的数据分析方法及系统 |
CN110347992B (zh) * | 2019-07-10 | 2024-05-14 | 成都函夏科技有限公司 | 基于电子报表的数据分析方法及系统 |
CN110765145A (zh) * | 2019-10-15 | 2020-02-07 | 益萃网络科技(中国)有限公司 | 内容项传输方法、装置、设备及存储介质 |
CN110765145B (zh) * | 2019-10-15 | 2022-08-09 | 益萃网络科技(中国)有限公司 | 内容项传输方法、装置、设备及存储介质 |
CN112256269A (zh) * | 2020-09-29 | 2021-01-22 | 青岛微智慧信息有限公司 | 一种配置技术应用到多税种报表申报校验中的方法 |
CN112559646A (zh) * | 2020-12-25 | 2021-03-26 | 中国建设银行股份有限公司 | 一种报表下载方法和装置 |
CN113240555A (zh) * | 2021-05-20 | 2021-08-10 | 云账户技术(天津)有限公司 | 一种合同修改的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992757A (zh) | 一种基于报表数据填报方法系统 | |
CN103268335A (zh) | 报表数据填报方法及系统 | |
US7689593B2 (en) | Systems and methods for accessing a shared space in a provider-tenant environment | |
US7698284B2 (en) | Systems and methods for deploying a tenant in a provider-tenant environment | |
US7917607B2 (en) | Software management systems and methods, including use of such systems and methods in a provider-tenant environment | |
US8069184B2 (en) | Systems and methods to implement extensibility of tenant content in a provider-tenant environment | |
US20070162452A1 (en) | Systems and methods for implementing a shared space in a provider-tenant environment | |
US20070162969A1 (en) | Provider-tenant systems, and methods for using the same | |
US7310638B1 (en) | Method and apparatus for efficiently processing queries in a streaming transaction processing system | |
US6993748B2 (en) | Systems and methods for table driven automation testing of software programs | |
US20070156700A1 (en) | Systems and methods for generating tenant-specific properties for use in a provider-tenant environment | |
US20070156699A1 (en) | Systems and methods for generating tenant templates for use in a provider-tenant environment | |
US20070162451A1 (en) | Systems and methods for linking a tenant to a provider | |
US20070156901A1 (en) | Generation and use of table links in a provider-tenant environment | |
US20080162660A1 (en) | Systems and methods for accessing a shared space in a provider-tenant environment by using middleware | |
US20070156714A1 (en) | Systems and methods for analyzing tenant-specific properties for use in a provider-tenant environment | |
US20080162509A1 (en) | Methods for updating a tenant space in a mega-tenancy environment | |
US20170236130A1 (en) | Emulating Manual System of Filing Using Electronic Document and Electronic File | |
CN109308285A (zh) | 数据库脚本管理方法、装置、计算机设备及存储介质 | |
US20080162536A1 (en) | Systems and methods for extending shared data structures with tenant content in a provider-tenant environment | |
US20080162483A1 (en) | Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment | |
CN107122355A (zh) | 数据迁移系统和方法 | |
WO2008106643A2 (en) | Forms conversion and deployment system for mobile devices | |
WO2004053642A2 (en) | Toolset for applying object-oriented models to multi-tiered enterprise applications | |
CN110471694A (zh) | 注释信息处理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190709 |