最新历史版本 :FineReport 集成到 FineBI 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

在实际使用过程中存在需要将 FineReport 工程集成到 FineBI 数据决策系统上使用的情况。

本文将介绍将 FineReport 集成到 FineBI 的步骤。

1.2 功能简介

  • 将 FineReport 集成到 FineBI ,可以将这两个软件合并成一个整体的系统,应用服务只需维护一套。

  • FineReport 集成到 FineBI 后,统一 FineBI 和 FineReport 的用户、权限体系、门户以及管理系统,用户登录时只需要登录一个平台。

具体流程如下图所示:

注:用户不想把 FineReport 集成到 FineBI 中,又希望可以统一门户进行访问时,可参见:FineBI与FineReport连接工具插件

1614665405811975.png

2. 准备工作编辑

2.1 服务器配置推荐

参考 FineBI服务器配置推荐 ,如内存消耗大可以在 FineBI 需求内存的基础上增加。

2.2 版本适配

在实际操作前,请确保 FineBI 和 FineReport 版本兼容。

注:FineBI6.0仅适配FineReport11.0。版本兼容情况详情参见:FineBI 与 FineReport 版本适配说明

2.3 确定报表模块版本

注1:不仅需要大版本匹配,小版本 JAR 日期也需要一致,否则可能存在问题。

注2:如果实际安装的 FineReport 版本与 FineBI 版本不一致需要升级,详情参见:FineReport 升级指南 、FineBI 升级指南 

2.3.1 确定 FineBI 版本

管理员登录数据决策系统,选择「管理系统>注册管理」,查看报表模块版本。如下图所示:

30.png

2.3.2 确定 FineReport 版本

FineReport 版本可在设计器或者平台中查看。

设计器中查看:

打开 FineReport 设计器,点击「帮助>更新升级」,查看当前 FineReport 版本,如下图所示:

1619424180871272.png

平台中查看:

以管理员身份进入平台,点击「管理系统>注册管理」,查看当前 FineReport 版本,如下图所示:

32.png

2.4 确定工程是否配置外接数据库

  • 若在集成前,FineReport 配置了 配置外接数据库 ,集成后仍使用该外置库,则需要复制%FR_HOME%\webapps\webroot\WEB-INF\config的 db.properties 到 FineBI 对应位置,内置库不用进行此步骤。

  • 若 FineBI 配置了外接数据库,集成后仍使用该外置库,无需其他操作。

2.5 确定工程 lic

在集成前需要删除 FineReport 、FineBI 的 license ,集成后再添加包含 FineReport  、FineBI 双方功能注册点的新 license ,或等集成后替换上新 license 。查看 lic 步骤如下图所示:

1606707596839647.png

3. 操作步骤编辑

3.1 不同情况下具体步骤

如下表所示:

保留配置FineBIFineReport具体步骤
FineBI 配置
-
-
参考本文 3.2 节步骤
FineReport 配置没有用户做的仪表板-
参考本文 3.2 、3.3 节步骤
存在用户做的仪表板参考本文 3.2 节、3.3 节、3.4 节步骤

需要注意以下两点:

  • 集成只能保留两个工程其中一个的配置。若保留 FineReport 的配置,则 FineBI 的配置全部丢失,包括仪表板配置。

  • 若需要保留 FineReport 的配置,同时保留 FineBI 的仪表板和数据表,需要在集成步骤开始前,将需要保留的 仪表板挂出,通过 资源迁移 先导出仪表板和数据集,具体请参见本文 3.4 节。

  • FineReport 集成 FineBI 后,数据决策系统默认使用 FineBI 的端口号。例如在集成前 FineReport 数据决策系统端口为 8075,FineBI 数据决策系统端口号为 37799 ,则在集成后工程默认使用 37799。

3.2 必须操作

3.2.1 拷贝主工程 JAR 包

确保 FineBI 和 FineReport 的 JAR 包同步之后,将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\lib下的所有 JAR 包拷贝至 FineBI 工程目录的%FineBI%\webroot\WEB-INF\lib文件夹中「若有相同的 JAR 包,保留原先 FineBI 里的不替换」,如下图中所示:

1577172048677306.png

注:若原 FineReport 工程的 %FR_HOME%\webroot\WEB-INF\lib 文件下存在驱动,集成的时候需要判断集成后使用的数据连接需要哪种驱动,从而保留对应版本。

3.2.2 拷贝插件包

注:无需拷贝 FineBI 的的插件包至 FineReport 相应目录下。

 将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\plugins下的所有文件拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\plugins下,若有相同的文件,保留 BI 的不替换。如下图所示:

1577172319131138.png

3.2.3 拷贝 FineReport 的 phantomjs 到 FineBI 对应目录

注:2020-04-26 及之后的 FineReport 版本不需要此步骤。

将 FineReport 目录%FR_HOME%\webroot\WEB-INF\assist下拷贝文件夹 phantomjs 至 FineBI 对应目录下,若不进行此操作,使用到 FineReport 的图表导出和定时调度中含有图表时,图表会无法显示。如下图所示:

