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

目录:

1. 概述编辑

1.1 版本

报表服务器版本
插件版本
11.0V1.9

1.2 应用场景

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

通过安装「报表对接简道云插件」,可以将简道云中的数据通过 FineReport 抽取到私有库中。当简道云开启推送后,FineReport 会随着简道云的数据更新而更新。

1.4 方案对比

对比项当前方案新方案
方案简介本文方法,通过安装「报表对接简道云」插件实现,当简道云开启推送后,私有库中的数据会随着简道云的数据更新而更新

本文不做介绍

FineDataLink 产品 中的 简道云输入 算子,可定时获取指定简道云表单的数

示例图
24.png
数据去向只支持将数据同步到 MySQL 数据库中

可以将数据同步到三十多种数据源,具体为: 数据开发支持的数据源类型 表格中,支持「数据写入」的数据库

注:简道云输出 算子可将处理后的数据输出到简道云表单中,供简道云使用

支持的简道云
只支持公有云支持公有云和独享版本
数据处理
简道云中的数据直接通过 FineReport 抽取到 MySQL 数据库中

1)支持对简道云数据进行调整和修改后再进行同步数据

2)支持可视化的解析 json 数组格式

运维-
支持完备的 任务运维 和错误排查,如果出现了错误,可以进行失败重跑和排查

2. 前置准备编辑

2.1 检查网络通信

1)请确保 FineReport 工程所在的服务器可以 ping 通云中心的地址:cloud.fanruan.com

2)建议确保FineReport 工程服务器地址支持外网访问

  • 如果服务器在内网,需要配置一层转发,再转发服务器配置简道云网络白名单,具体简道云 ip 和域名可以联系 简道云技术人员

  • 如果无法外网访问,数据推送会失败,失败超过100次后会自动关停数据推送,导致对接失效。

2.2 检查FineReport工程JAR包

检查工程/webroot/WEB-INF/lib目录下是否存在commons-codec-1.6.jar

如存在,请手动删除并重启工程

2.3 FineReport安装插件

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

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

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

2.4 准备 MySQL 数据库

用户需要准备一个数据库表空间,用于数据存储。

  • 仅支持MySQL类型数据库

  • 推荐设置数据库默认字符集为utf8mb3(别称utf8)、默认排序规则为utf8mb3_bin(别称utf8_bin

  • 如果简道云表单数据包含emoji文件,MySQL字符集必须使用utf8mb4

  • 请准备好数据库的IP、端口、表空间名称、用户名和密码

2.5 确认简道云版本

本文方案不支持免费/标准版简道云,API功能必须企业版及以上方可使用。

本文方案不支持私有化版本简道云

如对接私有化版本简道云,数据同步时会报错:同步失败,请检查数据连接或网络连接

2.6 简道云创建 API Key

管理员登录简道云,点击「开放平台>密钥管理」。

点击「创建API Key」,并复制API Key,下文需要使用。

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

无论FineReport手动同步数据,还是简道云自动推送数据,都必须确保相关表单开启了数据推送功能。

功能介绍及使用说明参见简道云帮助文档:数据推送

1)在表单编辑界面,点击「扩展功能>数据推送」,点击「新建数据推送」。

2)选择目标服务器:FineReport服务器

3)输入服务器地址:地址格式:http://主机名:端口/工程名/decision/view/report?op=fs_jdy

请填写外网可访问的地址,并点击「服务器连接测试」,确保可连通。

否则推送失败超过100次后,会自动关闭该数据推送。

注:如报错「禁止向保留地址发送API请求」,请检查是否满足2.1节网络通信要求。

4)按需选择推送事件

5)点击「保存」即可

3. FineReport同步简道云表单数据编辑

3.1 配置关联第一次同步数据

1)管理员登录FineReport系统,点击「管理系统>简道云对接>数据同步」,

2)点击「配置关联」,填写相关信息,点击「开始连接」即可

  • 简道云密钥:填写 2.6 节获取的 API Key

  • 私有库:填写2.4节准备的 MySQL 数据库信息,其中地址格式为:jdbc:mysql://IP:端口号/<数据库名>

注:若配置关联时报错 参数不正确 。请检查简道云密钥是否填写正确。

3)连接成功后,显示2.7节所有开启了数据同步到该FineReport工程的表单。

4)点击「开始同步」,耐心等待提示「同步成功」即可。

3.2 自动推送表单

当表单出现变化时,简道云系统会自动将表单变化推送给FineReport系统。

此操作基于2.7节配置好的数据推送,在设定的数据变动情况下,即会自动推送数据给FineReport。

3.3 手动同步表单

管理员可手动触发从简道云到数据决策系统的数据同步。

管理员登录FineReport系统,点击「同步表单」/「同步表单数据」按钮,即可手动触发同步简道云数据到数据决策系统。

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

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

4. 管理数据同步编辑

4.1 入库数据说明

1)简道云表单数据同步到MySQL数据库中,有些表包含额外字段

  •  _childid字段:表示子表单的 id

  • _id字段:表示父表单的 id 

2)如果简道云表单数据包含数组,FineReport会自动转化成字符串,用","分隔。

4.2 修改私有库表名

对于同步到MySQL数据库的表名称,支持自定义修改。

1)双击私有库表名,即可重命名。

2)重命名后,需要对该表单进行「同步表单数据」。

注:如在简道云端关闭数据推送,会删掉数据库中同步表的记录,再次开启推送时会重新按照默认规则生成表名。


4.3 运行监控

在「运行监控」页:

  • 可监控表结构的变化,包含数据库表的增删改和表字段的增删

  • 不记录具体表数据的变化

19.png

5. 更多功能编辑

5.1 解析子表单

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

Snag_e40971.png

5.2 配置存储

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

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

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

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

3)表字段的 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扩展字段