三方实体场景案例

场景描述

  1. 列表数据来源于三方异构系统,比如请购单列表数据来源于yonBIP系统。
  2. 详情页面数据来源于三方异构系统,比如请购单详情数据来源于yonBIP系统。
  3. 实体中参照数据来源于三方系统,比如采购付款单上,关联选择请购单,请购单数据来源于三方。

运行效果

  1. 请购单列表

1719371426387

  1. 请购单列表穿透查看请购单详情,详情数据

1719380938869

  1. 采购付款单选择关联请购单,请购单来自yonBIP系统。

操作步骤

前提

已在集成连接模块配置好对应的集成接口。

1719391989635


yonBIP请购单列表查询和请购单详情查询接口文档。

三方系统 接口名称 接口地址 接口文档
yonBIP 请购单列表查询 /yonbip/scm/applyorder/list 请求参数:Body部分中有分页查询参数和排序参数及其动态扩展条件查询参数。
即接口支持分页查询。
1719390370310


返回参数:返回参数中包含分页信息及其总记录数信息,以及返回列表数据。
1719390449790
yonBIP 请购单详情查询 /yonbip/scm/applyorder/detail 请求参数:
1719390901061


返回参数:请购单详情接口会返回请购单主信息及其请购单子表信息。
1719390937280

注意事项

  1. 列表查询接口重点关注是否支持分页查询、查询条件设置、排序设置,因为这意味着需要传递给三方需要查询的分页数据、查询字段、排序规则,且接口返回的列表也是符合查询条件、排序规则的当前页数据。
  2. 详情查询接口重点关注返回数据是否有主子孙结构数据,因为需要考虑详情单据对应子孙数据逻辑处理。

核心逻辑

  1. 在应用中创建同字段的三方实体;
  2. 创建的三方实体会自动生成需要的微流程,设计师在微流程中调用三方接口,把三方接口返回的数据输出;
  3. 页面上绑定三方实体的重复表查询控件会自动调用自动生成的对应微流程返回的数据展示。

第一步

  1. 应用添加依赖,依赖对应的集成应用。

    1719392972285

    1719393330578

第二步

  1. 新建三方实体“ 请购单 “,在对应分组下点击“ + “按钮,勾选中”第三方实体"属性。

    1719393949265

    1. 新建“请购单bip"实体的字段,demo案例,仅做10个字段做演示使用。(注意:字段类型和三方接口返回类型一致,如不一致则需要做类型匹配处理)

      1719394078796

      1719394834426

    2. 如果三方实体唯一ID是文本类型,则需要再唯一列上勾选设置为”唯一”,见上图。

  2. 新建三方实体” 请购明细”,在对应分组下点击“ + “按钮,勾选中”第三方实体"属性。 说明:三方实体目前不支持子实体,所以同样是新建三方实体用来对应子实体结构,此时则需要在明细对应的三方实体中新建”请购单bip"的id字段。

    1719394974614

    1. 同理新建"请购明细bip"实体的字段,添加了“请购单id"字段和”请购明细id”,并设置“请购明细id"为唯一字段。

      1719396319413

      1719396365422

    2. 如果明细需要展示行号,且三方接口有返回行号,可在明细实体中新增字段”行号"字段。

      1719396842429

  3. 自动生成微流程

新建的三方实体会自动生成对应的微流程,进入「规则—微流程」菜单下,可见对应实体的微流程,每个三方实体会自动生成4个微流程。

  • 【预制】根据ID查询{三方实体名称}
  • 【预制】动态查询{三方实体名称}
  • 【预制】根据ID集合查询{三方实体名称}集合
  • 【预制】动态查询{三方实体名称}的总数

1719396537212

第三步

配置请购单列表:请购单列表数据获取会自动调用生成的微流程:【预制】动态查询请购单bip,并将该微流程的请购单列表数据给到页面。

