帆软报表freport10集成到新的iMIS
设计
11/07/2020
目前帆软报表版本已升级到10,新的imis需要集成帆软报表
一、集成方式¶
FineReport 是纯 JAVA 的 Servlet 应用程序
帆软报表部署方式主要有2种:
1、 嵌入式集成
老的IMIS系统采用的是独立部署方式,与iMIS公用tomcat,jdk等,详细部署方式见以前文档
2、 独立部署
新iMIS系统我们采用嵌入式部署集成到springboot
2.1 、选择性复制工程文件到对应项目中:
1)必须复制的文件 JAR 包:lib 中以 fine 开头的 JAR 包(包含了报表服务的所有功能),及 netty-all-xxx.Final.jar、visualvm-xxx.jar,必须拷贝至 WEB-INF\lib 下; assets:新特性图表 8.6.0 及以后版本存放图表资源的目录。 assist:存放一些辅助工具,比如新图表要使用 phantom 等。 plugins:该文件夹包含了报表管理里安装的所有插件的 JAR 包和配置信息,拷贝至 WEB-INF 下面。 reportlets:该文件夹为 FineReport 服务器规定的,不能修改,且必须为小写,其下可以建立子目录,所有报表模板 cpt 文件必须保存在 reportlets 文件夹下,且 reportlets 文件必须放在WEB-INF下面; 2)选择性复制的文件 embed:存储 HSQL,所有的配置信息,推荐拷贝至 WEB-INF 下面,否则部署的为新工程。 classes:该文件夹是应用服务器规定的,主要作用是存放 .class文件。若对 FineReport 进行了二次开发,如自定义函数、程序数据源、程序网络报表等,也需要将编译后的 class 类文件拷贝到该文件夹下; 数据库驱动包:若报表中使用了 JDBC 连接了数据库,需要将对应的数据库驱动包如Oracle数据库的驱动ojdbc14.jar拷贝到WEB-INF\lib下,其他数据库驱动同样;
2.2、将%JAVA_HOME%/jdk/lib下的 tools.jar 拷贝到部署的服务器Tomcat /lib中
二、commonservice-freport 详解¶
pom文件:
1、打包方式:
<artifactId>commonservice-freport</artifactId> <packaging>war</packaging> <name>commonservice-freport</name> <description>commonservice-freport</description>
2、springboot 及servlet 依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
3、帆软报表jar支持
<!-- 加入freport--> <dependency> <groupId>com.fine</groupId> <artifactId>fine-accumulator</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-activator</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-core</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-datasource</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-decision</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-decision-report</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-report-engine</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-schedule</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-schedule-report</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-swift-log-adaptor</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-third</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>com.fine</groupId> <artifactId>fine-webui</artifactId> <version>10.0</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.32.Final</version> </dependency>
三、相关配置¶
1、数据集连接池db配置 (webapp/WEB-INF/config/db.properties)
初始化时,可先删除此文件,进入决策页面进行初始化脚本等
2、application server配置 tomcat 服务
配置 /report
3、进入决策服务页面
http://localhost:8080/freport/decision/