You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.5 KiB
40 lines
1.5 KiB
package com.fr.plugin.xxx.report; |
|
|
|
import com.fr.log.FineLoggerFactory; |
|
import com.fr.main.TemplateWorkBook; |
|
import com.fr.plugin.xxx.report.core.BuilderProvider; |
|
import com.fr.plugin.xxx.report.core.ViewSheetBuilder; |
|
import com.fr.plugin.xxx.report.core.ViewWidgetBuilder; |
|
import com.fr.report.fun.impl.AbstractReportSessionHelpProvider; |
|
import com.fr.stable.web.Repository; |
|
import com.fr.web.core.ReportSessionIDInfor; |
|
import com.fr.web.core.SessionPoolManager; |
|
import com.fr.web.request.AbstractReportletRequest; |
|
|
|
/** |
|
* @Author fr.open |
|
* @Date 2021/7/8 |
|
* @Description |
|
**/ |
|
public class SpReportSessionHelpProvider extends AbstractReportSessionHelpProvider { |
|
|
|
private final static BuilderProvider[] builders = new BuilderProvider[]{ |
|
new ViewSheetBuilder("CONF_SHEET_GROUP", "id", "group"), |
|
new ViewWidgetBuilder("CONF_WIDGET", "id", "group")//, |
|
//new SheetNameBuilder("CONF_SHEET","id","name") |
|
}; |
|
|
|
@Override |
|
public void dealWithSession(Repository repository) { |
|
String sessionID = repository.getSessionID(); |
|
ReportSessionIDInfor session = SessionPoolManager.getSessionIDInfor(sessionID, ReportSessionIDInfor.class); |
|
TemplateWorkBook book = session.getWorkBookDefine(); |
|
for (BuilderProvider builder : builders) { |
|
try { |
|
builder.build(book, AbstractReportletRequest.getInstance(repository.getHttpServletRequest())); |
|
} catch (Exception e) { |
|
FineLoggerFactory.getLogger().error(e.getMessage(),e); |
|
} |
|
} |
|
} |
|
}
|
|
|