跳转到内容

模型导入/导出的配置开发

模型导入/导出的配置开发

Trantor 提供通用导入/导出能力,在统一工作台直接开放给用户使用。但哪些模型可以进行导入/导出仍然需要产品研发或交付同学进行配置。同时部分场合通用导入/导出不适用时,也可能需要进行定制的导入/导出开发。本文档描述通用导入/导出能覆盖的场景和配置方式,以及定制导入/导出的最佳实践。

实现方式

1. 导入功能

1.1 使用流程

首先需要选择导入的模型,数据匹配字段意思是根据哪一个字段来作为数据导入时的主键,默认会使用模型的主字段,如果 DB 中可以匹配上则进行更新,否则插入。

image0.png

选择好模型后需要下载模板文件,导入的数据必须按照模板文件的格式进行数据导入,下载模板时需要选择导入的字段,可以导入的字段为当前模型所有的基础字段(非关联字段),选择完成后下载的 excel 文件便可以自行将数据填充进去。
image1.png

模板文件第一行是一个包含导入信息的自动生成的 title,第二行将会是上面选择的字段。

image2.png

用户需要按照这个顺序将数据填充进去。

image3.png

导入文件写入完成后便可以回到上面的界面点击上传文件进行导入操作了。

image4.png

image5.png

导入过程是异步的,在导入管理中将会展示导入任务,后台会显示导入的进度,如果导入的记录部分失败,将会提供下载文件,里面会标识哪些成功哪些失败以及失败原因,用户只需要将失败的数据修正后再次导入即可,已经成功的不需要再次导入。

上面 excel 中只有一条记录,可以看到已导入数量为 1,导入成功

image6.png

检查数据库公司模型对应的表数据可以看到第二条记录就是我们刚才导入的记录

image7.png

如果出现失败数据,导入管理中会显示已经失败的数量

image8.png

失败数据文件中将会在最后一列展示异常信息

image9.png

1.2 导入规则

在数据处理时,校验规则如下,

  • 填写内容需满足字段格式要求
  • 新增时,用户必填字段需填写
  • 表格内某行数据数据匹配字段与原有数据重复时,导入数据覆盖原有数据。
  • 非模型中的字段,则报错,行数为“所有”,原因为“导入数据对象不存在 XXXX 字段”

2. 导出功能

2.1 使用流程

  • 点击导出中心上的新增导出任务,弹框选择导出模型与数据过滤器,选择完成后点击下一步
    • 导出模型:默认为空,选择方式与导入相同
      • 导出模型的可选择范围为用户权限可查看的模型范围
    • 过滤器:设置过滤方案,过滤方案的配置与生成与 filter 的交互一致。过滤器的作用是根据规则过滤数据。
  • 字段选择框以级联表格形式存在,最多三级,点击关联字段则会展示关联模型字段,第三级不展示关联字段,用户可勾选各级展示字段。右侧展示所有已勾选字段,点击删除即为去除勾选状态,新勾选字段排在底部。
    • 受表格展示限制,不可连续勾选两级对多关联,因此,对多关联字段的扩展字段中过滤对多关联字段
    • 同一关联关系的关联字段,在同一条链路中,其中一个关联字段被选后,另一个关联字段隐藏。如商品与 SKU 互相关联,以商品维度展示,展示关联 SKU,但不可再通过 SKU 关联商品相关信息。
    • 因为仅展示三级,因此第三级不展示关联字段
    • 仅展示用户有权限的字段

image10.png

image11.png

选择完上述所有信息后需要确认导出,校验通过后会生成一个导出任务,在导出管理中将出现一条状态为导出中的任务,后台将会异步进行导出。

image12.png

完成后可以下载导出文件。

image13.png

导出文件示例,可以与数据库中实际数据进行对比查看

image14.png

image15.png

下面这个例子是包含了子模型的导出文件,可以看到最后两列的数据由于属于子模型,所以被打平输出。

image16.png

2.2 导出规则

  • 导出字段受权限限制,若无其中部分字段权限,则导出时导出表格过滤无权限字段
  • 受 excel 行数限制,导出数据最多为 10w 条,若超出则弹框提示
  • 导出表格最多可选择 200 个展示字段,若超出则弹框提示
  • 若筛选后导出数据为空,则弹框提示“数据为空,请检查数据、筛选条件以及数据权限”
  • 枚举项多选,各项之间用“、”隔开,对多关联,多个关联关系用“;”隔开,
  • 导出表格中对多关联不支持再关联对多字段,对多关联对象下的展示字段之间用- 连接,数据与数据之间用;隔开,如下图

image17.png

3. 常见异常信息

3.1 数据为空

image18.png

按照现有条件无数据可以导出时将会提示上述信息。

适用范围

导入功能只适用于单个模型,可以导入某个模型的所有基础类型字段(非关联关系字段)的值。

导出功能适用于模型以及该模型关联的所有子模型的字段(最多三级关联模型),某个特定子模型的所有选中字段将会被打平作为单独一列输出到 excel 中。

配置方式

如果需要导入或者导出某个模型,需要到交付控制台的模型定义界面开启模型导入或导出开关。

屏幕快照-2019-11-29-下午2.36.05.png