1577173277952828.png

3.3 选择性操作

以下操作需要根据客户的需求,保存 FineReport 还是 FineBI 的 embed、logs、resources 文件夹来进行操作。文件夹详细介绍请查看 FineBI 工程目录结构 

3.3.1 embed文件夹

embed 文件夹里面存储了数据决策系统中平台配置信息,包含内置数据库 FineDB 、模板定时任务信息等。

注:管理系统界面下的所有配置信息都保留在 embed 中,替换 FineReport 的 embed 时全部替换为 FineReport 的数据,不存在只替换某个子目录如「用户管理」为 FineReport 的数据。

将 FineReport 安装目录%FR_HOME%\webroot\WEB-INF 下的 embed 文件夹拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF内替换 FineBI 原先的文件夹。若想保留 FineBI 的设置信息,则这一步可不操作,即不替换 embed 文件夹。

1577184713269432.png

3.3.2 logs 文件

logs 文件夹是 FineBI 日志监控开启之后保存日志的内置数据库。

若想保留 FineReport 系统中的日志数据,则需要将 FineReport 安装目录%FR_HOME%\webroot下的 logs 文件夹拷贝至 FineBI 目录%FineBI%\webroot内替换原先的文件夹。若想保留 FineBI 的日志信息,则这一步可不操作,即不替换 logs 文件夹。

3.3.3 resources 文件

resources 文件夹保存了报表信息、配置信息等。

若想要在集成后保留原先 FineReport 中的此类数据,可参考 FineBI 工程目录结构 查看配置文件详细介绍,将想要保存的配置文件从 FineReport 安装目录%FR_HOME%\webroot\WEB-INF\resources中拷贝至 FineBI 目录%FineBI%\webroot\WEB-INF\resources内替换即可。

3.3.4 chartmapsvg 文件

若 FineReport 工程中包含旧地图模板,集成时,需将 FineReport 工程下%FR_HOME%\webapps\webroot\WEB-INF\assets\chartmapsvg文件夹拷贝至 FineBI 对应assets目录下。

3.4 既要保留 FineBI 的表和仪表板,又保留 FineReport 配置

1)若需要保留  FineReport 的配置,同时保留 FineBI 的仪表板和数据表,可以在集成前,将需要保留的 仪表板挂出,通过 资源迁移 先导出仪表板和数据集。

2)参考本文步骤集成后,删除 %FineBI%\webroot\WEB-INF\dashboards 文件夹,如下图所示:

1597910370303246.png

3)建立与原 FineBI 中完全一致的数据连接,再进行 资源导入  

3.5 效果展示

具体效果如下所述:

  • 若保留 FineBI 的配置,FineBI 工程没有变化。

  • 若保留 FineReport 的配置,平台「目录」节点上的模板为 FineReport 的模板,管理系统中的目录管理、用户管理、权限配置、定时调度等,为 FineReport 的配置。

  • FineReport 集成到 FineBI 后,数据处理在 FineBI 中进行;FineReport 工程可以继续作为独立的 FineReport 工程使用。

示例:集成前 FineReport 工程有个名为 a 的定时调度任务,FineBI 工程有个名为 b 的定时调度任务,若保留 FineReport 配置,集成后,b 被 a 覆盖。

注:使用 平台功能外部集成插件 可实现BI的左侧导航和顶部导航去掉,实现集成一体化。

4. FineBI 中使用 FineReport 模板编辑

因为 FineReport 不为空,原先在 FineReport 中已制作的报表在集成到 FineBI 中显示给出详细说明。

1)FineReport 的模板路径%FR_HOME%\webroot\WEB-INF\reportlets中将需要展示的报表拷贝至 FineBI 工程目录%FineBI%\webroot\WEB-INF\reportlets中。拷贝 FineReport 的报表 GettingStarted.cpt 至 FineBI 中,如下图所示:

222

2)需要在 FineBI 中添加 FineReport 已制作报表使用到的数据连接,且数据连接名称要相同,可参考 配置数据连接 

3)登录 FineBI 数据决策系统,在「管理系统>目录管理」中选择添加模板,如下图所示:

222

4)选择之前拷贝过去的报表模板,如下图所示:

222

5)点击下一步设置模板显示的名称、描述等,点击确定完成设置。如下图所示:

222

6)点击确定后刷新页面,即可在目录节点看到添加的 FineReport 报表。如下图所示:

222

注:在集成时,FineReport 与 FineBI 的 License 需统一,统一使用 FineBI 的 license 。

5. 注意事项编辑

5.1 BI 仪表板中图片丢失

问题描述

用户将 FineBI 集成到 FineReport 后,FineBI 原有图片丢失。

解决方案

FineBI 图片组件上传的图片,保留在assets/temp_attach中,集成后若发现丢失,拷贝该文件夹内容到 FineReport 对应文件夹下。