kd.bos.servicehelper

## 类 UnitConvertHelper

- java.lang.Object
- - kd.bos.servicehelper.UnitConvertHelper

-     public class UnitConvertHelper
      extends java.lang.Object

  根据目标单位进行数量换算

- - ### 构造器概要

    构造器
    构造器和说明
    `UnitConvertHelper()`

  - ### 方法概要

    所有方法 静态方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `static java.math.BigDecimal` | `calculateNewQty(java.math.BigDecimal srcQty, java.lang.Long distUnitId, java.lang.Long srcUnitId, java.lang.Long materialId, java.lang.StringBuilder errMsg)` 调用基础的接口进行单位换算
    `static boolean` | `convertQty(QtyProp srcQtyProp, QtyProp distQtyProp, IDataModel dataModel, java.lang.StringBuilder errMsg)` 根据 源数量 目标数量 进行换算
    `static boolean` | `convertQtyByNewUnit(IDataModel dataModel, QtyProp srcQtyProp, QtyProp distQtyProp, int rowIndex, java.lang.StringBuilder errMsg)`
    `static boolean` | `convertQtyByNewUnit(IDataModel dataModel, QtyProp srcQtyProp, QtyProp distQtyProp, java.lang.Long srcUnitId, java.lang.Long distUnitId, int rowIndex, java.lang.StringBuilder errMsg)`
    `static void` | `convertQtyByNewUnit(IDataModel dataModel, QtyProp srcQtyProp, QtyProp distQtyProp, java.lang.StringBuilder errMsg)`
    `static void` | `convertQtyByNewUnit(IDataModel dataModel, UnitProp unitProp, long newUnitId, long oldUnitId, int rowIndex, java.lang.StringBuilder errMsg)`
    `static java.lang.Long` | `getMaterialDataId(QtyProp prop, kd.bos.dataentity.entity.DynamicObject maindataPkg, int index)`
    `static java.lang.Long` | `getMaterialDataId(QtyProp prop, IDataModel dataModel, int index)`
    `static java.lang.Long` | `getRelatedUnitId(QtyProp qtyProp, kd.bos.dataentity.entity.DynamicObject maindataPkg, int index)`
    `static java.lang.Long` | `getRelatedUnitId(QtyProp qtyProp, IDataModel dataModel, int index)`
    `static boolean` | `isConvertable(QtyProp distQtyProp, QtyProp srcQtyProp, MainEntityType dt, java.lang.StringBuilder errMsg)`

    - ### 从类继承的方法 java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### UnitConvertHelper

          public UnitConvertHelper()

  - ### 方法详细资料

    - #### isConvertable

          public static boolean isConvertable(QtyProp distQtyProp,
                                              QtyProp srcQtyProp,
                                              MainEntityType dt,
                                              java.lang.StringBuilder errMsg)

      参数:
        `distQtyProp` -
        `srcQtyProp` -
        `dt` - 主实体类型
        `errMsg` - 错误信息记录
      返回:
        true/falses

    - #### getRelatedUnitId

          public static java.lang.Long getRelatedUnitId(QtyProp qtyProp,
                                                        kd.bos.dataentity.entity.DynamicObject maindataPkg,
                                                        int index)

      参数:
        `qtyProp` - 数量属性
        `maindataPkg` - 主数据包
        `index` - 如果关联的单位在单据体内，填单据体的下标，单据头则填写-1
      返回:
        基础资料内码

    - #### getRelatedUnitId

          public static java.lang.Long getRelatedUnitId(QtyProp qtyProp,
                                                        IDataModel dataModel,
                                                        int index)

      参数:
        `qtyProp` - 数量属性
        `dataModel` - 数据模型
        `index` - 如果在单据体内，单据体的下标，单据头则填写-1
      返回:
        基础资料内码

    - #### getMaterialDataId

          public static java.lang.Long getMaterialDataId(QtyProp prop,
                                                         kd.bos.dataentity.entity.DynamicObject maindataPkg,
                                                         int index)

      参数:
        `prop` - 数量属性
        `maindataPkg` - 主数据包
        `index` - 如果在单据体内，单据体的下标，单据头则填写-1
      返回:
        基础资料内码

    - #### getMaterialDataId

          public static java.lang.Long getMaterialDataId(QtyProp prop,
                                                         IDataModel dataModel,
                                                         int index)

      参数:
        `prop` - 数量属性
        `dataModel` - 数据模型
        `index` - 如果在单据体内，单据体的下标，单据头则填写-1
      返回:
        基础资料内码

    - #### convertQtyByNewUnit

          public static boolean convertQtyByNewUnit(IDataModel dataModel,
                                                    QtyProp srcQtyProp,
                                                    QtyProp distQtyProp,
                                                    int rowIndex,
                                                    java.lang.StringBuilder errMsg)

      参数:
        `dataModel` - 数据模型
        `srcQtyProp` - 源数量字段属性
        `distQtyProp` - 目标数量字段属性
        `rowIndex` - 行索引，如果在单据体内，单据体的下标，单据头则填写-1
        `errMsg` - 错误信息
      返回:
        true/false

    - #### convertQtyByNewUnit

          public static boolean convertQtyByNewUnit(IDataModel dataModel,
                                                    QtyProp srcQtyProp,
                                                    QtyProp distQtyProp,
                                                    java.lang.Long srcUnitId,
                                                    java.lang.Long distUnitId,
                                                    int rowIndex,
                                                    java.lang.StringBuilder errMsg)

      参数:
        `dataModel` - 数据模型
        `srcQtyProp` - 源数量字段属性
        `distQtyProp` - 目标数量字段属性
        `srcUnitId` - 源单位内码
        `distUnitId` - 目标单位内码
        `rowIndex` - 行索引，如果在单据体内，单据体的下标，单据头填写-1
        `errMsg` - 错误信息
      返回:
        true/false

    - #### convertQtyByNewUnit

          public static void convertQtyByNewUnit(IDataModel dataModel,
                                                 QtyProp srcQtyProp,
                                                 QtyProp distQtyProp,
                                                 java.lang.StringBuilder errMsg)

      参数:
        `dataModel` - 数据模型
        `srcQtyProp` - 源数量字段属性
        `distQtyProp` - 目标数量字段属性
        `errMsg` - 错误信息

    - #### convertQtyByNewUnit

          public static void convertQtyByNewUnit(IDataModel dataModel,
                                                 UnitProp unitProp,
                                                 long newUnitId,
                                                 long oldUnitId,
                                                 int rowIndex,
                                                 java.lang.StringBuilder errMsg)

      参数:
        `dataModel` - 数据模型
        `unitProp` - 单位属性
        `newUnitId` - 新单位内码
        `oldUnitId` - 旧单位内码
        `rowIndex` - 如果单位在单据体内，单据体的下标，单据头则填写-1
        `errMsg` - 错误信息

    - #### convertQty

          public static boolean convertQty(QtyProp srcQtyProp,
                                           QtyProp distQtyProp,
                                           IDataModel dataModel,
                                           java.lang.StringBuilder errMsg)

      根据 源数量 目标数量 进行换算
      参数:
        `srcQtyProp` - 源数量
        `distQtyProp` - 目标数量
        `dataModel` - 数据模型
        `errMsg` - 错误信息
      返回:

    - #### calculateNewQty

          public static java.math.BigDecimal calculateNewQty(java.math.BigDecimal srcQty,
                                                             java.lang.Long distUnitId,
                                                             java.lang.Long srcUnitId,
                                                             java.lang.Long materialId,
                                                             java.lang.StringBuilder errMsg)

      调用基础的接口进行单位换算
      参数:
        `srcQty` - 源数量的值
        `distUnitId` - 目标单位内码
        `srcUnitId` - 源单位内码
        `materialId` - 物料内码
        `errMsg` - 错误信息
      返回:
        目标数量的值