新建请购单列表

  1. 进入「菜单」列表页面,以Web端为例,点击「菜单」添加按钮,添加菜单,输入菜单名称“请购单bip列表"

    719397707927
    1719397843383

  2. 选中菜单新建页面,输入页面名称”请购单bip列表",选择页面类型为“列表类型",选择页面对应实体未”请购单bip",选择页面模板为“重复表查询"。

    1719455501438
    1719455582433

  3. 生成的页面见附图:

    1719456347223

  4. 预制的”重复表查询"模板中设置了穿透查看详情页面,此时先删除的对应的重复表事件相关配置。 ①选中页面上新建按钮,在右侧属性「事件」页签中点击「删除」按钮,删除新建按钮对应的事件配置。

    1719456537693

    ②选中页面上“重复表查询"控件,在右侧属性「事件」页签中对应事件点击「删除」按钮,删除新建按钮对应的事件配置,然后点击页面右上角「保存」按钮,页面保存成功

    1719456517605

    1719456791301

  5. 因为三方列表查询接口支持分页、查询条件和排序设置,按照业务需要对应设置: ①因为使用了页面模板,列表控件自动绑定了对应”请购单bip"实体,并且自动生成了部分列字段,可根据需要进行列字段的调整设置:

    1719457563848

    ②启用分页

    1719457610950
    ③设置排序和搜索,选中“筛选"控件,点击「设置」,设置对应的搜索字段,设置后前台页面中对应搜索会按照设置支持搜索,排序假设业务需要按照请购单编号升序排序,可直接在接口中固定内置,此处不设置排序字段。

    1719457915945

    1719458100885

[预制]动态查询请购单bip微流程

修改【预制】动态查询请购单bip逻辑,主要在该预制微流程中添加调用yonBIP接口:请购单列表查询接口,以便从三方获取到对应的列表数据。

  1. 创建的请购单bip列表页面中的列表,因为配置的是”请购单bip实体",会自动调用该微流程“【预制】动态查询请购单bip"。

1719458285314

  1. 该预制微流程中,自动预制了一个节点”请购单bip的列表"变量节点,节点内容是空的,输出的时候会输出该列表,该微流程输出的列表就会直接反映到上面的“请购单bip列表"页面。 下图中结束节点输出的”分页数据",与前台“请购单bip列表"页面对应的分页数据对应,从前台列表页面点击跳转的第几页,会预制自动传递给该微流程,该微流程可获知是要查询的是第几页数据。

1719458689220

  1. 点击”编辑"按钮,编辑微流程。

