历史版本39 :报表对接简道云插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
JAR 包版本
插件版本
10.0
2019-06-11
V1.9
9.02019-06-11V1.9

1.2 简道云简介

简道云是一款专业的数据收集和数据管理工具。通过在线的数据收集、数据分析、团队协作,让您可以 DIY 自己的数据管理平台。

FineReport 和简道云在数据管理场景下各有优劣,简道云在支撑业务部门新增的数据采集场景有其灵活方便的优势,而 FineReport 在数据展现上是更加灵活和丰富的。

有关简道云的详细介绍可以参见:简道云官网

1.3 应用场景

设计器安装报表对接简道云插件,可以实现 FineReport 和简道云的数据对接,能提供给客户更好的数据解决方案。

1.4 功能简介

可将简道云中的数据通过 FineReport 抽取到私有库中。并且当简道云开启推送后,FineReport 会随着简道云的数据更新而更新。

注:如果报表工程内存在 %FR_HOME%/webapps/webroot/WEB-INF/lib/commons-codec-1.6.jar,则需要删除。

3. 操作步骤编辑

3.1 安装插件

点击下载插件:报表对接简道云插件

设计器插件安装方法参照 设计器插件管理

服务器安装插件方法参照 服务器插件管理

插件安装完成后,默认启用,管理员登录决策系统,点击管理系统>简道云对接,可以进入配置页面。如下图所示:
Snag_7feb21.png

3.2 简道云创建 API Key

在登录简道云且已购买的情况下,如下图查看简道云的 API Key,即简道云密钥,若没有看到 API Key,点击创建 API Key 即可。

Snag_7c4f6c.png

3.3 简道云表单开启数据推送

数据推送(Webhook)可将表单数据推送到 FineReport 服务器,功能介绍及使用说明参见简道云帮助文档:数据推送

注:这里的 FineReport 报表服务器需要外网才可以访问。

1)登录简道云,新建或者选择一个表单之后,点击扩展功能>数据推送>新建数据推送

Snag_86aec2.png

2)选择模板服务器:FineReport 服务器,填写服务器地址,例如:http://eqg5xg.natappfree.cc/webroot/decision/view/report?op=fs_jdy,点击测试连接成功后,保存即可。

注:上面服务器地址中的http://eqg5xg.natappfree.cc是外网地址,后面/webroot/decision/view/report?op=fs_jdy是固定的。

Snag_8eb514.png

3)设置完成,如下图所示:

Snag_941993.png

注:这一步必须成功才可以,如果推送失败,简道云会重试最多 5 次。如果连续重试 5 次均失败,该表单的数据推送功能将被关闭,管理员将会获得消息通知。管理员需要在数据推送设置中重新启动数据推送,数据推送才会继续。

至此一张表单开启 Webhook 的工作已经完成,需要同步的表单,都需要开启 Webhook 。

3.4 FineReport 插件同步表单数据

1)配置关联第一次同步数据

管理员登录决策系统,点击管理系统>简道云对接>数据同步>配置关联,填写简道云密钥,填写私有数据库的信息:包含驱动、地址、用户名、密码,示例使用的是 MySQL 数据库,如下图所示:

Snag_9dcebe.png

注:私有库暂时只支持 MYSQL 数据库。

点击开始连接,连接成功后,点击开始同步,弹出同步成功,如下图所示:

Snag_cacfbd.png

同步成功后可以看到状态变为关联成功,同时简道云里的表单也同步到私有库里,如下图所示:

Snag_d2aaf8.png

2)修改私有库表名

配置成功后,可以双击私有库表名,进行重命名,然后点击同步表单即可,如下图所示:

Snag_d80e8c.png

3)同步表单或表单数据

简道云设置推送后,表单就是实时同步的。如未设置推送,仅在数据决策平台设置了关联库,则需要手动点击同步表单更新。

Snag_a4d46f1.png

同步设置如下图所示:

  • 同步表单:同步表结构的变化,包含数据库表的增删改和表字段的增删。

  • 同步表单数据:同步表内容的变化,包含表内容的增删改。

Snag_de2c86.png


3.5 运行监控

切换到运行监控标签页,只监控表结构的变化,包含数据库表的增删改和表字段的增删,不需要记录具体表数据的变化,如下图所示:

Snag_e01868.png

4. 注意事项编辑

1)MYSQL 数据库同步含有 emoji 的文本会出错,需要先把 MYSQL 数据库改成 utf8mb4 编码。

2)如果简道云传过来的是数组,FineReport 转化成字符串,要用","分隔。

3)如果有子表单,报表对接简道云插件 V1.5 及之后的版本支持解析子表单,如下图所示:

Snag_e40971.png

4)配置存储

a. 私有库相关的配置信息存储到 jdyconfig.xml 中,xml在插件所处文件夹下,例如:/WEB-INF/plugins/plugin-com.fr.plugin.third.integrate.jdy-1.0/jdyconfig.xml

b. 表单和表名的对应关系存储到数据库里(同步的 MySQL 数据库里

在私有库配置成功后,数据库中新增表JDY_CONFIG(如果已存在则加数字编号,从 0 开始),表结构如下:

字段
含义
id主键
jdyformid简道云表单 id
jdyformname简道云表单名称
frtablenameFineReport 私有库表名称

c.表字段的 ID 和实际名称的对应关系存储到数据库(同步的 MySQL 数据库里)

数据库中新增表 JDY_FIELD_CONFIG(如果已存在则加数字编号,从0开始),表结构如下:

字段
含义
id
主键
jdyformid简道云表单 id
jdyfieldid简道云字段 id
jdyfieldname简道云字段名称

JDY_FIELD_CONFIG 中存在以下固定字段 ID:

字段 ID含义
creator提交人
updater修改人
deleter删除人
createTime提交时间
updateTime更新时间
deleteTime删除时间
flowState
流程状态
ext扩展字段