类 FileReportProvider
java.lang.Object
net.sohelp.boot.engine.web.report.FileReportProvider
- 所有已实现的接口:
com.bstek.ureport.provider.report.ReportProvider,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware
public class FileReportProvider
extends Object
implements com.bstek.ureport.provider.report.ReportProvider, org.springframework.context.ApplicationContextAware
自定义报表提供者
- 从以下版本开始:
- 2024/7/31 10:50
- 作者:
- AaronFung
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voiddeleteReport(String file) 删除指定报告文件 该方法根据传入的文件路径格式验证后,调用uReportService删除对应的报告文件。booleandisabled()判断当前文件报告提供者是否被禁用getName()获取报表系统的名称。List<com.bstek.ureport.provider.report.ReportFile> 获取报告文件列表loadReport(String file) 加载报表文件并返回输入流 函数会解析传入的文件路径字符串,验证其格式是否符合预期(格式应为:类型/目录名/报表名!voidsaveReport(String file, String content) 保存报表内容到指定文件路径voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) 设置应用上下文,并初始化文件存储目录。voidsetDisabled(boolean disabled) 设置是否禁用状态voidsetFileStoreDir(String fileStoreDir) 设置文件存储目录
-
构造器详细资料
-
FileReportProvider
public FileReportProvider()
-
-
方法详细资料
-
loadReport
加载报表文件并返回输入流 函数会解析传入的文件路径字符串,验证其格式是否符合预期(格式应为:类型/目录名/报表名!报表版本), 然后通过uReportService获取报表内容,最后将报表的XML内容转换为字节数组并包装为InputStream返回。- 指定者:
loadReport在接口中com.bstek.ureport.provider.report.ReportProvider- 参数:
file- 报表文件路径,格式应为:类型/目录名/报表名!报表版本(例如:report/sales/monthly!2023)- 返回:
- 包含报表XML内容的InputStream对象
- 抛出:
com.bstek.ureport.exception.ReportException- 当文件格式不正确或报表不存在时抛出异常
-
deleteReport
删除指定报告文件 该方法根据传入的文件路径格式验证后,调用uReportService删除对应的报告文件。 文件路径格式要求为:类型/目录/名称!版本,例如:report/temp/test!1- 指定者:
deleteReport在接口中com.bstek.ureport.provider.report.ReportProvider- 参数:
file- 要删除的报告文件路径,格式必须为"类型/目录/名称!版本"- 抛出:
com.bstek.ureport.exception.ReportException- 当文件格式不正确或数据库操作异常时抛出RuntimeException- 当业务异常发生时抛出
-
getReportFiles
获取报告文件列表- 指定者:
getReportFiles在接口中com.bstek.ureport.provider.report.ReportProvider- 返回:
- 返回一个空的报告文件列表
-
getName
获取报表系统的名称。- 指定者:
getName在接口中com.bstek.ureport.provider.report.ReportProvider- 返回:
- 返回报表系统的名称字符串"报表系统"。
-
saveReport
保存报表内容到指定文件路径- 指定者:
saveReport在接口中com.bstek.ureport.provider.report.ReportProvider- 参数:
file- 文件路径,格式应为"目录/类型/名称!扩展名"(例如:"report/type/name!ext")content- 要保存的报表内容- 抛出:
com.bstek.ureport.exception.ReportException- 当文件格式不正确或保存过程中出现异常时抛出 包含两种情况: 1. 文件路径格式不符合要求 2. 数据库操作异常或业务异常
-
disabled
public boolean disabled()判断当前文件报告提供者是否被禁用- 指定者:
disabled在接口中com.bstek.ureport.provider.report.ReportProvider- 返回:
- true表示已禁用,false表示未禁用
-
setDisabled
public void setDisabled(boolean disabled) 设置是否禁用状态- 参数:
disabled- true表示禁用,false表示启用
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException 设置应用上下文,并初始化文件存储目录。 当前实现中仅检查文件存储目录是否存在,未使用的WebApplicationContext相关代码已被注释。- 指定者:
setApplicationContext在接口中org.springframework.context.ApplicationContextAware- 参数:
applicationContext- 应用上下文对象,用于获取Web相关资源(当前代码未实际使用)- 抛出:
org.springframework.beans.BeansException- 如果处理应用上下文时发生异常
-
setFileStoreDir
设置文件存储目录- 参数:
fileStoreDir- 文件存储目录的路径
-
getPrefix
- 指定者:
getPrefix在接口中com.bstek.ureport.provider.report.ReportProvider- 返回:
- 返回报表文件名前缀
-