1719459138767

  1. 在开始节点后添加一个”分页对象"类型变量,并把预制微流程传递的参数‘“赋值给它,以便后续可从该分页对象中获取前台页面传递的分页信息,并传递给接口。

    1719467222487

    1719467311144

    1719467369311

  2. 三方接口查询参数是动态扩展的,我们需要组装成三方接口需要的动态查询参数。 接口文档中关于动态查询参数部分。

    1719467798918

    ①创建一个动态查询参数类型的列表变量,因为接口标识是数组类型。一个查询字段是一条,多个是多条。

    1719467893176

    1719467935413

    1719467993661

    1719468029354

    1719468094773

    ②组装查询条件内容:以请购单编号为例,创建一个扩展条件查询对象变量

    1719468305142

    1719468375078

    1719468423957

    1719468453557

    第一个赋值参数是比较符,接口中明确的比较符是 “eq"等于。

    1719468862564

    第二个值字段需是前台列表页面客户输入的查询值,需要从前台页面传递的查询参数中获取:

    前台页面传递的动态查询条件中字段的查询值:目前请通过下拉方式,即使用下图方式展开赋值,暂时不要用表达式赋值。

    1719469648026

    第三个“属性名"字段是三方接口中字段的编码:请购单编号对应的接口文档编码是code,所以field直接设置值固定为“code”。

    1719468649706

    出参名称和节点名称同步更改

    1719469783026

    ③把准备好的“请购单编号查询对象"添加到”扩展条件查询列表"变量中。

    1719471556419

    1719471631846

    1719471666907

    注意:查询条件前台最终用户可能不会输入查询值,此时从页面上获取到的查询值是空值,如果三方查询接口对空值有自动处理,则不需要单独处理,如果三方查询接口没有做处理,则需要在逻辑中对查询空的情况添加条件处理。

    在”请购单编号"查询变量前添加“分支"节点,判断”请购单编号查询值"不为空时,把“请购单查询"变量和”“修改的动态条件扩展变量““挪到不为空分支内。

    1719541903155

    1719541927494

    1719541943199

    1719541969046

    1719542012333

    ④其他查询值参考”请购单编号"方式进行设置,在此不做演示。

    ⑤同理组装排序参数。排序参数也是列表类型动态的,如下图。

    1719472337363

    创建一个“排序对象"类型的列表变量。

    1719484945052

    1719484990580

    创建”排序字段"类型的对象,并赋值:

    1719485069196

    1719485105169

    1719485239766

    添加修改列表节点,将请购单编号排序设置字段加入到排序列表变量中。

    1719485300384

    1719485365668

  3. 添加”服务”

    1719485742926

    1719485761930

    1719485902487

    1719485945337

    配置入参1:页码传递,从前台列表页面的当前页数传递。

    注意:V8列表传递的当前页数是从1开始,如果三方也是从1开始,则不需要处理;如果三方是从0开始,则用前台传递的当前页数减1再传递给三方接口。

    1719486044373

    配置入参2:每页记录数,从前台列表页面的当前页数传递。

    说明:每页记录数需要使用从前台列表页面传递的值,是因为最终用户可能会切换每页记录数,比如从10切换为100。

    1719486168859

    配置入参3:排序字段,将组装的排序字段列表变量对应赋值。

    1719486211624

    配置入参4:排序字段,将组装的排序字段列表变量对应赋值。

    1719486415173

    1719486464390

  4. 把“请购单列表查询"接口返回的内容,解析处理。

    1. 可任意添加一个节点,看一下接口出参的结构。比如添加一个”分支"节点,确定结构后可删除该节点。

    1719487350856

    1719487410622

    1719487451942

    1. 按照以上出参结构,需要创建一个同结构对象变量接收“data”。

      1719487540947

      1719487589515

      1719487613942

      1719487649043

    2. 添加“数据转换"节点,可一次性把请购单出参中““请购单列表”“数据转换到”请购单"实体对应的列表数据。

      1719488387127

      属性设置1:来源数据设置

      1719488455950

      属性设置2:实体对象—当前应用下—请购单bip实体。

      1719488539427
      属性设置:映射关系设置。

      1719488608332

      1719488822431

      1719489433978

      1719489487872

  5. ”请购单列表查询"接口返回了总页数和总记录数,需要返回给到“请购单列表"页面对应的分页对象中,因为总共多少条数据,和总页数都需要三方返回。 添加”修改变量"节点,修改分页对象,把三方返回的总页数和总记录数进行更新。

    1719490545339
    属性设置:选中对应的“分页对象"变量

    1719490609170
    属性设置:字段映射-参数映射,修改总页数、总记录数、是否需要查询总记录数字段。

    1719490708313
    总页数设置:点击参数映射右侧输入框”+“号。

    1719490808565

    1719490880741

    总记录数设置:点击参数映射右侧输入框”+“号。

    1719490924102

    1719490956337
    是否需要查询总记录数设置为是,且修改节点名称。

    1719490995562

  6. 最后添加“修改列表"节点,把映射后的”请购单列表"数据赋值给默认的“请购单列表"变量。

    1719491126057

    1719491146680

    1719491172723

    1719491217030

  7. 结束节点,出参更新设置:分页对象更改设置。

1719491275259

[预制]动态查询请购单的总数微流程

对于三方实体”请购单列表"页面中,如果开启了统计数属性,且筛选方案设置了至少2个时,见下图属性,则该统计数的数值来源是通过调用“[预制]动态查询请购单的总数"微流程获取到的。

即如果列表没有配置筛选方案则不需要配置此微流程。

此时需要配置”[预制]动态查询请购单的总数"微流程逻辑。

