kd.bos.entity.botp.plugin

## 接口 IConvertPlugIn

- 所有已知实现类:
    AbstractConvertPlugIn, ConvertPlugTest, KDConvertPlugIn

      public interface IConvertPlugIn

  单据转换插件接口

- - ### 方法概要

    所有方法 实例方法 抽象方法 默认方法
    限定符和类型 | 方法和说明
    --- | ---
    `default void` | `afterBuildQueryParemeter(AfterBuildQueryParemeterEventArgs e)` 构建取数参数后事件：可在正式读取源单数据之前，添加额外的字段、过滤条件
    `default void` | `afterConvert(AfterConvertEventArgs e)` 单据转换后事件，最后执行：插件可以在这个事件中，对生成的目标单数据，进行最后的修改
    `default void` | `afterCreateLink(AfterCreateLinkEventArgs e)` 记录关联关系后事件：根据系统自动记录的关联关系，进行相关数据的同步携带，如携带其他子单据体数据
    `default void` | `afterCreateTarget(AfterCreateTargetEventArgs e)` 创建目标单据数据包后事件：把根据分单规则创建好的目标单，传递给插件
    `default void` | `afterFieldMapping(AfterFieldMappingEventArgs e)` 目标字段赋值完毕后事件：插件可以在此基础上，继续填写目标字段值
    `default void` | `afterGetSourceData(AfterGetSourceDataEventArgs e)` 取源单数据后事件：根据源单数据，获取其他定制的引用数据；也可以替换系统自动获取到的数据
    `default void` | `beforeBuildGroupMode(BeforeBuildGroupModeEventArgs e)` 构建分单、行合并模式之前事件：调整分单、合并策略及依赖的字段
    `default void` | `beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e)` 编译数据筛选条件前事件：可追加定制条件，是否忽略规则原生的条件
    `default void` | `beforeCreateLink(BeforeCreateLinkEventArgs e)` 记录关联关系前事件：取消记录关联关系
    `default void` | `beforeCreateTarget(BeforeCreateTargetEventArgs e)` 初始化创建目标单据数据包前事件 （暂未触发）
    `default void` | `beforeGetSourceData(BeforeGetSourceDataEventArgs e)` 取源单数据前事件：可在正式读取源单数据之前，修改取数语句、取数条件
    `default kd.bos.dataentity.OperateOption` | `getOption()` 单据转换可选参数
    `ConvertOpType` | `getOpType()`
    `ConvertRuleElement` | `getRule()`
    `BillEntityType` | `getSrcMainType()`
    `BillEntityType` | `getTgtMainType()`
    `default void` | `initVariable(InitVariableEventArgs e)` 初始化变量事件，此时还没有开始编译规则
    `void` | `setContext(ConvertOpType opType, BillEntityType srcMainType, BillEntityType tgtMainType, ConvertRuleElement rule)` 开始执行转换规则之前，创建规则上挂的插件后，触发此事件
    `default void` | `setOption(kd.bos.dataentity.OperateOption option)`

- - ### 方法详细资料

    - #### getOpType

          ConvertOpType getOpType()

    - #### getSrcMainType

          BillEntityType getSrcMainType()

    - #### getTgtMainType

          BillEntityType getTgtMainType()

    - #### getRule

          ConvertRuleElement getRule()

    - #### getOption

          default kd.bos.dataentity.OperateOption getOption()

      单据转换可选参数
      返回:

    - #### setOption

          default void setOption(kd.bos.dataentity.OperateOption option)

    - #### setContext

          void setContext(ConvertOpType opType,
                          BillEntityType srcMainType,
                          BillEntityType tgtMainType,
                          ConvertRuleElement rule)

      开始执行转换规则之前，创建规则上挂的插件后，触发此事件
      参数:
        `opType` -
        `srcMainType` -
        `tgtMainType` -
        `rule` -

    - #### initVariable

          default void initVariable(InitVariableEventArgs e)

      初始化变量事件，此时还没有开始编译规则
      参数:
        `e` -

    - #### beforeBuildRowCondition

          default void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e)

      编译数据筛选条件前事件：可追加定制条件，是否忽略规则原生的条件
      参数:
        `e` - 事件参数：包括本次下推的源单数据、是否忽略规则原生条件

    - #### beforeBuildGroupMode

          default void beforeBuildGroupMode(BeforeBuildGroupModeEventArgs e)

      构建分单、行合并模式之前事件：调整分单、合并策略及依赖的字段
      参数:
        `e` -

    - #### afterBuildQueryParemeter

          default void afterBuildQueryParemeter(AfterBuildQueryParemeterEventArgs e)

      构建取数参数后事件：可在正式读取源单数据之前，添加额外的字段、过滤条件
      参数:
        `e` -

    - #### beforeGetSourceData

          default void beforeGetSourceData(BeforeGetSourceDataEventArgs e)

      取源单数据前事件：可在正式读取源单数据之前，修改取数语句、取数条件
      参数:
        `e` -

    - #### afterGetSourceData

          default void afterGetSourceData(AfterGetSourceDataEventArgs e)

      取源单数据后事件：根据源单数据，获取其他定制的引用数据；也可以替换系统自动获取到的数据
      参数:
        `e` -

    - #### beforeCreateTarget

          default void beforeCreateTarget(BeforeCreateTargetEventArgs e)

      初始化创建目标单据数据包前事件 （暂未触发）
      参数:
        `e` -

    - #### afterCreateTarget

          default void afterCreateTarget(AfterCreateTargetEventArgs e)

      创建目标单据数据包后事件：把根据分单规则创建好的目标单，传递给插件
      参数:
        `e` -

    - #### afterFieldMapping

          default void afterFieldMapping(AfterFieldMappingEventArgs e)

      目标字段赋值完毕后事件：插件可以在此基础上，继续填写目标字段值
      参数:
        `e` -

    - #### beforeCreateLink

          default void beforeCreateLink(BeforeCreateLinkEventArgs e)

      记录关联关系前事件：取消记录关联关系
      参数:
        `e` -

    - #### afterCreateLink

          default void afterCreateLink(AfterCreateLinkEventArgs e)

      记录关联关系后事件：根据系统自动记录的关联关系，进行相关数据的同步携带，如携带其他子单据体数据
      参数:
        `e` -

    - #### afterConvert

          default void afterConvert(AfterConvertEventArgs e)

      单据转换后事件，最后执行：插件可以在这个事件中，对生成的目标单数据，进行最后的修改
      参数:
        `e` -