JSD-8210开源任务材料
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

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);
}
}
}
}