CN115357585A - 一种零代码自动报表生成方法 - Google Patents
一种零代码自动报表生成方法 Download PDFInfo
- Publication number
- CN115357585A CN115357585A CN202211061435.8A CN202211061435A CN115357585A CN 115357585 A CN115357585 A CN 115357585A CN 202211061435 A CN202211061435 A CN 202211061435A CN 115357585 A CN115357585 A CN 115357585A
- Authority
- CN
- China
- Prior art keywords
- report
- configuration information
- operation instruction
- data
- database operation
- 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
Images
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
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/23—Updating
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种零代码自动报表生成方法,所述方法包括:获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令;使用数据库操作指令对数据库进行操作,得到至少一组报表数据,并传输给前端应用程序,其中,所述报表数据包含要渲染的组件对应的类型标识;前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面。
Description
技术领域
本发明涉及低代码/零代码开发领域,尤其涉及一种零代码自动报表生成方法。
背景技术
目前市面上对于报表类开发技术大体分为2类:一是完全自定义开发,包括前端页面和后端接口服务,业务方需要什么功能就开发什么,完全按照业务方需求来实现。二是低代码平台,通过前端拖拽式组件拼装生成前端代码,后端数据接口需按需实现。图1简要地描述了现有报表开发流程。如图1所示,在现有的报表开发流程中,首先由业务需求方提出报表需求并发送给系统建设方,系统建设方评估该需求的可行性,并开始做需求设计。在需求设计完成后,发送给业务需求方进行确认,确认后,由系统建设方进入功能的开发和实现环节。开发完成后,进行上线测试部署,然后交付给业务需求方进行使用。
对现有流程和技术实现方案进行评估后,不难发现其中存在很多的问题,主要为以下几点:
1.原有技术均需设计人员和开发人员共同介入,就算是低代码平台,也只是减轻了前端开发的工作量,但还是需要将生成的代码进行细节开发才能达到需求目标,后端数据接口开发的工作量并未减少。
2.每个报表均需走一遍全部流程,从需求提出到功能设计,到最后的开发实现和上线发布,均需要系统建设方深度参与,与业务需求方频繁沟通交流,增加了人力和时间成本。
3.报表上线发布均需测试、部署更新等操作,部署期间可能导致系统其他功能不可用、中断等情况,增加了人工维护和测试成本。
发明内容
本发明的目的是提供一种零代码自动报表生成方法,旨在使用前端动态页面渲染以及后端动态数据库语言模板技术,通过灵活的报表信息配置实现零代码报表自动生成,在开发上减少技术门槛,使得没有开发能力的业务人员也可根据自身需求实现报表定制开发,具有可视化定制开发、即配即用等特性。
本发明为解决上述技术问题采用的技术方案为,提供了一种零代码自动报表生成方法,包括:
获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令;
使用数据库操作指令对数据库进行操作,得到至少一组报表数据,并传输给前端应用程序,其中,所述报表数据包含要渲染的组件对应的类型标识;
前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面。
在一种可能的实施方式中,所述报表配置信息,包括对报表的增加、删除、修改、查询中的至少一项操作。
在一种可能的实施方式中,所述根据报表配置信息,动态生成对应功能的数据库操作指令,包括:
将报表配置信息填入预先配置完成的数据库操作指令模板,生成对应功能的数据库操作指令。
在一种可能的实施方式中,在获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令之前,所述方法还包括:
获取报表制作需求,根据报表制作需求,生成报表配置信息。
在一种可能的实施方式中,所述获取报表制作需求,根据报表制作需求,生成报表配置信息,包括:
如果报表制作需求对应的数据表已存在于数据库中,则配置制作报表所需的字段信息,然后生成报表配置信息;
如果报表制作需求对应的数据表不存在于数据库中,则先在所述数据库中构建所述数据表,然后配置制作报表所需的字段信息,进而生成报表配置信息。
在一种可能的实施方式中,在前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面之后,所述方法还包括:
将所述报表页面配置到系统功能菜单;
将所述报表页面授权给相关使用者进行使用。
在一种可能的实施方式中,所述数据库操作指令为SQL;所述报表数据为对象型数组;所述前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面,使用Vue和ElementUI工具完成。
在一种可能的实施方式中,所述将报表配置信息填入预先配置完成的数据库操作指令模板,生成对应功能的数据库操作指令,使用MyBatisPlus3和Freemarker工具完成。
本发明提出的一种零代码自动报表生成方法,大大地提升了报表定制开发的效率,降低了开发门槛,在开发上减轻了定制报表的开发投入;在使用上减轻了业务人员和开发人员的沟通成本,业务人员可自行可视化定制需要的报表以及灵活调整需求,按需定制,全程零代码;从维护上无需停机即可使用新定制的报表,降低了系统故障风险。
附图说明
图1为现有技术中的一种报表开发流程的示意图;
图2为本发明实施例公开的一种零代码自动报表生成的业务流程的示意图;
图3为本发明实施例公开的一种零代码自动报表生成方法的流程图;
图4为本发明实施例公开的一种零代码自动报表生成方法的字段配置页面的示意图;
图5为本发明实施例公开的一种零代码自动报表生成方法的前端报表页面的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图2为本发明实施例公开的一种零代码自动报表生成的业务流程的示意图。如图2所示,使用本发明中的零代码自动报表生成方法进行报表开发的业务流程为:根据实际业务中的需要,产生相应的报表开发的需求;根据报表开发需求,在前端完成报表的开发与配置;将配置好的报表页面配置到系统功能菜单,并进行发布;将报表页面授权给相关使用者进行使用。
图3为本发明实施例公开的一种零代码自动报表生成方法的流程图。
在步骤S302,获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令。
具体地,将报表配置信息填入预先配置完成的数据库操作指令模板,生成对应功能的数据库操作指令。在一部分实施例中,步骤S302在后端应用程序上完成,所述后端应用程序,可以部署在企业机房的服务器上,也可以部署在公有云上,这里不作限定。在一部分实施例中,所述数据库操作指令为SQL(Structure Query Language,结构化查询语言)。使用MyBatisPlus3工具的动态SQL特性和Freemarker工具的自定义模板技术,预先制作通用的SQL模板。在接收到传来的报表配置信息后,根据报表配置信息填充SQL模板,生成拥有相对应功能的SQL语句。
在一些可能的实施方式中,报表配置信息,包括对报表本身以及报表中的字段的增加、删除、修改、查询中的至少一项操作。
在步骤S303,使用数据库操作指令对数据库进行操作,得到至少一组报表数据,并传输给前端应用程序,其中,所述报表数据包含要渲染的组件对应的类型标识。
在一些可能的实施方式中,步骤S303在后端应用程序上完成,后端应用程序使用面向对象的编程语言编写,后端应用程序将报表数据包装成对应的对象型数组,并传输给前端应用程序。对象型数组中包含报表数据,以及要渲染的组件对应的类型标识。
在一些可能的实施方式中,要渲染的组件对应的类型标识,包括:Select选择器、Radio单选框、Checkbox多选框、Input输入框、textarea文本域、ace-editor ACE编辑器、InputNumber计数器、Switch开关、Upload上传组件、DatePicker日期选择器、ColorPicker颜色选择器、Pagination分页组件、Form表单组件、Table表格组件、NavMenu导航菜单、Tabs标签页组件、Dropdown下拉菜单、Dialog对话框、Tooltip文字提示、Popover弹出框、Card卡片容器、Image图片容器、Tree树形控件、Badge标记(出现在按钮、图标旁的数字或状态标记)、Avatar头像信息、Alert警告提示、Loading加载动效、Message消息提示中的至少一种。
在步骤S304,前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面。
具体地,前端应用程序使用Vue和ElementUI工具进行报表组件的动态渲染,使用Vue的<component:is=""></component>组件,根据不同的组件类型标识,对报表数据进行渲染展示,组成报表页面。在一部分实施例中,前端应用程序可以部署在浏览器、桌面端应用程序、移动端APP程序、微信/支付宝小程序等等至少一种终端设备上,这里不作限定。
在一些可能的实施方式中,所述报表组件,为预先编写完成的。
在一些可能的实施方式中,在步骤S302之前还存在步骤S301:获取报表制作需求,根据报表制作需求,生成报表配置信息。
具体地,如果报表制作需求对应的数据表已存在于数据库中,则配置制作报表所需的字段信息,然后生成报表配置信息;如果报表制作需求对应的视图已存在于数据库中,则配置制作报表所需的字段信息,然后生成报表配置信息,但是对视图无法进行增加、删除、修改等操作,只支持报表查询和数据导出功能;如果报表制作需求对应的数据表不存在于数据库中,则先在所述数据库中构建所述数据表,然后配置制作报表所需的字段信息,进而生成报表配置信息。
在一些可能的实施方式中,在步骤S304之后还存在步骤S305:将所述报表页面配置到系统功能菜单;以及步骤S306:将所述报表页面授权给相关使用者进行使用。
图4为本发明实施例公开的一种零代码自动报表生成方法的字段配置页面的示意图。如图4所示,为在报表中新增自定义字段的配置页面,对应于步骤S302中的方法的一个具体实施例,包括:字段名,具体为对应的数据库表或视图中的字段名;字段中文名,具体为数据库表或视图字段中文解释;字段类型,具体为数据类型,包括字符串、长文本、数值、日期、图片、文件;排序号,具体用于报表呈现字段前后顺序;排序方式,具体为该字段数据查询呈现排序方式,包括倒序和正序;是否可编辑,具体用于确定数据记录修改时该字段是否允许编辑;是否支持查询,具体用于确定该字段是否作为报表查询条件,用于动态构建查询区域;是否主键,具体用于更新以及删除标识数据唯一性;主键新增是否自动填充,具体用于确认主键字段可支持自动填充分布式唯一ID;枚举信息,具体为枚举值,支持通过数据库操作指令配置和手动填写两种方式。通过这些配置项,可以仅在前端就完成对报表字段的新增,而无需编写具体的数据库操作指令。
图5为本发明实施例公开的一种零代码自动报表生成方法的前端报表页面的示意图。如图5所示,为前端渲染完成的报表页面,对应于步骤S304中的方法的一个具体实施例,包括动态查询区和动态报表区两部分。其中,如果在如图4所示的自定义字段的配置页面,勾选了支持查询,则该字段会显示在动态查询区中。使用至少一组报表数据以及类型标识动态渲染报表组件,位于动态报表区。示例性地,动态报表区包括4个字段,分别为“AdminName”、“Object”、“Action”和“Date”,以及6条数据。
综上,本说明书实施例提供的方法,统一管理自定义报表开发流程,从表创建到表管理,从数据录入到数据维护,都有统一的可视化界面进行一站式配置,业务人员无需开发人员参与,即可自行实现报表功能在线开发;同时,采用统一模板动态渲染,根据自定义报表配置属性动态渲染报表功能,实现零代码灵活配置报表,无需停机升级,即配即用,解决新报表必须定制开发或人工处理的问题。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种零代码自动报表生成方法,其特征在于,所述方法包括:
获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令;
使用数据库操作指令对数据库进行操作,得到至少一组报表数据,并传输给前端应用程序,其中,所述报表数据包含要渲染的组件对应的类型标识;
前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面。
2.根据权利要求1所述的方法,其特征在于,所述报表配置信息,包括对报表的增加、删除、修改、查询中的至少一项操作。
3.根据权利要求1所述的方法,其特征在于,所述根据报表配置信息,动态生成对应功能的数据库操作指令,包括:
将报表配置信息填入预先配置完成的数据库操作指令模板,生成对应功能的数据库操作指令。
4.根据权利要求1所述的方法,其特征在于,在获取报表配置信息,根据报表配置信息,动态生成对应功能的数据库操作指令之前,所述方法还包括:
获取报表制作需求,根据报表制作需求,生成报表配置信息。
5.根据权利要求4所述的方法,其特征在于,所述获取报表制作需求,根据报表制作需求,生成报表配置信息,包括:
如果报表制作需求对应的数据表已存在于数据库中,则配置制作报表所需的字段信息,然后生成报表配置信息;
如果报表制作需求对应的数据表不存在于数据库中,则先在所述数据库中构建所述数据表,然后配置制作报表所需的字段信息,进而生成报表配置信息。
6.根据权利要求1所述的方法,其特征在于,在前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面之后,所述方法还包括:
将所述报表页面配置到系统功能菜单;
将所述报表页面授权给相关使用者进行使用。
7.根据权利要求1所述的方法,其特征在于,所述数据库操作指令为SQL;所述报表数据为对象型数组;所述前端应用程序根据所述至少一组报表数据以及类型标识,动态渲染报表组件,组成报表页面,使用Vue和ElementUI工具完成。
8.根据权利要求3所述的方法,其特征在于,所述将报表配置信息填入预先配置完成的数据库操作指令模板,生成对应功能的数据库操作指令,使用MyBatisPlus3和Freemarker工具完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211061435.8A CN115357585A (zh) | 2022-08-31 | 2022-08-31 | 一种零代码自动报表生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211061435.8A CN115357585A (zh) | 2022-08-31 | 2022-08-31 | 一种零代码自动报表生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115357585A true CN115357585A (zh) | 2022-11-18 |
Family
ID=84005072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211061435.8A Pending CN115357585A (zh) | 2022-08-31 | 2022-08-31 | 一种零代码自动报表生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115357585A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225436A (zh) * | 2023-03-07 | 2023-06-06 | 上海万纬纵横科技有限公司 | 一种全客户端低代码动态生成界面优化系统及方法 |
CN116560723A (zh) * | 2023-07-10 | 2023-08-08 | 中国电子科技集团公司第十五研究所 | 零代码开发快速生成移动端数据采集软件的系统及方法 |
-
2022
- 2022-08-31 CN CN202211061435.8A patent/CN115357585A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225436A (zh) * | 2023-03-07 | 2023-06-06 | 上海万纬纵横科技有限公司 | 一种全客户端低代码动态生成界面优化系统及方法 |
CN116560723A (zh) * | 2023-07-10 | 2023-08-08 | 中国电子科技集团公司第十五研究所 | 零代码开发快速生成移动端数据采集软件的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115357585A (zh) | 一种零代码自动报表生成方法 | |
KR102237877B1 (ko) | 실시간 협업지원 지능형 소프트웨어 자동 개발 시스템 및 그 방법 | |
CN108874680B (zh) | 一种自动化的软件测试方法及系统 | |
WO1998014869A1 (en) | Software release control system and method | |
CN104007957A (zh) | 在编辑期间显示实时数据的改进图形用户界面编辑器 | |
CN111949607B (zh) | 一种udt文件的监控方法、系统和装置 | |
JP2007304660A (ja) | コマンド実行結果記録システム及びコマンド実行結果記録方法 | |
CN115098097A (zh) | 页面构建和管理方法和系统以及前端显示方法 | |
CN113032633B (zh) | 一种利用引用数据项自定义表格的方法 | |
CN106354727A (zh) | 小部件文件生成方法和装置 | |
CN110866054A (zh) | 一种标签配置方法、装置及计算机存储介质 | |
CN114185772A (zh) | 软件测试方法、装置、存储介质及计算机设备 | |
CN112989781B (zh) | 表单数据自动执行方法、装置、电子设备、存储介质 | |
CN114518881A (zh) | 一种页面生成方法、系统及存储介质 | |
CN112416791B (zh) | 一种测试对象的缺陷信息处理系统和方法 | |
CN115269387A (zh) | 接口自动化测试方法及装置 | |
CN114492358A (zh) | 基于rpa和ai的庭前通知文书处理方法、装置、设备及介质 | |
CN114218105A (zh) | 一种基于配置即应用模式的ui自动化回归测试系统 | |
CN115687054A (zh) | 基于业务分割还原的自适应测试方法以及装置 | |
CN112598383A (zh) | 一种审批方法、装置、设备和介质 | |
CN113391794A (zh) | 一种开发协作服务系统及方法 | |
CN112988576A (zh) | 一种软件项目研发进程确定方法及装置 | |
CN108170557B (zh) | 用于输出信息的方法和装置 | |
KR102668341B1 (ko) | 인터페이스 관리 방법, 인터페이스 거버넌스 시스템, 및 인터페이스를 관리하는, 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체 | |
CN115829549B (zh) | 一种飞机维修工艺管理方法 |
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 |