反馈已提交

网络繁忙

将包含两个子表单的简道云表单数据落库

  • 文档创建者:Wendy123456
  • 历史版本:13
  • 最近更新:Roxy 于 2024-06-04
  • 1. 概述

    1.1 应用场景

    简道云表单中包含两个子表单,其中一个子表单中包含成员单选、部门单选控件。如下图所示:

    1696934652944651.png

    已有数据如下图所示,现希望将该表单的数据落库。

    1696934678149706.png

    1.2 实现思路

    使用「简道云输入」算子读取表单数据,将主表单数据、零部件明细子表单、负责人子表单分别存储到三张表中。

    注:简道云表单数据若存储到一张数据表中,会造成数据膨胀。

    1.3 注意事项

    注:本文方式适用于 4.1.6.2 及之后版本;4.1.6.2 之前版本,2.5.2 节JSON解析时请参见:历史版本 的 2.5.2 节内容。

    本文示例场景中,若后续简道云表单中数据增加或更新时,子表单数据也想跟随增加/更新(本文示例选择的方案一):

    1)方案一:

    子表单数据落库前写入方式选择「清空目标表,再写入数据」。

    2)方案二:

    子表单数据解析后,保留子表单 id 字段作为落库后的主键(例如 2.4.2、2.5.2 节中 json 解析时勾选 _id 字段),落库前自动建表时,将 _id 作为主键,写入方式选择「追加写入数据」,设置主键冲突策略为「主键冲突,覆盖目标表的数据」。

    1697437254652456.png

    2. 操作步骤

    2.1 简道云表单字段处理

    在简道云表单接入前,建议提前设置字段别名,否则接入到 FineDataLink 中时会使用字段原始名,不便于在 FineDataLink 中进行业务处理。

    进入简道云应用,进入表单的编辑界面,点击「扩展功能>数据推送>设置字段别名」。如下图所示:

    点击展开更多
    71.png

    2.2 新建简道云数据连接

    需要 新建简道云数据连接,以便「简道云输入」算子读取简道云数据。

    2.3 主表单数据落库

    将主表单数据落库,主表单数据如下图所示:

    2.3.1 读取简道云表单数据

    1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。

    2)拖入「简道云输入」算子,选择要读取的简道云表单。

    其中,数据连接处显示有权限的,且已配置的简道云数据连接,此处选择前面配置好的数据连接「简道云」;设置要读取的简道云表单及它所在的应用。如下图所示:

    点击「数据预览」,可看到子表单数据为 JSON 格式,若想将子表单数据落库,落库前需要解析。如下图所示:

    74.png

    2.3.2 剔除不必要字段

    由于我们要将主表单数据落库,一些不需要的字段需要在落库前剔除。

    1)拖入「字段设置」算子,只保留number、date、equipment_name、total_price字段,其余字段都删除。如下图所示:

    2)点击「数据预览」,如下图所示:

    2.3.3 主表单数据输出

    1)拖入DB表输出算子,将主表单数据输出。如下图所示:

    2)「写入方式」Tab 下,写入方式选择清空目标表,再写入数据」,将主表单数据全量写入目标表中。

    注:为便于后续更新落库后的主表单数据、落库后的两个子表单数据,写入方式选择「清空目标表,再写入数据」。

    3)点击右上角保存按钮。

    2.3.4 效果查看

    1)右键点击节点,选择运行节点」。如下图所示:

    2)运行成功后,可看到主表单数据已落库。如下图所示:

    2.4 子表单-零部件明细数据落库

    最终输出的数据应包括子表单数据(component_name、component_types、component_model、unit_price_of_components、number_of_components、prices)、number 字段(主表单主键字段便于之后子表单与主表单数据关联)。如下图所示:

    2.4.1 读取简道云表单数据

    再拖入一个「数据转换」节点,进入数据转换节点,拖入「简道云输入」算子,选择要读取的简道云表单。

    步骤与本文 2.3.1 节相同。

    2.4.2 解析子表单数据

    由于子表单字段(part_detail_information)为 JSON 格式数据,所以落库前需要进行解析。

    拖入JSON解析算子,解析 part_detail_information 字段;由于要保留 number 字段(主表单主键字段便于之后子表单与主表单数据关联),需要勾解析后保留所有上游输出字段」按钮。如下图所示:

    2.4.3 剔除不必要字段

    拖入「字段设置」算子,保留主表单主键字段(本文示例中为 number),便于之后可与主表单数据合并;保留解析后的子表单字段。

    即保留:number、component_name、component_types、component_model、unit_price_of_components、number_of_components、prices 字段,删除其余字段。数据预览结果如下:

    2.4.4 子表单数据输出

    参考本文 2.3.3 节内容,将子表单数据输出。

    2.4.5 效果查看

    参考本文 2.3.4 节步骤,运行该数据转换节点,可看到子表单数据已落库。如下图所示:

    2.5 子表单-负责人数据落库

    最终输出的数据应包括子表单数据(level 字段,部门名称、成员名称字段)、number 字段(主表单主键字段便于之后子表单与主表单数据关联)。

    2.5.1 读取简道云表单数据

    再拖入一个「数据转换」节点,进入「数据转换」节点,拖入「简道云输入」算子,选择要读取的简道云表单。

    步骤与本文 2.3.1 节相同。

    2.5.2 解析子表单数据

    简道云表单中若包含部门单选字段、成员单选字段,使用「简道云输入」算子读取后,解析说明请参见:解析字段

    由于子表单字段(head)为 JSON 格式数据,所以落库前需要进行解析,需要解析出 level 字段,部门名称、成员名称字段。

    拖入「JSON解析」算子,解析 head 字段;由于我们要保留主表单的 number 字段,所以勾解析后保留所有上游输出字段」按钮;解析 level、department-name、member-name 字段。如下图所示:

    点击「数据预览」,如下图所示:

    2.5.3 剔除不必要字段

    拖入「字段设置」算子,保留主表单主键字段(本文示例中为 number),便于之后可与主表单数据合并;保留解析后的子表单字段。

    即保留:number、 level、name、name_1 字段,删除其余字段。

    2.4.4 子表单数据输出

    参考本文 2.3.3 节内容,将子表单数据输出。

    2.4.5 效果查看

    参考本文 2.3.4 节步骤,运行该数据转换节点,可看到子表单数据已落库。如下图所示:

    附件列表


    主题: 数据开发-定时任务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持