@ -18,11 +18,12 @@ import com.fr.io.exporter.TextExporter;
import com.fr.io.exporter.WordExporter ;
import com.fr.io.exporter.WordExporter ;
import com.fr.io.exporter.excel.stream.StreamExcel2007Exporter ;
import com.fr.io.exporter.excel.stream.StreamExcel2007Exporter ;
import com.fr.main.impl.WorkBook ;
import com.fr.main.impl.WorkBook ;
import com.fr.module.ModuleRole ;
import com.fr.module.tool.ActivatorToolBox ;
import com.fr.module.tool.ActivatorToolBox ;
import com.fr.report.ReportActivator ;
import com.fr.report.ReportActivator ;
import com.fr.report.RestrictionActivator ;
import com.fr.report.RestrictionActivator ;
import com.fr.report.module.ReportBaseActivator ;
import com.fr.report.module.ReportBaseActivator ;
import com.fr.report.write.WriteActivator ;
import com.fr.scheduler.SchedulerActivator ;
import com.fr.stable.WriteActor ;
import com.fr.stable.WriteActor ;
import com.fr.store.StateServiceActivator ;
import com.fr.store.StateServiceActivator ;
import com.fr.workspace.simple.SimpleWork ;
import com.fr.workspace.simple.SimpleWork ;
@ -31,39 +32,32 @@ import java.io.FileOutputStream;
import java.util.HashMap ;
import java.util.HashMap ;
import java.util.Map ;
import java.util.Map ;
public class ExportApi {
public class ExportApi {
public static void main ( String [ ] args ) {
public static void main ( String [ ] args ) {
/ * *
* 以下这段if判断仅在main函数测试时使用 ,
/**定义报表运行环境,用于执行报表*/
* 实际生产环境中一般使用web容器 , 集成帆软后帆软服务会自动启动 , 不再需要下面的if判断 , 直接写导出的业务逻辑即可 。
com . fr . module . Module module = ActivatorToolBox . simpleLink ( new BaseDBActivator ( ) ,
* web集成注意事项 :
new ConfigurationActivator ( ) ,
* 1 、 集成环境需要依赖 【 当前使用jdk对应版本的 】 tools . jar , 一般从jdk中直接复制即可 ;
new ResourceRepositoryActivator ( ) ,
* 2 、 帆软服务自动启动成功后 , 使用的工作目录自动识别为集成应用下的WEB - INF目录 , 所以需要把下面代码中envpath指向的工作目录拷贝到集成环境下web应用的WEB - INF目录
new StandaloneModeActivator ( ) ,
* ( 正式发布时需要拷贝生产环境的帆软WEB - INF , 如果有的话 ) , 这样才能沿用原先帆软的配置及模板 。 如果是集群环境 , 会自动使用文件服务器的模板 。 本地测试时envpath需要指向 【 单机非集群 】 的帆软工程
new ModuleHealActivator ( ) ,
* 3 、 可以访问集成环境的地址 : ip : port / 应用名 / decision 。 如果能成功访问且不需要初始化配置则代表帆软服务启动成功
//2020.4.26jar包之前的版本,替换成StateServerActivator()
* /
new StateServiceActivator ( ) ,
if ( ! ModuleRole . Root . isPresent ( ) ) {
new SchedulerActivator ( ) ,
/**定义报表运行环境,用于执行报表*/
new ReportBaseActivator ( ) ,
com . fr . module . Module module = ActivatorToolBox . simpleLink (
new RestrictionActivator ( ) ,
new BaseDBActivator ( ) ,
new ReportActivator ( ) ,
new ConfigurationActivator ( ) ,
new WriteActivator ( ) ,
new ResourceRepositoryActivator ( ) ,
new ChartBaseActivator ( ) ) ;
new StandaloneModeActivator ( ) ,
SimpleWork . supply ( CommonOperator . class , new CommonOperatorImpl ( ) ) ;
new ModuleHealActivator ( ) ,
//定义工程路径
//2020.4.26jar包之前的版本,替换成StateServerActivator()
String envpath = "D:\\javatools\\FineReport_10.0\\webapps\\webroot\\WEB-INF\\" ;
new StateServiceActivator ( ) ,
SimpleWork . checkIn ( envpath ) ;
new ReportBaseActivator ( ) ,
I18nResource . getInstance ( ) ;
new RestrictionActivator ( ) ,
module . start ( ) ;
new ReportActivator ( ) ,
new ChartBaseActivator ( ) ) ;
SimpleWork . supply ( CommonOperator . class , new CommonOperatorImpl ( ) ) ;
//定义工程路径
String envpath = "D:\\FineReport_11.0\\webapps\\webroot\\WEB-INF\\" ;
SimpleWork . checkIn ( envpath ) ;
I18nResource . getInstance ( ) ;
module . start ( ) ;
}
/**输出模板*/
/**输出模板*/
try {
try {
// 定义输出的模板路径,以reportlets为根目录
// 定义输出的模板路径,以reportlets为根目录
@ -127,8 +121,11 @@ public class ExportApi {
ImageExport . export ( outputStream , workbook . execute ( parameterMap , new WriteActor ( ) ) ) ;
ImageExport . export ( outputStream , workbook . execute ( parameterMap , new WriteActor ( ) ) ) ;
outputStream . close ( ) ;
outputStream . close ( ) ;
module . stop ( ) ;
} catch ( Exception e ) {
} catch ( Exception e ) {
e . printStackTrace ( ) ;
e . printStackTrace ( ) ;
} finally {
SimpleWork . checkOut ( ) ;
}
}
}
}