数据流典型场景-树形单据同步

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

数据流典型场景-树形单据同步

变更记录


产品版本
更新内容更新日期
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:创建数据流图,将上述创建的数据流资源按下图方式编排,并创建数据流启动方案。





执行启动方案,可以看到流程实例执行成功,并且数据同步到了组织机构(演示)中。



数据流典型场景-树形单据同步

变更记录产品版本更新内容更新日期V6.0.1初始版本2024年03月21日1 业务场景背景介绍在企业数据集成过程中存在树形单据的集成(既数据之间...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息