Skip to content

工作流专题:「数据修复」

当我们对应用导入既有业务数据,或者在试用期间对应用增减字段来作修改时,往往需要对既有业务数据进行一定的修改,来满足后续业务需求。这种场景我们称之为数据修复

点击获取本节教程所用Demo应用: 数据修复Demo

1:应用场景说明

假设在销售线索管理场景中,存在应用启用前的既有数据【线索档案】和【成交客户档案】两个表单。


【线索档案】表单包含所有客户的记录,包含【客户名称】等基础信息字段。

并在本次应用搭建中,新增了自动编号控件作为【客户编号】;

新增了单选控件作为【成交状态】,包含“未成交”和“已成交”两个选项。


【成交客户档案】表单包含客户中成交客户的记录,存在【客户名称】字段和【线索档案】表单中相同。

并在本次应用搭建中,新增了文本控件作为【客户编号】;

新增了关联记录控件作为【线索】,关联对应的【线索档案】记录。


提示

对【线索档案】和【成交客户档案】两个表单,按照【客户名称】进行匹配对应,相同名称的记录视为代表同一个客户,存在数据修复需求如下:

一、对存在对应【成交客户档案】记录的【线索档案】记录,修改【成交状态】为“已成交”;

二、对【成交客户档案】,查询对应的【线索档案】记录,并设置为【成交客户档案】记录中的【线索】关联记录控件的值;

三、对【成交客户档案】,查询对应的【线索档案】记录中的【客户编号】自动编号控件值,并更新在【成交客户档案】记录中的【客户编号】文本控件中。

2:数据修复工作流搭建

2.1 创建功能按钮工作流

新建一个表单,并在其中添加功能按钮,工作流执行方式选择每条记录单独执行,启用目标选择对表单启用


2.2 查询成交的【客户名称】

设置查询记录节点,选择表单设置【成交客户档案】;

筛选条件选择记录ID,设置非空

查询数量选择查询多条

查询字段选择需要的【客户名称】。


2.3 更新成交状态

设置更新记录节点,选择表单设置【线索档案】;

更新配置勾选更新多条

筛选条件选择【客户名称】,设置任意属于,选择流程参数【客户名称(查询所有成交客户档案)】;

更新字段设置将【成交状态】设为“已成交”。

此时对所有【线索档案】记录,满足第一项数据修复需求。


2.4 逐条修复【成交客户档案】

设置业务流程,用于对单条【成交客户档案】记录进行数据修复。

2.4.1 创建业务流程

设置业务流程节点,点击创建业务流程

在新打开的标签页中,设置业务流程的输入参数

文本类型的【客户名称】;

文本类型的【成交客户档案记录ID】。


2.4.2 查询对应的客户编号

设置查询记录节点,选择表单设置【线索档案】;

筛选条件设置【客户名称】等于【客户名称(业务流程触发)】;

查询数量选择查询单条

查询字段选择需要的【客户编号】。


2.4.3 更新客户编号和线索

设置更新记录节点,选择表单设置【成交客户档案】;

更新配置勾选更新单条

筛选条件设置记录ID等于【成交客户档案记录ID(业务流程触发)】;

更新字段设置将【客户编号】设为【客户编号(查询对应的线索档案)】,将【线索】设为【记录ID(查询对应的线索档案)】。

此时对单个【成交客户档案】,满足第二项和第三项数据修复需求。

2.4.4 调用业务流程

回到原本的按钮触发工作流中,业务流程节点中调用刚设置的业务流程。

执行次数选择多次执行,多次执行数据源勾选数据节点,并选择2.2中设置的查询记录节点

参数传递中,【客户名称】和【成交客户档案记录ID】选择其中对应参数。


2.5 执行结果

启用工作流后,点击按钮执行工作流,得到如下结果,数据修复完成。


3:总结

在数据修复工作流设置中,使用了更新记录节点和业务流程多次调用两种方式。

直接使用更新记录节点的方式,对应修复范围内的每条数据都执行完全相同的操作。

提示

对应第一项数据修复要求,对【线索档案】记录,若存在对应【成交客户档案】记录,【成交状态】都设为“已成交”。


业务流程多次调用的方式,对应修复范围内每条记录采用相同处理逻辑,但是更新内容并不相同的情况。

提示

对应第二项数据修复要求,如【成交客户档案】中A和C两条客户的记录,都需要查询对应【线索记录】得到【客户编号】,但是更新的值分别对应“客户编号-00000001”和“客户编号-00000003”。