Project

General

Profile

帆软报表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/

Files