数据流典型场景-树形单据同步
变更记录
产品版本 | 更新内容 | 更新日期 |
V6.0.1 | 初始版本 | 2024年03月21日 |
1 业务场景
背景介绍
在企业数据集成过程中存在树形单据的集成(既数据之间存在上下级关系,如组织数据),可以使用数据流进行同步。
场景详细描述
该案例将使用当前环境的行政组织数据同步到组织结构(演示)进行讲解,数据流运行流程如下:
2 解决方案
前提条件:对数据流已经有基本认识,学习过数据流入门案例。
步骤1:创建资源目录‘连接器-ERP-苍穹-基础资料’,并点击‘集成对象导入’创建实体模型组织机构(演示)和行政组织。
步骤2:创建数据查询模型和对应的事件模型,该资源将用于第一个节点查询根组织信息。
创建行政组织查询模型如下。
注:查询条件参数需要创建结构类型的数据模型,如下图。
选择刚才创建的数据查询模型,创建事件模型如下。
步骤3:创建字段映射模型,该资源将用于将上游节点获取到的行政组织数据映射到组织机构(演示)中。
创建资源目录‘数据流方案-苍穹-苍穹-行政组织初始化’,并在此路径下创建字段映射组件。
注:上级字段映射需要添加值转换规则,当输入是组织id时转换得到上级的编码。
SQL脚本如下:
use $src; SELECT o.fnumber as result FROM t_org_structure@sys s,t_org_org o WHERE s.FVIEWID=1 and s.fparentid=o.fid and s.forgid=#{param};
步骤4:创建数据加载模型,该资源将用于把实体模型组织机构(演示)中的数据加载到目标系统中。
创建实体操作如下,点击‘字段填充’选择步骤3中创建的字段映射组件自动带出加载字段。
步骤5:创建数据过滤模型,该资源将用于判断上游加载的行政组织是否存在下级,如果不存在则直接结束该条数据线,如果存在继续查询下级组织,并循环执行。
SELECT @@isleaf = FISLEAF FROM $connection.t_org_structure@sys WHERE FVIEWID=1 AND FORGID=@@$data.id; if(isleaf==0){ return true; }else{ return false; }
步骤6:创建脚本查询模型,该组件用于查询上游节点组织对应的所有下级组织id,并将查询到的id赋值给步骤2中数据查询模型的参数。
数据查询脚本如下:
var p = L(params.id) SELECT @@leaf_id[] = b.forgid FROM $src.T_ORG_STRUCTURE@sys b WHERE b.fviewid=1 and b.fparentid= @@p; var res=[]; for(var t : leaf_id){ var m={}; m.orgId=t; res+=m; } return res;
步骤7:创建数据读取模型,该组件用于输入组织ID获取组织信息。
注:该节点和步骤2中的数据查询类似,但是数据查询将中断上游数据线,产生一条或多条新的数据线,数据读取将继续延伸上游的数据线。
步骤8:创建数据流图,将上述创建的数据流资源按下图方式编排,并创建数据流启动方案。
执行启动方案,可以看到流程实例执行成功,并且数据同步到了组织机构(演示)中。
数据流典型场景-树形单据同步
本文2024-09-23 00:53:36发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142419.html