kd.bos.entity.plugin

## 接口 IImportPlugin

- 所有已知子接口:
    IImportServicePlugin

      public interface IImportPlugin

  引入插件接口

- - ### 方法概要

    所有方法 实例方法 默认方法
    限定符和类型 | 方法和说明
    --- | ---
    `default void` | `afterImportData(java.util.List<java.lang.Object> pkIds, java.util.List<ImportLogger.ImportLog> importlogs)` 引入后处理
    `default boolean` | `beforeImportData(java.util.Map<java.lang.String,java.lang.Object> data, java.util.Map<java.lang.String,java.lang.Object> option, java.util.List<ImportLogger.ImportLog> importlogs)` 引入前，覆盖的话应 填充pkId, 方便后面做保存， data.put("id", 查到data的pkid)
    `default BillEntityType` | `getImportMainEntityType(java.lang.String billFormId)` 引入时用来生成自定义实体
    `default BillEntityType` | `getImportMainEntityType(java.lang.String billFormId, kd.bos.dataentity.entity.DynamicObject templateData)` 引出模板时用来生成自定义实体（根据模板数据过滤、调整实体结构）
    `default java.util.List<java.lang.Object>` | `importData(java.util.Map<java.lang.String,java.lang.Object> data, java.util.Map<java.lang.String,java.lang.Object> option, java.util.List<ImportLogger.ImportLog> importlogs)` 具体的引入（保存数据）
    `default void` | `init(java.util.Map<java.lang.String,java.lang.Object> importParams)` 初始化（愿意做什么都可以）
    `default boolean` | `resolve(java.util.Map<java.lang.String,ImportLogger> urls, java.util.function.BiFunction<java.util.Map<java.lang.String,java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<ImportLogger.ImportLog>> dataHandler)` 解析excel（一般不建议自己处理，除非是个性化的excel文件数据录入格式）

- - ### 方法详细资料

    - #### init

          default void init(java.util.Map<java.lang.String,java.lang.Object> importParams)

      初始化（愿意做什么都可以）
      参数:
        `formId` -

    - #### getImportMainEntityType

          default BillEntityType getImportMainEntityType(java.lang.String billFormId)

      引入时用来生成自定义实体
      参数:
        `billFormId` -
      返回:

    - #### getImportMainEntityType

          default BillEntityType getImportMainEntityType(java.lang.String billFormId,
                                                         kd.bos.dataentity.entity.DynamicObject templateData)

      引出模板时用来生成自定义实体（根据模板数据过滤、调整实体结构）
      参数:
        `billFormId` -
        `templateData` - 引入模板配置数据
      返回:
        自定义实体

    - #### resolve

          default boolean resolve(java.util.Map<java.lang.String,ImportLogger> urls,
                                  java.util.function.BiFunction<java.util.Map<java.lang.String,java.lang.Object>,java.util.Map<java.lang.String,java.lang.Object>,java.util.List<ImportLogger.ImportLog>> dataHandler)

      解析excel（一般不建议自己处理，除非是个性化的excel文件数据录入格式）
      参数:
        `urls` - key=Excel文件url，value=日志记录器
        `dataHandler` - 自行解析数据的处理器
      返回:
        true解析成功，不再调用默认解析

    - #### beforeImportData

          default boolean beforeImportData(java.util.Map<java.lang.String,java.lang.Object> data,
                                           java.util.Map<java.lang.String,java.lang.Object> option,
                                           java.util.List<ImportLogger.ImportLog> importlogs)

      引入前，覆盖的话应 填充pkId, 方便后面做保存， data.put("id", 查到data的pkid)
      参数:
        `data` -
        `option` - 引入的选项，例如引入类型（新增、覆盖、覆盖/新增）等
        `importlogs` - 异常日志列表，自己构造返回
      返回:
        true引入前校验或处理成功，继续import；false终止当前数据引入（跳过并进入下一条数据处理流程）

    - #### importData

          default java.util.List<java.lang.Object> importData(java.util.Map<java.lang.String,java.lang.Object> data,
                                                              java.util.Map<java.lang.String,java.lang.Object> option,
                                                              java.util.List<ImportLogger.ImportLog> importlogs)

      具体的引入（保存数据）
      参数:
        `data` -
        `option` - 引入的选项，例如引入类型（新增、覆盖、覆盖/新增）等
        `importlogs` - 异常日志列表，自己构造返回
      返回:
        引入成功的pkId列表

    - #### afterImportData

          default void afterImportData(java.util.List<java.lang.Object> pkIds,
                                       java.util.List<ImportLogger.ImportLog> importlogs)

      引入后处理
      参数:
        `pkIds` -
        `importlogs` - 异常日志列表，自己构造返回