CN115841102A - 动态数据报表的生成方法、装置、设备及存储介质 - Google Patents
动态数据报表的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115841102A CN115841102A CN202211712837.XA CN202211712837A CN115841102A CN 115841102 A CN115841102 A CN 115841102A CN 202211712837 A CN202211712837 A CN 202211712837A CN 115841102 A CN115841102 A CN 115841102A
- Authority
- CN
- China
- Prior art keywords
- report
- page
- data
- generating
- control
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013515 script Methods 0.000 claims abstract description 141
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,公开了一种动态数据报表的生成方法、装置、设备及存储介质。该方法包括:在检测到启动指令时,输出报表创建界面;当报表创建界面中的报表生成控件被选中时,在报表创建界面显示报表预览页面;当报表创建界面中的目标控件被选中时,确定目标控件对应的数据源;根据数据源连接数据库,数据库中存储有预设脚本实例;根据目标控件的控件类型在预设脚本实例中确定目标脚本实例;根据目标控件与目标脚本实例生成报表元素;将报表元素形成于报表预览页面;当报表创建界面中的数据报表页面生成控件被选中时,根据报表预览页面生成数据报表页面。本发明提高了动态数据报表的生成效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种动态数据报表的生成方法、装置、设备及存储介质。
背景技术
报表开发指的是利用专业软件,针对各式各样的报表进行开发工作,目的是对信息进行合理化、科学化的管理,传统的开发数据报表的模式是在需求澄清后,开发者先编写数据报表页面进行样式排版,编写定制统计脚本进行数据库查询,编写定制数据接口进行数据填充。该方式在需求变更时,所需的维护成本很高,统计脚本的复用率低,导致动态数据报表的生成效率低。
发明内容
本发明的主要目的在于解决动态数据报表的生成效率低的技术问题。
本发明第一方面提供了一种动态数据报表的生成方法,所述动态数据报表的生成方法包括:
在检测到启动指令时,输出报表创建界面;
当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
根据所述目标控件与所述目标脚本实例生成报表元素;
将所述报表元素形成于所述报表预览页面;
当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
可选的,在本发明第一方面的第一种实现方式中,所述在检测到启动指令时,输出报表创建界面的步骤之前,所述方法还包括:
获取预设SQL脚本语言;
在所述数据库执行所述预设SQL脚本语言,得到所述预设脚本实例;
将所述预设脚本实例关联预设控件类型。
可选的,在本发明第一方面的第二种实现方式中,所述当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面的步骤包括:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取所述报表预览页面对应的配置信息;
根据所述配置信息生成所述数据报表页面;
输出所述数据报表页面。
可选的,在本发明第一方面的第三种实现方式中,所述在检测到生成指令时,根据所述报表预览页面生成数据报表页面的步骤之后,所述方法还包括:
当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的预设操作。
可选的,所述当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的操作的步骤包括:
当所述报表创建界面中的报表删除控件被选中时,请求在已生成数据报表页面中确定待删除数据报表页面;
在检测到所述待删除数据报表页面的确定指令时,确定所述待删除数据报表页面的报表状态;
若所述报表状态为未发布状态,删除所述待删除数据报表页面;
若所述报表状态为已发布状态,输出无法删除已发布报表的提示信息。
可选的,在本发明第一方面的第五种实现方式中,所述若所述报表状态为未发布状态,删除所述待删除数据报表页面的步骤包括:
若所述报表状态为未发布状态,输出二次确定的提示信息;
在检测到二次确认指令时,删除所述待删除数据报表页面。
可选的,在本发明第一方面的第六种实现方式中,所述当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面的步骤包括:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取预设分辨率;
根据所述报表预览页面生成所述预设分辨率对应的所述数据报表页面。
本发明第二方面提供了一种动态数据报表的生成装置,包括:
获取模块,用于在检测到启动指令时,输出报表创建界面;
创建模块,用于当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
第一确定模块,用于当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
连接模块,用于根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
第二确定模块,用于根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
第一生成模块,用于根据所述目标控件与所述目标脚本实例生成报表元素;
形成模块,用于将所述报表元素形成于所述报表预览页面;
第二生成模块,用于当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
本发明第三方面提供了一种动态数据报表的生成设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述动态数据报表的生成设备执行上述的动态数据报表的生成方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的动态数据报表的生成方法。
在本发明实施例中,动态数据报表的生成设备在检测到启动指令时,输出报表创建界面;当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;根据所述目标控件与所述目标脚本实例生成报表元素;将所述报表元素形成于所述报表预览页面;当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。由于动态数据报表的生成设备预设有数据源、数据库以及脚本,在检测到用户发起的生成指令时,可通过预设数据源,预设SQL脚本等进行动态数据报表的生成,大大减少了业务任务的配置时间,减少了配置过程及配置错误的情况,业务人员只需关注是否存在可用组件,关注设计器根据需求是否支持可调整,大大提升了工作效能;并对于统计报表的数据提供有效支撑;以配置驱动业务的模式下,对报表的数据库字段实现了统一管理,减轻了报表的创建复杂度,减轻了开发工作,可简单的快速的调整报表,提高了动态数据报表的生成效率。
附图说明
图1为本发明实施例中动态数据报表的生成方法的一个实施例示意图;
图2为本发明实施例中动态数据报表的生成方法的另一个实施例示意图;
图3为本发明实施例中动态数据报表的生成装置的一个实施例示意图;
图4为本发明实施例中动态数据报表的生成设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种动态数据报表的生成方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中动态数据报表的生成方法的一个实施例包括:
101、在检测到启动指令时,输出报表创建界面;
具体的,用户可通过操作动态数据报表的生成设备发起上述确定指令。
102、当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
具体的,显示拜拜预览模块,可使得业务人员以所见即所得的方式进行动态数据报表的生成,
103、当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
具体的,数据源与目标控件为绑定关系,当用户选择目标控件时,动态数据报表的生成设备可基于被选中的控件获取数据源。
104、根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
具体的,数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,可以找到相应的数据库连接。
105、根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
脚本实例是脚本任务运行生成的实例数据。Dataphin支持查看脚本任务运行后生成的实例数据,同时支持对脚本实例进行运维管理,包括查看运行日志、重跑实例、查看生产节点和查看节点代码等。
具体的,上述预设脚本实例指的是预设脚本在数据库执行得到的实例。在连接数据库后,基于目标控件的控件类型在预设脚本实例中确定模板脚本实例。
可选的,获取预设SQL脚本语言;在所述数据库执行所述预设SQL脚本语言,得到所述预设脚本实例;将所述预设脚本实例关联预设控件类型。
106、根据所述目标控件与所述目标脚本实例生成报表元素;
具体的,根据目标脚本实例进行表头配置,包含元素项配置、布局配置等,通过个性化的配置,达到展示或实现效果不同的报表元素。
107、将所述报表元素形成于所述报表预览页面;
108、当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
可选的,在检测到所述输出指令时,获取所述报表预览页面对应的配置信息;根据所述配置信息生成所述数据报表页面;输出所述数据报表页面。
可选的,当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的预设操作。
可选的,当所述报表创建界面中的报表删除控件被选中时,请求在已生成数据报表页面中确定待删除数据报表页面;在检测到所述待删除数据报表页面的确定指令时,确定所述待删除数据报表页面的报表状态;若所述报表状态为未发布状态,删除所述待删除数据报表页面;若所述报表状态为已发布状态,输出无法删除已发布报表的提示信息。
可选的,若所述报表状态为未发布状态,输出二次确定的提示信息;在检测到二次确认指令时,删除所述待删除数据报表页面。
可选的,当所述报表创建界面中的数据报表页面生成控件被选中时,获取预设分辨率;根据所述报表预览页面生成所述预设分辨率对应的所述数据报表页面。该方式使得生成的数据报表页面适配大量不同分辨率的显示设备。
可选的,本实施例动态数据报表的生成设备提供一种基于配置驱动数据报表的设计器,包含数据源管理模块、SQL脚本管理模块、报表配置模块等,所述数据源管理用于管理执行数据源,通过设置连接驱动、账号、密码、DB连接串要素进行建立数据库通道,给予执行SQL脚本,所述SQL脚本管理用于维护SQL脚本实例,生成的脚本用于数据库引擎执行,形成脚本集库,同时提供给予报表配置模块使用,所述报表配置模块用于绑定脚本实例对返回的数据项进行表头配置,包含元素项配置、布局配置等,通过个性化的配置,达到展示或实现效果不同;
对于所述数据源维护管理,数据源管理模块提供给予业务管理员进行查看,数据源维护,删除,搜索,发布;
进一步地,所述数据源管理模块包含数据源维护,所述用于创建数据源建立数据库通道,监控数据源信息,所述数据源支持MYSQL、sql server、ORACLE、达梦数据库;
进一步地,所述数据源创建过程中,验证参数是否合法(包含连接密码是否为加密),验证数据源驱动是否与数据库匹配,验证数据源编码是否唯一;
进一步地,所述数据源创建过程中,当数据源基础数据填充完毕后,进行验证数据源连接状态并返回连接结果给予提示;
对于所述SQL脚本管理,SQL脚本管理模块提供给予业务管理员进行查看,SQL维护,删除,搜索,发布;
进一步地,所述SQL脚本管理模块包含脚本维护、所述用于创建脚本绑定数据源建立数据通道,所述提供系统管理员进行查看、录入、删除、搜索、在线测试;
进一步地,所述SQL脚本管理模块包含SQL脚本维护,所述用于创建SQL脚本与数据库的交互指令,验证脚本是否合法,所维护的脚本只能进行select命令,并只有读权限没有写权限,所述脚本的非合法的命令给予参数处理赋值为空,防止SQL注入;
进一步地,所述SQL管理编写的SQL适配MYSQL数据库、达梦数据库、ORACLE数据库或者sql server数据库,在此不进行限定;
进一步地,所述SQL管理对生成的脚本进行在线测试,通过点击测试向服务器发送命令,反馈脚本是否执行成功并返回数据集;
对于报表配置管理,报表配置管理模块提供给予业务管理员进行查看,配置维护,删除,搜索,备份,发布;
进一步地,所述报表配置包含报表配置组件,所述能够快速构建报表的能力支持,所述报表配置模块包含报表新增模块、报表编辑模块、报表删除模块、报表备份模块、报表浏模块以及报表发布模块;
进一步地,所述报表基础配置包含、页面名称、关联菜单、所属单位、数据来源、页面适应大小分辨率、查询方式、引入sql、sql替换占位符、自定义js、以及自定义css等;
进一步地,所述报表基础配置参数解析,所述页面名称为报表名称,所述关联菜单为报表绑定的菜单,用于当点击菜单时打开该报表,所述所属单位为该报表的数据权限,用于数据隔离,所属数据来源,选择已发布的数据源,绑定数据通道,所述页面适应大小分辨率,该项包含1024*768、1280*720、1280*1024、1360*768、1400*900、1920*1080等,默认为1024*768,当需要自适应浏览器分辨率时使用,根据算法进行输出,所述查询方式为默认为数据源,所述引入sql,则选择SQL管理发布的SQL脚本,用于绑定该报表的数据来源,所述sql替换占位符,解析SQL中的占位,用于替换占位符,所述自定义js、自定义css,当解析报表时初始化报表的展示样式,达到个性化显示;
进一步地,所述自适应分辨率算法,根据报表所配置的自适应浏览器分辨率数值项,获取浏览器分比率大小,浏览器高度-配置项高度=实际展示高度,当高度小于0px,则不进行拉升,浏览器宽度-配置项宽度=实际展示宽度,当宽度小于0px,则不进行拉升,当高度、宽度都大于0px时,计算组件元素的大小,进行等比拉伸;
进一步地,所述自定义js、自定义css使用场景,根据不同单位定制需求所配置,当报表加载前动态指定预定义js、css,给予报表初始化赋能,所述保存该参数时,会进行参数防XSS注入,当匹配对应的HTML标签时,进行转义处理;
进一步地,所述sql占位符替换规则,预定sql脚本中的占位参数,如格式为[],如[currentYear]标识当前年度,当执行脚本时,会动态替换占位符赋予对应数值,所述sql占位符为系统预设占位符;
进一步地,所述报表配置包含明细配置组件,该配置用于报表细节配置,根据基础配置进行页面的拓展配置,包含查询条件、列表属性、jqgrid属性、树形列表属性等;
进一步地,所述报表明细配置查询条件,根据配置用于生成报表的搜索条件,主要包含排序号、控件类型、控件名称、查询字段、获取方式、是否使用、SQL占位符,控件内容等;
进一步地,所述排序号为整数、升序排序,可修改;
进一步地,所述控件类型为预设类型,每种类型对应不同的查询效果,包含input框模糊查询、input框精准查询、时间范围查询、下拉结构查询、状态下拉查询以及树形结构查询等;
进一步地,所述input框模糊查询参数用于生成报表的搜索条件为文本类型,在进行搜索时,sql引擎进行sql脚本“like”拼接;
进一步地,所述input框精准查询参数用于生成报表的搜索条件为文本类型,在进行搜索时,sql引擎进行sql脚本“=”拼接;
进一步地,所述时间范围查询参数用于生成报表的搜索条件为时间类型,点击弹出时间搜索框,在进行搜索时,sql引擎进行sql脚本“=”拼接;
进一步地,所述下拉结构查询参数用于生成报表的搜索条件为树形控件,点击树形控件弹出数据树形控件,通过控件内控进行配置;在进行搜索时,sql引擎进行sql脚本“=”拼接;
进一步地,所述状态下拉查询参数用于生成报表的搜索条件为下拉控件,点击下拉控件弹出数据列,通过控件内控进行配置;在进行搜索时,sql引擎进行sql脚本“=”拼接;
进一步地,所述控件内容可编写SQL脚本或来源sql脚本管理,验证脚本是否合法,所维护的脚本只能进行select命令,并只有读权限没有写权限,所述脚本的非合法的命令给予参数处理赋值为空,防止SQL注入;
进一步地,所述报表明细配置列表属性,根据配置用于生成报表的展示元素项管理,主要包含排序号、显示字段、是否隐藏、显示名称、索引、字段是否排序、字段是否可搜索、是否列冻结、对齐方式、宽度、是否列合并、格式化类型、自定义格式化等;
进一步地,所述加载明细列时,会自动根据绑定的sql脚本进行输出,自动执行sql引擎,把返回的结果进行输出并进行配置;
进一步地,所述报表明细配置jqgrid属性,根据配置用于修改jqgrid的创建过程,包含初始化参数、事件配置等,初始化参数包含,请求地址,是否表格多选,每页显示数量,分页条件设置,描述json数据格式的数组(jsonReader),页面跳转返回带参(所有查询列查询条件),页面跳转返回带参(左侧树形选中项),页面跳转返回带参(列搜索工具栏填入项),页面跳转返回带参(跳转前选中的数据),页面跳转返回带参(跳转前当前页面页码),是否树形表格(treeGrid),是否展示合计列(footerrow),是否集成搜索工具栏(filterToolbar),是否分组表头,是否宽度自适应(autowidth),高度(height),是否显示序号(rownumbers),序号号宽度(rownumWidth),是否记录总条数(viewrecords);事件配置包含:单选事件(onSelectRow),全选事件(onSelectAll),表格加载完成事件(gridComplete),翻页事件(onPaging),双击事件(ondblClickRow),所有加载完成事件(loadComplete),方法体手输,方法体选择等;
进一步地,所述报表明细配置树形列表属性,开启参数时,标识该报表左侧为树形结构布局,主要包含显示名称,数据获取方式,数据获取路径,查询字段,单选or复选,是否展开等;
进一步地,所属报表明细配置事件配置,可通过不同的事件类型编写js脚本语言,并能动态执行脚本,在不同的事件触发点触发对应的事件类型;
进一步地,点击生成页面生成报表,完成报表的配置工作;
可选的,下面将图2作为参考图,对本实施例的具体实现方式进一步说明:
本实施例基于动态数据报表的生成设备中的配置驱动数据报表设计器,包含数据源管理模块,SQL脚本管理模块、报表配置模块等,所述数据源管理用于管理执行数据源,通过设置连接驱动、账号、密码要素进行建立数据库通道,给予执行SQL脚本,所述SQL脚本管理用于维护SQL脚本实例,生成的脚本用于数据库引擎执行,形成脚本集库,同时提供给予报表配置模块使用,所述报表配置模块用于绑定脚本实例对返回的数据项进行表头配置,包含元素项配置、布局配置等,通过个性化的配置,达到展示或实现效果不同,完成一个报表设计的全部过程如下:
其中超级管理员负责数据源的维护,主要有余下步骤:1)通过数据源管理模块进行数据源的维护包含查看,数据源维护,删除,搜索,发布;2)保存数据源时,根据驱动、账号、加密密码进行数据源连接测试,打通数据库连接通道;3)完成数据源维护并安全连接正常后,进行保存;-4)进行发布或撤回时,必须为超级管理员才可操作,并进行二次验证;5)进行删除时,必须为超级管理员才可操作,并进行二次验证;6)对数据源的维护统一记录操作日志、操作IP、操作人员等;
1,数据源管理列表搜索用于数据源信息搜索,根据关键字进行模糊搜索,根据数据源编码或状态进行精准搜索;
2,数据源删除模块用于数据源删除,未发布的数据集元素可进行删除,已发布的数据元素不可删除;
3,数据源编辑模块用于编辑数据源,对数据源的维护,同新增数据源相同,对状态不进行调整;
4,数据源发布模块用于数据源的发布,发布完成后可提供给报表配置进行使用;
其中,超级管理员已将数据源全部录入完成,下一步SQL脚本的维护,所述用于创建脚本绑定数据源建立数据通道,通过SQL脚本管理进行脚本的维护,包含新建,变更,删除,发布。主要有余下步骤:1)新建SQL脚本,填写基础信息;2)保存时,根据脚本编码验证是否唯一,同时验证脚本是否合法;3)对脚本维护统一记录操作日志,登记操作IP操作人员操作时间;
1,SQL脚本管理列表搜索用于脚本信息搜索,根据关键字进行模糊搜索,根据脚本编码或状态进行精准搜索;
2,SQL脚本删除模块用于脚本删除,未发布的脚本可进行删除,已发布的脚本不可删除;
3,SQL脚本编辑模块用于脚本据源,对脚本的维护,同新建脚本相同,对状态不进行调整;
4,SQL脚本发布模块用于脚本的发布,发布完成后可提供给报表配置进行使用;
其中,业务人员进行报表设计,通过报表配置模块进行报表的维护,包含新建,变更,删除,发布,备份,主要有余下步骤:1)通过创建数据报表页面,可填写的基本元素;2)选择已发布的数据源,打通数据库通道;3)选择预定义sql,绑定所执行脚本;4)点击测试连接按钮,生成报表元素,同时对报表元素进行配置调整,4)设置分辨率自适应规格,响应在不同面板上的自适应拉升缩放;5)设置报表元素的配置项,设置事件模式,面板模式等;6)关联菜单属性,绑定左侧菜单的入口;7)看全局设置字符大小,文字字体进行调整;8)对表报表配置维护统一记录操作日志,登记操作IP操作人员操作时间;
一,报表搜索模块搜索用于报表搜索,根据关键字进行模糊搜索,根据报表编号或状态进行精确搜索;
二,报表删除模块用于报表删除,未发布的报表可进行删除,已发布的报表不可删除;
三,报表新增模块用于新建报表,对报表的维护,默认为未发布状态;
四,报表编辑模块用于编辑报表,对报表的维护,同新建报表模块相同,对状态不进行调整;
五,报表浏模块用于查看报表的情况,跳转报表预览页面,可查看实际效果;
六,报表绑定所属菜单,在实际前端解析时,对左侧菜单点击时进行报表输出;
最后,业务人员维护完成报表后,可进行数据报表页面生成。
在本发明实施例中,动态数据报表的生成设备在检测到启动指令时,输出报表创建界面;当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;根据所述目标控件与所述目标脚本实例生成报表元素;将所述报表元素形成于所述报表预览页面;当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。由于动态数据报表的生成设备预设有数据源、数据库以及脚本,在检测到用户发起的生成指令时,可通过预设数据源,预设SQL脚本等进行动态数据报表的生成,大大减少了业务任务的配置时间,减少了配置过程及配置错误的情况,业务人员只需关注是否存在可用组件,关注设计器根据需求是否支持可调整,大大提升了工作效能;并对于统计报表的数据提供有效支撑;以配置驱动业务的模式下,对报表的数据库字段实现了统一管理,减轻了报表的创建复杂度,减轻了开发工作,可简单的快速的调整报表,提高了动态数据报表的生成效率。
上面对本发明实施例中动态数据报表的生成方法进行了描述,下面对本发明实施例中动态数据报表的生成装置进行描述,请参阅图3,本发明实施例中动态数据报表的生成装置一个实施例包括:
获取模块301,用于在检测到启动指令时,输出报表创建界面;
创建模块302,用于当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
第一确定模块303,用于当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
连接模块304,用于根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
第二确定模块305,用于根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
第一生成模块306,用于根据所述目标控件与所述目标脚本实例生成报表元素;
形成模块307,用于将所述报表元素形成于所述报表预览页面;
第二生成模块308,用于当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
可选的,获取模块301还可以具体用于:
获取预设SQL脚本语言;
在所述数据库执行所述预设SQL脚本语言,得到所述预设脚本实例;
将所述预设脚本实例关联预设控件类型。
可选的,第二生成模块308还可以具体用于:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取所述报表预览页面对应的配置信息;
根据所述配置信息生成所述数据报表页面;
输出所述数据报表页面。
可选的,创建模块302还可以具体用于:
当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的预设操作。
可选的,创建模块302还可以具体用于:
当所述报表创建界面中的报表删除控件被选中时,请求在已生成数据报表页面中确定待删除数据报表页面;
在检测到所述待删除数据报表页面的确定指令时,确定所述待删除数据报表页面的报表状态;
若所述报表状态为未发布状态,删除所述待删除数据报表页面;
若所述报表状态为已发布状态,输出无法删除已发布报表的提示信息。
可选的,创建模块302还可以具体用于:
若所述报表状态为未发布状态,输出二次确定的提示信息;
在检测到二次确认指令时,删除所述待删除数据报表页面。
可选的,创建模块302还可以具体用于:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取预设分辨率;
根据所述报表预览页面生成所述预设分辨率对应的所述数据报表页面。
在本发明实施例中,动态数据报表的生成设备在检测到启动指令时,输出报表创建界面;当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;根据所述目标控件与所述目标脚本实例生成报表元素;将所述报表元素形成于所述报表预览页面;当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。由于动态数据报表的生成设备预设有数据源、数据库以及脚本,在检测到用户发起的生成指令时,可通过预设数据源,预设SQL脚本等进行动态数据报表的生成,大大减少了业务任务的配置时间,减少了配置过程及配置错误的情况,业务人员只需关注是否存在可用组件,关注设计器根据需求是否支持可调整,大大提升了工作效能;并对于统计报表的数据提供有效支撑;以配置驱动业务的模式下,对报表的数据库字段实现了统一管理,减轻了报表的创建复杂度,减轻了开发工作,可简单的快速的调整报表,提高了动态数据报表的生成效率。
上面图3从模块化功能实体的角度对本发明实施例中的动态数据报表的生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中动态数据报表的生成设备进行详细描述。
图4是本发明实施例提供的一种动态数据报表的生成设备的结构示意图,该动态数据报表的生成设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对动态数据报表的生成设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在动态数据报表的生成设备500上执行存储介质530中的一系列指令操作。
基于动态数据报表的生成设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图4示出的动态数据报表的生成设备结构并不构成对基于动态数据报表的生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述动态数据报表的生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种动态数据报表的生成方法,其特征在于,所述动态数据报表的生成方法包括:
在检测到启动指令时,输出报表创建界面;
当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
根据所述目标控件与所述目标脚本实例生成报表元素;
将所述报表元素形成于所述报表预览页面;
当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
2.根据权利要求1所述的动态数据报表的生成方法,其特征在于,所述在检测到启动指令时,输出报表创建界面的步骤之前,所述方法还包括:
获取预设SQL脚本语言;
在所述数据库执行所述预设SQL脚本语言,得到所述预设脚本实例;
将所述预设脚本实例关联预设控件类型。
3.根据权利要求1所述的动态数据报表的生成方法,其特征在于,所述当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面的步骤包括:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取所述报表预览页面对应的配置信息;
根据所述配置信息生成所述数据报表页面;
输出所述数据报表页面。
4.根据权利要求1所述的动态数据报表的生成方法,其特征在于,所述在检测到生成指令时,根据所述报表预览页面生成数据报表页面的步骤之后,所述方法还包括:
当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的预设操作。
5.根据权利要求4所述的动态数据报表的生成方法,其特征在于,所述当所述报表创建界面中的预设控件被选中时,执行所述预设控件对应的操作的步骤包括:
当所述报表创建界面中的报表删除控件被选中时,请求在已生成数据报表页面中确定待删除数据报表页面;
在检测到所述待删除数据报表页面的确定指令时,确定所述待删除数据报表页面的报表状态;
若所述报表状态为未发布状态,删除所述待删除数据报表页面;
若所述报表状态为已发布状态,输出无法删除已发布报表的提示信息。
6.根据权利要求4所述的动态数据报表的生成方法,其特征在于,所述若所述报表状态为未发布状态,删除所述待删除数据报表页面的步骤包括:
若所述报表状态为未发布状态,输出二次确定的提示信息;
在检测到二次确认指令时,删除所述待删除数据报表页面。
7.根据权利要求1-6任一项所述的动态数据报表的生成方法,其特征在于,所述当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面的步骤包括:
当所述报表创建界面中的数据报表页面生成控件被选中时,获取预设分辨率;
根据所述报表预览页面生成所述预设分辨率对应的所述数据报表页面。
8.一种动态数据报表的生成装置,其特征在于,所述动态数据报表的生成装置包括:
获取模块,用于在检测到启动指令时,输出报表创建界面;
创建模块,用于当所述报表创建界面中的报表生成控件被选中时,在所述报表创建界面显示报表预览页面;
第一确定模块,用于当所述报表创建界面中的目标控件被选中时,确定所述目标控件对应的数据源;
连接模块,用于根据所述数据源连接数据库,所述数据库中存储有预设脚本实例;
第二确定模块,用于根据所述目标控件的控件类型在所述预设脚本实例中确定目标脚本实例;
第一生成模块,用于根据所述目标控件与所述目标脚本实例生成报表元素;
形成模块,用于将所述报表元素形成于所述报表预览页面;
第二生成模块,用于当所述报表创建界面中的数据报表页面生成控件被选中时,根据所述报表预览页面生成数据报表页面。
9.一种动态数据报表的生成设备,其特征在于,所述动态数据报表的生成设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述动态数据报表的生成设备执行如权利要求1-7中任一项所述的动态数据报表的生成方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的动态数据报表的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211712837.XA CN115841102A (zh) | 2022-12-30 | 2022-12-30 | 动态数据报表的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211712837.XA CN115841102A (zh) | 2022-12-30 | 2022-12-30 | 动态数据报表的生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115841102A true CN115841102A (zh) | 2023-03-24 |
Family
ID=85577570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211712837.XA Pending CN115841102A (zh) | 2022-12-30 | 2022-12-30 | 动态数据报表的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115841102A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118246425A (zh) * | 2024-05-28 | 2024-06-25 | 杭州政云数据技术有限公司 | 报表生成方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100107086A1 (en) * | 2007-07-02 | 2010-04-29 | Huawei Technologies Co., Ltd. | Method and system for generating report condition input interface |
CN104281447A (zh) * | 2014-09-01 | 2015-01-14 | 国家电网公司 | 一种报表快速生成及发布的系统及其方法 |
US20160085660A1 (en) * | 2014-09-23 | 2016-03-24 | International Business Machines Corporation | Real-time usage checking of dynamically generated program output |
CN107220043A (zh) * | 2017-05-03 | 2017-09-29 | 辽宁科技大学 | 一种使用wpf界面生成报表的方法及报表引擎 |
CN110019261A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 数据查询方法和装置 |
CN113962206A (zh) * | 2021-10-22 | 2022-01-21 | 中电金信软件有限公司 | 一种报表生成方法及装置 |
CN115033235A (zh) * | 2022-06-30 | 2022-09-09 | 浙江瑞华康源科技有限公司 | 基于低代码开发平台进行web页面灵活复用的系统及方法 |
CN115061721A (zh) * | 2022-07-12 | 2022-09-16 | 平安科技(深圳)有限公司 | 一种报表生成方法、装置、计算机设备及存储介质 |
CN115392205A (zh) * | 2022-08-18 | 2022-11-25 | 广联达科技股份有限公司 | 报表数据的生成方法、装置、电子设备及存储介质 |
-
2022
- 2022-12-30 CN CN202211712837.XA patent/CN115841102A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100107086A1 (en) * | 2007-07-02 | 2010-04-29 | Huawei Technologies Co., Ltd. | Method and system for generating report condition input interface |
CN104281447A (zh) * | 2014-09-01 | 2015-01-14 | 国家电网公司 | 一种报表快速生成及发布的系统及其方法 |
US20160085660A1 (en) * | 2014-09-23 | 2016-03-24 | International Business Machines Corporation | Real-time usage checking of dynamically generated program output |
CN107220043A (zh) * | 2017-05-03 | 2017-09-29 | 辽宁科技大学 | 一种使用wpf界面生成报表的方法及报表引擎 |
CN110019261A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 数据查询方法和装置 |
CN113962206A (zh) * | 2021-10-22 | 2022-01-21 | 中电金信软件有限公司 | 一种报表生成方法及装置 |
CN115033235A (zh) * | 2022-06-30 | 2022-09-09 | 浙江瑞华康源科技有限公司 | 基于低代码开发平台进行web页面灵活复用的系统及方法 |
CN115061721A (zh) * | 2022-07-12 | 2022-09-16 | 平安科技(深圳)有限公司 | 一种报表生成方法、装置、计算机设备及存储介质 |
CN115392205A (zh) * | 2022-08-18 | 2022-11-25 | 广联达科技股份有限公司 | 报表数据的生成方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118246425A (zh) * | 2024-05-28 | 2024-06-25 | 杭州政云数据技术有限公司 | 报表生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7725501B1 (en) | System and method for rapid database application deployment and use | |
KR101013233B1 (ko) | 의미적 그리고 기능적 관계에 따라 포털 페이지상의포틀릿의 자동적 배치를 위한 시스템 | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
CN103617037B (zh) | 用于web开发系统的开发方法和web开发系统 | |
CN108351883B (zh) | 动态上下文枢纽网格分析的显示 | |
US6442714B1 (en) | Web-based integrated testing and reporting system | |
US20030084429A1 (en) | Systems and methods for table driven automation testing of software programs | |
US8839107B2 (en) | Context based script generation | |
US6182245B1 (en) | Software test case client/server system and method | |
US7165073B2 (en) | Dynamic, hierarchical data exchange system | |
US7373636B2 (en) | Automated software testing system and method | |
US8484638B2 (en) | Infrastructure for the automation of the assembly of schema maintenance scripts | |
US6876314B1 (en) | Self-generating automatic code generator | |
US20060015839A1 (en) | Development of software systems | |
US20110016448A1 (en) | System and method for rapid development of software applications | |
DE19836333A1 (de) | Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem | |
US10445675B2 (en) | Confirming enforcement of business rules specified in a data access tier of a multi-tier application | |
US7403934B2 (en) | Script generator for automating system administration operations | |
US20120124550A1 (en) | Facilitating database application code translation from a first application language to a second application language | |
CN117519698B (zh) | 一种基于分布式架构的在线生成表单方法及系统 | |
CN115841102A (zh) | 动态数据报表的生成方法、装置、设备及存储介质 | |
US7685229B1 (en) | System and method for displaying server side code results in an application program | |
CN111625472A (zh) | 一种单元测试方法及装置 | |
JPH06110733A (ja) | プログラムのテストケース生成装置 | |
CN116594917B (zh) | Ui测试方法和装置、电子设备及机器可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230324 |
|
RJ01 | Rejection of invention patent application after publication |