1719493141804

  1. 预制节点和输入、输出内容:

    1719493334834

    点击「编辑」按钮,编辑该微流程。 入参:点击预制的节点“查询的总数"节点,按照下图操作可查看输入时”请购单bip的动态查询条件”。即筛选方案中或者列表前台页面中可以设置的查询条件。 对应返回的总数,如果前台页面有搜索条件,返回的总数会动态变化,所以有该查询条件对象。 预制“查询的总数"整数类型变量节点,同时作为结束节点的出参。

    1719493451579

    1719493660614

  2. 如三方有对应单独的查询总数的接口,则微流程配置对应查询总数的接口,如在查询列表接口中可返回总数,则调用列表查询接口得到总数。

    快捷窍门:如是通过查询列表接口中可返回总数,且已经配置了”[预制]动态查询请购单bip"微流程,可直接去“预制]动态查询请购单bip"复制对应节点。 如果没有配置[预制]动态查询请购单bip微流程,则见”[预制]动态查询请购单bip微流程"部分查询条件设置部分。 注意:过滤条件要按照自己实际情况进行配置哈,此处仅为演示能力。

    回到”[预制]动态查询请购单bip"微流程中,进入编辑状态,勾选“扩展条件查询列表相关节点”,见如下附图。

    1719542456905

    1. yonBIP没有单独按照查询条件查询总数的接口,所以我们直接使用列表查询的接口。 添加”自定义服务"节点,配置调用“请购单列表"查询接口。

    1719542926581

    因为yonBIP列表查询接口有必填参数页面和每页条数,这里我们可以偷懒给页面和每页条数默认设置1,和20,因为该微流程仅用来查询没有切换到的筛选方案的总数。

    1719543212371

    1719543355834

    1719543383747

    1719543428827

    1. 接口返回数据,需要创建同结构变量进行接收。

      1719543705463

    2. 把接口查询到的总数复制给预制的整数变量”查询的总数"变量。

    1719543805616

运行效果

  1. 运行页面:

    1719545003511

  2. 可通过日志查看微流程是否执行。

    1719545186175

第四步

配置请购单详情页面,以便从请购单列表穿透到请购单详情页面。请购单详情页面获取会自动调用生成的微流程:【预制】根据ID查询请购单bip微流程,并将该微流程的请购单详情数据给到详情页面。

新建请购单详情页面

  1. 进入「菜单」列表页面,以Web端为例,在菜单“请购单bip列表"下添加详情页面。

    1719545565137
    删除使用模板自动生成的无用字段。

    1719551952679
    选中单一记录查看对应绑定的是“请购单bip"实体。

    1719552014753

  2. 请购单详情,会有请购明细,在页面上添加请购明细。 拖拽”重复表查询"控件到详情页面中。

    1719552145744

    重复表查询控件绑定“请购明细bip"实体,并设置相关属性。请购单详情查询接口中返回请购明细数据,明细无分页信息,所以控件不设置分页和对应查询内容。

    说明:请购明细展示不展示子表id和主信息id,所以对应字段可设置对应隐藏字段。

    1719552354686
    设置请购明细表及其基础属性。

    1719552515193

    因为三方实体不支持主子结构,所以请购单和请购明细是创建的两个没有关系的实体,所以可以把请购明细当成独立的三方列表去获取,只不过获取的是当前请购单详情的请购明细数据。

    选中重复表查询控件,设置过滤条件为”请购单ID=页面入参.ID”,因为是从请购单列表穿透到详情页面的,所以请购单ID从列表页面传递过来。

    1719555775304

    1719555934615

[预制]根据ID查询请购单bip微流程

修改【预制】根据ID查询请购单bip微流程逻辑,在“请购单详情页面"中,请购单详情主信息的数据通过调用该微流程获取到。

1719564356771

预制微流程内容。

  1. 预制输入:点击编辑,通过后续节点可知晓输入内容是:实体ID,见附图。

    1719564844894

  2. 预制节点:”请购单bip"变量节点,节点内容是预制是空的,类型是实体对象:”请购单bip”,同时该节点会作为输出内容。

1719564520627

预制输出:

1719564603742

配置微流程逻辑,主要在该预制微流程中添加调用yonBIP接口:请购单详情查询接口,以便从三方获取到对应的详情数据。

注意:如果三方唯一标识不是长整数类型,则不需要如下节点配置,否则需要按照如下配置进行。、

  1. 前提:实体上对应唯一标识字段需要设置为唯一。

    1719568043082

  2. 添加节

    1719568091968

    1719568189016

    1719568327379

    参数入参设置:

    1719568555265

    出参描述说明:是“请购单bip"实体设置的唯一标识字段。

    设置节点出参名称:

    1719568593715

  3. 添加”自定义服务"节点,配置调用“请购单详情查询"接口。

    1719568803841

    1719568885356

    1719568885356

    1719570290584

    1719570364656

  4. 创建同结构对象变量接收接口返回内容。

    1719570472375

  5. 计划

[预制]动态查询请购明细bip微流程

补充说明(常见问题)

demo文件

最后修改 August 2, 2024: 基础数据初始化提交 (93d98a5)