Kaynağa Gözat

解决由于添加缓存导致报表参数变化后报表不重新渲染的BUG

master
jacky6024 7 yıl önce
ebeveyn
işleme
aa5bb9ff52
  1. 2
      ureport2-console/src/main/java/com/bstek/ureport/console/html/HtmlPreviewServletAction.java
  2. 36
      ureport2-core/src/main/java/com/bstek/ureport/export/ExportManagerImpl.java

2
ureport2-console/src/main/java/com/bstek/ureport/console/html/HtmlPreviewServletAction.java

@ -193,8 +193,8 @@ public class HtmlPreviewServletAction extends RenderPageServletAction {
}
htmlReport=new HtmlReport();
String html=null;
Context context=report.getContext();
if(StringUtils.isNotBlank(pageIndex)){
Context context=report.getContext();
int index=Integer.valueOf(pageIndex);
SinglePageData pageData=PageBuilder.buildSinglePageData(index, report);
List<Page> pages=pageData.getPages();

36
ureport2-core/src/main/java/com/bstek/ureport/export/ExportManagerImpl.java

@ -53,11 +53,7 @@ public class ExportManagerImpl implements ExportManager {
@Override
public HtmlReport exportHtml(String file,String contextPath,Map<String, Object> parameters, int pageIndex) {
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, parameters);
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, parameters);
SinglePageData pageData=PageBuilder.buildSinglePageData(pageIndex, report);
List<Page> pages=pageData.getPages();
String content=null;
@ -77,33 +73,21 @@ public class ExportManagerImpl implements ExportManager {
public void exportPdf(ExportConfigure config) {
String file=config.getFile();
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, config.getParameters());
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, config.getParameters());
pdfProducer.produce(report, config.getOutputStream());
}
@Override
public void exportWord(ExportConfigure config) {
String file=config.getFile();
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, config.getParameters());
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, config.getParameters());
wordProducer.produce(report, config.getOutputStream());
}
@Override
public void exportExcel(ExportConfigure config) {
String file=config.getFile();
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, config.getParameters());
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, config.getParameters());
excelProducer.produce(report, config.getOutputStream());
}
@ -111,11 +95,7 @@ public class ExportManagerImpl implements ExportManager {
public void exportExcelWithPaging(ExportConfigure config) {
String file=config.getFile();
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, config.getParameters());
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, config.getParameters());
excelProducer.produceWithPaging(report, config.getOutputStream());
}
@ -123,11 +103,7 @@ public class ExportManagerImpl implements ExportManager {
public void exportExcelWithPagingSheet(ExportConfigure config) {
String file=config.getFile();
ReportDefinition reportDefinition=reportRender.getReportDefinition(file);
Report report=CacheUtils.getReport(file);
if(report==null){
report=reportRender.render(reportDefinition, config.getParameters());
CacheUtils.storeReport(file, report);
}
Report report=reportRender.render(reportDefinition, config.getParameters());
excelProducer.produceWithSheet(report, config.getOutputStream());
}

Yükleniyor…
İptal
Kaydet