kd.bos.servicehelper.basedata

## 类 BaseDataServiceHelper

- java.lang.Object
- - kd.bos.servicehelper.basedata.BaseDataServiceHelper

-     public class BaseDataServiceHelper
      extends java.lang.Object

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `static java.lang.String` | `baseDataExcSuffix`
    `static java.lang.String` | `baseDataUseRegSuffix`
    `static java.lang.String` | `bdctrlstrtgy_entityID`
    `static java.lang.String` | `bos_user_entityID`
    `static java.lang.String` | `ctrlstrategy_cu_assign`
    `static java.lang.String` | `ctrlstrategy_cu_free_assign`
    `static java.lang.String` | `ctrlstrategy_cu_share`
    `static java.lang.String` | `ctrlstrategy_global_share`
    `static java.lang.String` | `ctrlstrategy_ou_assign`
    `static java.lang.String` | `ctrlstrategy_ou_free_assign`
    `static java.lang.String` | `ctrlstrategy_private`
    `static java.lang.String` | `ctrltype_assign`
    `static java.lang.String` | `ctrltype_share`
    `static java.lang.String` | `defaultctrlstrategy_entityID`
    `static java.lang.String` | `entityID_basedataview`
    `static java.lang.String` | `entityID_entitymeta`
    `static java.lang.String` | `entityID_entityoporgview`
    `static java.lang.String` | `entityID_exchangeRate`
    `static java.lang.String` | `entityID_org_structure`
    `static java.lang.String` | `entityID_workCalendar`
    `static java.lang.String` | `ExRate_CONVERT_MODE_DIRECT`
    `static java.lang.String` | `ExRate_CONVERT_MODE_INDIRECT`
    `static java.lang.String` | `managestrategy_createOrg`
    `static java.lang.String` | `managestrategy_cu`
    `static java.lang.String` | `org_entityID`
    `static java.lang.String` | `orgBiz_entityID`

  - ### 构造器概要

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

  - ### 方法概要

    所有方法 静态方法 实例方法 具体方法 已过时的方法
    限定符和类型 | 方法和说明
    --- | ---
    `static void` | `baseDataAddnewHandler(kd.bos.dataentity.entity.DynamicObject dataInfo, java.lang.Long createOrgID)` 描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
    `static void` | `baseDataAssignHandler(kd.bos.dataentity.entity.DynamicObject dataInfo, java.lang.Long orgID, java.lang.Long createorgId)` 描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
    `static void` | `baseDataDeleteHandler(kd.bos.dataentity.entity.DynamicObject dataInfo, java.lang.Long orgID)` 描述：删除基础数据时基础数据使用登记表处理 删除数据后需要清除该条基础数据的使用关系表和个性化排除表记录；
    `static void` | `baseDataOrgChangeHandler(kd.bos.dataentity.entity.DynamicObject dataInfo)` 描述：管理权转让时，确定使用组织并更新对应的使用关系表
    `static void` | `baseDataSubmitHandler(kd.bos.dataentity.entity.DynamicObject dataInfo, java.lang.Long createOrgID)` 描述：基础数据提交时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
    `static void` | `batchAssign(java.lang.String entityID, java.util.List<java.lang.Long> dataIDs, java.util.List<java.lang.Long> orgIDs)` 批量分配
    `void` | `batchUnAssign(java.lang.String entityID, java.lang.Long[] dataIDs, java.lang.Long[] orgIDs)`
    `static java.lang.Boolean` | `chectDuplicate(java.lang.String entityType, java.lang.Long orgID, java.util.List numberList)` 描述：检查目标组织是否存在相同编码的基础数据
    `static java.lang.Boolean` | `chectDuplicate(java.lang.String entityType, java.util.Map<java.lang.String,java.lang.String> chectProperties, java.lang.Long orgID, java.lang.Long dataID)` 描述：检查基础数据是否存在重复
    `IOperationResult` | `deleteFormGroup(java.lang.Object[] ids, GroupProp prop)` 用于树形列表删除分组节点
    `static java.util.List<java.lang.Long>` | `getAssignDesOrgs(java.lang.Long srcOrgID, java.lang.String ctrlType, java.lang.Long orgViewID)` 描述：获取分配目标组织。
    `static java.util.List<java.lang.Long>` | `getAssignUseOrgSet(kd.bos.dataentity.entity.DynamicObject dataInfo, java.lang.Long orgID, java.lang.Long createorgId)` 获取可分配的使用组织集合
    `static java.util.List<java.lang.Long>` | `getAssistMUListResult(java.lang.Long materialId, java.lang.Long srcmuId, java.lang.String convertType)`
    `static kd.bos.dataentity.entity.DynamicObject` | `getBaseData(java.lang.String entityID, java.lang.Long orgID, java.lang.String number, java.lang.String selectFields)` 已过时。
    `kd.bos.orm.query.QFilter` | `getBaseDataCreaterOrgFilter(java.lang.String entityID, java.lang.Long orgID)` 获取基础资料创建组织过滤
    `static IBaseDataCtrlPlugin` | `getBaseDataCtrlPlugin(java.lang.String entityType)` 描述：获取基础数据控制插件
    `static kd.bos.orm.query.QFilter` | `getBaseDataFilter(java.lang.String entityID, java.lang.Long orgID)` 获取基础资料ID过滤
    `static kd.bos.orm.query.QFilter` | `getBaseDataProFilter(java.lang.String entityID, java.lang.Long orgID, java.lang.String property)` 获取基础资料过滤
    `static java.util.List<java.lang.Long>` | `getBdCtrlOrgs(java.lang.String entity)` 根据实体获取基础数据管控策略的创建组织
    `static java.lang.String` | `getBdCtrlStrgy(java.lang.String entity, java.lang.String createOrg)` 获取控制策略
    `int` | `getCalHolidays(java.lang.Long orgId, java.util.Date arg0, java.util.Date arg1)`
    `int` | `getCalRestDays(java.lang.Long orgId, java.util.Date arg0, java.util.Date arg1)`
    `int` | `getCalWorkDays(java.lang.Long orgId, java.util.Date arg0, java.util.Date arg1)`
    `static java.util.List<java.lang.Long>` | `getCreateOrgList(java.lang.String entity)` 获取单据可选的创建组织集合
    `static java.lang.String` | `getCtrlStgyViewSchema(java.lang.String entity)` 获取控制策略的管控视图
    `static kd.bos.dataentity.entity.DynamicObject` | `getCtrlStrtgy(kd.bos.dataentity.entity.DynamicObject dataObj)` 描述：查找基础数据管控策略
    `static kd.bos.dataentity.entity.DynamicObject` | `getCtrlview(java.lang.String entityID)` 查询获取视图信息
    `static java.util.List<java.lang.Long>` | `getDescMU(java.lang.Long materialId, java.lang.Long srcMUid)` 获取辅助单元
    `static java.math.BigDecimal` | `getDesmuCount(java.lang.Long materialId, java.lang.Long srcmuid, java.math.BigDecimal srcmuCount, java.lang.Long desmuid)` 获取目标单位数量
    `static double` | `getDesmuCount(java.lang.Long materialId, java.lang.Long srcmuid, double srcmuCount, java.lang.Long desmuid)` 获取目标单位数量
    `static java.math.BigDecimal` | `getExchangeRate(java.lang.Long exchangeTableID, java.lang.Long sourceCurrencyID, java.lang.Long targetCurrencyID, java.util.Date date)` 根据汇率表，源币，目标币和日期得到直接汇率 1.当希望得到最新汇率时，则设date为null; 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
    `static java.math.BigDecimal` | `getExchangeRate(java.lang.Long exchangeTableID, java.lang.Long sourceCurrencyID, java.lang.Long targetCurrencyID, java.lang.String convertMode, java.util.Date date)` 根据汇率表，源币，目标币和日期得到汇率 1.当希望得到最新汇率时，则设date为null; 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
    `static kd.bos.dataentity.entity.DynamicObject` | `getMaterialMU(java.lang.Long materialId, java.lang.Long muId)` 获取物料转换单位
    `static java.lang.String` | `getMaterialMUConvertType(java.lang.Long materialId, java.lang.Long muId)` 获取物料转换单位换算类型服务
    `static int` | `getMaxComDiv(int num1, int num2)` 求最大公约数
    `static kd.bos.dataentity.entity.DynamicObject` | `getMUConv(java.lang.Long materialId, java.lang.Long srcmuid, java.lang.Long desmuid)` 获取单位换算率
    `static java.lang.String` | `getUseOrgFunc(java.lang.String entity)` 获取使用组织的组织职能
    `static java.lang.String` | `getVerifyOrgPropertyName(java.lang.String entityType, java.lang.String operationKey)` 描述：获取实体操作的验权组织属性名
    `kd.bos.dataentity.entity.DynamicObject` | `getWorkCalendar(java.lang.Long orgId)` 描述：获取指定组织的工作日历。
    `kd.bos.dataentity.entity.DynamicObject` | `getWorkCalendar(java.lang.Long orgId, java.util.Date startDate, java.util.Date endDate)` 描述：获取指定组织,开始日期，结束日期的工作日历。
    `java.lang.String` | `getWorkCalendarVersion(java.lang.Long orgId)`
    `static void` | `handleDisable(java.lang.String entityID, kd.bos.dataentity.entity.DynamicObject[] objs)` 描述：处理禁用基础资料时相关处理。
    `static boolean` | `handleEnable(java.lang.String entityID, kd.bos.dataentity.entity.DynamicObject[] objs)` 描述：处理启用基础资料时相关处理。
    `static void` | `handleManageOrg(kd.bos.dataentity.entity.DynamicObject dataInfo)` 描述：处理管理费用组织。
    `static boolean` | `handleModify(kd.bos.dataentity.entity.DynamicObject dataInfo)` 描述：处理受控基础数据修改。
    `static boolean` | `isAssignData(java.lang.String number, java.lang.Object primaryKeyValue, java.lang.Long useOrgId)` 是否分配的数据
    `java.lang.Boolean` | `isHalfHolidays(java.lang.Long orgId, java.util.Date arg0)`
    `boolean` | `isRestDay(java.lang.Long orgId, java.util.Date date)`
    `boolean` | `isWeekendDay(java.lang.Long orgId, java.util.Date date)`
    `boolean` | `isWorkDay(java.lang.Long orgId, java.util.Date date)`
    `boolean` | `isWorkTime(java.lang.Long orgId, java.util.Date date)`
    `static void` | `orgAddnewHandler(java.lang.Long orgId)` 1、根据管控视图在基础数据管控策略找到使用该视图的所有基础数据； 2、从某个基础数据的使用关系表中查找使用组织=新增组织所属管控单元并且控制策略=按管控单元逐级分配或按管控单元自由分配的记录； 3、如果找到则在使用关系表中增加新增组织的记录，如果没有则不处理； 4、存在多个基础数据时，按第2，3点逐一处理。
    `static kd.bos.dataentity.entity.DynamicObjectCollection` | `queryBaseData(java.lang.String entityID, java.lang.Long orgID, kd.bos.orm.query.QFilter filter, java.lang.String selectFields)` 获取基础资料
    `boolean` | `treeNodeUpdate(java.lang.Object currentId, java.lang.Object newParentId, GroupProp prop)` 用于树形列表更新节点

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

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

- - ### 字段详细资料

    - #### defaultctrlstrategy_entityID

          public static final java.lang.String defaultctrlstrategy_entityID

      另请参阅:
        常量字段值

    - #### bdctrlstrtgy_entityID

          public static final java.lang.String bdctrlstrtgy_entityID

      另请参阅:
        常量字段值

    - #### org_entityID

          public static final java.lang.String org_entityID

      另请参阅:
        常量字段值

    - #### entityID_org_structure

          public static final java.lang.String entityID_org_structure

      另请参阅:
        常量字段值

    - #### orgBiz_entityID

          public static final java.lang.String orgBiz_entityID

      另请参阅:
        常量字段值

    - #### managestrategy_createOrg

          public static final java.lang.String managestrategy_createOrg

      另请参阅:
        常量字段值

    - #### managestrategy_cu

          public static final java.lang.String managestrategy_cu

      另请参阅:
        常量字段值

    - #### ctrltype_assign

          public static final java.lang.String ctrltype_assign

      另请参阅:
        常量字段值

    - #### ctrltype_share

          public static final java.lang.String ctrltype_share

      另请参阅:
        常量字段值

    - #### ctrlstrategy_cu_assign

          public static final java.lang.String ctrlstrategy_cu_assign

      另请参阅:
        常量字段值

    - #### ctrlstrategy_cu_free_assign

          public static final java.lang.String ctrlstrategy_cu_free_assign

      另请参阅:
        常量字段值

    - #### ctrlstrategy_ou_assign

          public static final java.lang.String ctrlstrategy_ou_assign

      另请参阅:
        常量字段值

    - #### ctrlstrategy_ou_free_assign

          public static final java.lang.String ctrlstrategy_ou_free_assign

      另请参阅:
        常量字段值

    - #### ctrlstrategy_global_share

          public static final java.lang.String ctrlstrategy_global_share

      另请参阅:
        常量字段值

    - #### ctrlstrategy_cu_share

          public static final java.lang.String ctrlstrategy_cu_share

      另请参阅:
        常量字段值

    - #### ctrlstrategy_private

          public static final java.lang.String ctrlstrategy_private

      另请参阅:
        常量字段值

    - #### baseDataUseRegSuffix

          public static final java.lang.String baseDataUseRegSuffix

      另请参阅:
        常量字段值

    - #### baseDataExcSuffix

          public static final java.lang.String baseDataExcSuffix

      另请参阅:
        常量字段值

    - #### entityID_exchangeRate

          public static final java.lang.String entityID_exchangeRate

      另请参阅:
        常量字段值

    - #### entityID_workCalendar

          public static final java.lang.String entityID_workCalendar

      另请参阅:
        常量字段值

    - #### entityID_entityoporgview

          public static final java.lang.String entityID_entityoporgview

      另请参阅:
        常量字段值

    - #### entityID_entitymeta

          public static final java.lang.String entityID_entitymeta

      另请参阅:
        常量字段值

    - #### entityID_basedataview

          public static final java.lang.String entityID_basedataview

      另请参阅:
        常量字段值

    - #### bos_user_entityID

          public static final java.lang.String bos_user_entityID

      另请参阅:
        常量字段值

    - #### ExRate_CONVERT_MODE_DIRECT

          public static final java.lang.String ExRate_CONVERT_MODE_DIRECT

      另请参阅:
        常量字段值

    - #### ExRate_CONVERT_MODE_INDIRECT

          public static final java.lang.String ExRate_CONVERT_MODE_INDIRECT

      另请参阅:
        常量字段值

  - ### 构造器详细资料

    - #### BaseDataServiceHelper

          public BaseDataServiceHelper()

  - ### 方法详细资料

    - #### getExchangeRate

          public static java.math.BigDecimal getExchangeRate(java.lang.Long exchangeTableID,
                                                             java.lang.Long sourceCurrencyID,
                                                             java.lang.Long targetCurrencyID,
                                                             java.util.Date date)

      根据汇率表，源币，目标币和日期得到直接汇率 1.当希望得到最新汇率时，则设date为null; 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
      参数:
        `exchangetableID` - 汇率表ID
        `sourceCurrencyID` - 源货币ID
        `targetCurrencyID` - 目标货币ID
        `date` - 日期 格式yyyy-MM-dd
      返回:
        exchangeRate 汇率

    - #### getExchangeRate

          public static java.math.BigDecimal getExchangeRate(java.lang.Long exchangeTableID,
                                                             java.lang.Long sourceCurrencyID,
                                                             java.lang.Long targetCurrencyID,
                                                             java.lang.String convertMode,
                                                             java.util.Date date)

      根据汇率表，源币，目标币和日期得到汇率 1.当希望得到最新汇率时，则设date为null; 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
      参数:
        `exchangetableID` - 汇率表ID
        `sourceCurrencyID` - 源货币ID
        `targetCurrencyID` - 目标货币ID
        `convertMode` - 换算方式 1:直接汇率;2:间接汇率
        `date` - 日期 格式yyyy-MM-dd
      返回:
        exchangeRate 汇率

    - #### deleteFormGroup

          public IOperationResult deleteFormGroup(java.lang.Object[] ids,
                                                  GroupProp prop)

      用于树形列表删除分组节点
      参数:
        `ids` - 批量节点id
        `prop` - 分组属性
      返回:
        批量操作结果

    - #### treeNodeUpdate

          public boolean treeNodeUpdate(java.lang.Object currentId,
                                        java.lang.Object newParentId,
                                        GroupProp prop)

      用于树形列表更新节点
      参数:
        `currentId` - 当前节点id
        `newParentId` - 新的父节点id
        `prop` - 分组属性
      返回:
        操作结果

    - #### getWorkCalendar

          public kd.bos.dataentity.entity.DynamicObject getWorkCalendar(java.lang.Long orgId)

      描述：获取指定组织的工作日历。
      参数:
        `orgId` - 组织机构
      返回:
        DynamicObject 工作日历

    - #### getWorkCalendar

          public kd.bos.dataentity.entity.DynamicObject getWorkCalendar(java.lang.Long orgId,
                                                                        java.util.Date startDate,
                                                                        java.util.Date endDate)

      描述：获取指定组织,开始日期，结束日期的工作日历。
      参数:
        `orgId` - 组织机构
        `startDate` - 开始日期
        `endDate` - 结束日期
      返回:
        DynamicObject 工作日历

    - #### getVerifyOrgPropertyName

          public static java.lang.String getVerifyOrgPropertyName(java.lang.String entityType,
                                                                  java.lang.String operationKey)

      描述：获取实体操作的验权组织属性名
      参数:
        `entityType` - 实体标识
        `operationKey` - 操作标识
      返回:

    - #### getBaseDataCreaterOrgFilter

          public kd.bos.orm.query.QFilter getBaseDataCreaterOrgFilter(java.lang.String entityID,
                                                                      java.lang.Long orgID)

      获取基础资料创建组织过滤
      参数:
        `entityID` - 实体标识
        `orgID` - 组织机构ID
      返回:
        QFilter 过滤条件。类似于QFilter("createorg", "in", baseDataCreaterOrgSet)

    - #### getBaseDataFilter

          public static kd.bos.orm.query.QFilter getBaseDataFilter(java.lang.String entityID,
                                                                   java.lang.Long orgID)

      获取基础资料ID过滤
      参数:
        `entityID` - 实体标识
        `orgID` - 组织机构ID
      返回:
        QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdsSet)

    - #### getBaseDataProFilter

          public static kd.bos.orm.query.QFilter getBaseDataProFilter(java.lang.String entityID,
                                                                      java.lang.Long orgID,
                                                                      java.lang.String property)

      获取基础资料过滤
      参数:
        `entityID` - 实体标识
        `orgID` - 组织机构ID
        `property` - 过滤属性
      返回:
        QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdSet)

    - #### batchAssign

          public static void batchAssign(java.lang.String entityID,
                                         java.util.List<java.lang.Long> dataIDs,
                                         java.util.List<java.lang.Long> orgIDs)

      批量分配
      参数:
        `entityID` -
        `dataIDs` -
        `orgIDs` -

    - #### batchUnAssign

          public void batchUnAssign(java.lang.String entityID,
                                    java.lang.Long[] dataIDs,
                                    java.lang.Long[] orgIDs)

    - #### handleDisable

          public static void handleDisable(java.lang.String entityID,
                                           kd.bos.dataentity.entity.DynamicObject[] objs)

      描述：处理禁用基础资料时相关处理。
      参数:
        `entityID` - 实体标识
        `objs` - 待禁用的基础数据

    - #### handleEnable

          public static boolean handleEnable(java.lang.String entityID,
                                             kd.bos.dataentity.entity.DynamicObject[] objs)

      描述：处理启用基础资料时相关处理。
      参数:
        `entityID` - 实体标识
        `objs` - 待启用的基础数据

    - #### getAssignUseOrgSet

          public static java.util.List<java.lang.Long> getAssignUseOrgSet(kd.bos.dataentity.entity.DynamicObject dataInfo,
                                                                          java.lang.Long orgID,
                                                                          java.lang.Long createorgId)

      获取可分配的使用组织集合
      参数:
        `dataInfo` -
        `orgID` -
        `createorgId` -
        `useOrgSet` -

    - #### baseDataAssignHandler

          public static void baseDataAssignHandler(kd.bos.dataentity.entity.DynamicObject dataInfo,
                                                   java.lang.Long orgID,
                                                   java.lang.Long createorgId)

      描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
      参数:
        `dataInfo` - 基础数据信息对象
        `orgID` - 分配组织
        `createorgId` - 创建组织ID

    - #### baseDataAddnewHandler

          public static void baseDataAddnewHandler(kd.bos.dataentity.entity.DynamicObject dataInfo,
                                                   java.lang.Long createOrgID)

      描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
      参数:
        `dataInfo` - 基础数据信息对象
        `createOrgID` - 创建组织ID

    - #### baseDataOrgChangeHandler

          public static void baseDataOrgChangeHandler(kd.bos.dataentity.entity.DynamicObject dataInfo)

      描述：管理权转让时，确定使用组织并更新对应的使用关系表
      参数:
        `dataInfo` - 基础数据信息对象
        `orgID` - 创建组织ID

    - #### baseDataSubmitHandler

          public static void baseDataSubmitHandler(kd.bos.dataentity.entity.DynamicObject dataInfo,
                                                   java.lang.Long createOrgID)

      描述：基础数据提交时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
      参数:
        `dataInfo` - 基础数据信息对象
        `createOrgID` - 创建组织ID

    - #### getCtrlview

          public static kd.bos.dataentity.entity.DynamicObject getCtrlview(java.lang.String entityID)

      查询获取视图信息
      参数:
        `entityID` -
      返回:

    - #### baseDataDeleteHandler

          public static void baseDataDeleteHandler(kd.bos.dataentity.entity.DynamicObject dataInfo,
                                                   java.lang.Long orgID)

      描述：删除基础数据时基础数据使用登记表处理 删除数据后需要清除该条基础数据的使用关系表和个性化排除表记录；
      参数:
        `dataObj` - 删除的基础数据
        `orgID` - 创建组织ID

    - #### orgAddnewHandler

          public static void orgAddnewHandler(java.lang.Long orgId)

      1、根据管控视图在基础数据管控策略找到使用该视图的所有基础数据； 2、从某个基础数据的使用关系表中查找使用组织=新增组织所属管控单元并且控制策略=按管控单元逐级分配或按管控单元自由分配的记录； 3、如果找到则在使用关系表中增加新增组织的记录，如果没有则不处理； 4、存在多个基础数据时，按第2，3点逐一处理。
      参数:
        `orgInfo` - 组织单元信息对象

    - #### handleManageOrg

          public static void handleManageOrg(kd.bos.dataentity.entity.DynamicObject dataInfo)

      描述：处理管理费用组织。
      参数:
        `dataInfo` - 基础数据

    - #### getCtrlStrtgy

          public static kd.bos.dataentity.entity.DynamicObject getCtrlStrtgy(kd.bos.dataentity.entity.DynamicObject dataObj)

      描述：查找基础数据管控策略

    - #### getWorkCalendarVersion

          public java.lang.String getWorkCalendarVersion(java.lang.Long orgId)

    - #### isWorkDay

          public boolean isWorkDay(java.lang.Long orgId,
                                   java.util.Date date)

    - #### isRestDay

          public boolean isRestDay(java.lang.Long orgId,
                                   java.util.Date date)

    - #### isWeekendDay

          public boolean isWeekendDay(java.lang.Long orgId,
                                      java.util.Date date)

    - #### isWorkTime

          public boolean isWorkTime(java.lang.Long orgId,
                                    java.util.Date date)

    - #### getCalHolidays

          public int getCalHolidays(java.lang.Long orgId,
                                    java.util.Date arg0,
                                    java.util.Date arg1)

    - #### getCalRestDays

          public int getCalRestDays(java.lang.Long orgId,
                                    java.util.Date arg0,
                                    java.util.Date arg1)

    - #### getCalWorkDays

          public int getCalWorkDays(java.lang.Long orgId,
                                    java.util.Date arg0,
                                    java.util.Date arg1)

    - #### isHalfHolidays

          public java.lang.Boolean isHalfHolidays(java.lang.Long orgId,
                                                  java.util.Date arg0)

    - #### handleModify

          public static boolean handleModify(kd.bos.dataentity.entity.DynamicObject dataInfo)

      描述：处理受控基础数据修改。
      参数:
        `dataInfo` - 基础数据

    - #### getAssignDesOrgs

          public static java.util.List<java.lang.Long> getAssignDesOrgs(java.lang.Long srcOrgID,
                                                                        java.lang.String ctrlType,
                                                                        java.lang.Long orgViewID)

      描述：获取分配目标组织。 1、按当前基础数据的创建组织查找基础数据对应的基础数据管控策略，获取相关参数； 2、当控制策略=按管控单元逐级分配时，从基础数据的管控视图中获取当前组织的直接下级控制单元； 当控制策略=按组织逐级分配时，从基础数据的管控视图中获取当前组织的直接下级组织； 当控制策略=按管控单元自由分配时，从基础数据的管控视图中获取当前组织以外的所有控制单元； 当控制策略=按组织自由分配时，从基础数据的管控视图中获取当前组织以外的所有组织； 3、根据组织在当前基础数据的使用关系表中获取已分配组织； 4、将第2步的数据排除第3步的数据得到待分配组织；
      参数:
        `srcOrgID` - 分配源组织
        `ctrlType` - 控制类型
        `orgViewID` - 组织视图ID
      返回:
        List 分配目标组织

    - #### getCreateOrgList

          public static java.util.List<java.lang.Long> getCreateOrgList(java.lang.String entity)

      获取单据可选的创建组织集合

    - #### getBdCtrlOrgs

          public static java.util.List<java.lang.Long> getBdCtrlOrgs(java.lang.String entity)

      根据实体获取基础数据管控策略的创建组织

    - #### getBdCtrlStrgy

          public static java.lang.String getBdCtrlStrgy(java.lang.String entity,
                                                        java.lang.String createOrg)

      获取控制策略
      返回:

    - #### getUseOrgFunc

          public static java.lang.String getUseOrgFunc(java.lang.String entity)

      获取使用组织的组织职能
      参数:
        `entity` -
      返回:

    - #### getCtrlStgyViewSchema

          public static java.lang.String getCtrlStgyViewSchema(java.lang.String entity)

      获取控制策略的管控视图
      参数:
        `entity` -
      返回:

    - #### chectDuplicate

          public static java.lang.Boolean chectDuplicate(java.lang.String entityType,
                                                         java.util.Map<java.lang.String,java.lang.String> chectProperties,
                                                         java.lang.Long orgID,
                                                         java.lang.Long dataID)

      描述：检查基础数据是否存在重复
      参数:
        `entityType` - 实体类型ID
        `chectProperties` - 检查属性,如 key = "number", value = "A001";key = "name", value = "AAA"
        `orgID` - 使用组织ID
        `dataID` - 基础数据ID
      返回:
        Boolean true：有重复；false：没有重复

    - #### chectDuplicate

          public static java.lang.Boolean chectDuplicate(java.lang.String entityType,
                                                         java.lang.Long orgID,
                                                         java.util.List numberList)

      描述：检查目标组织是否存在相同编码的基础数据
      参数:
        `entityType` - 实体类型ID
        `orgID` - 使用组织ID
        `numberList` - 基础数据编码列表
      返回:
        Boolean true：有重复；false：没有重复

    - #### getMaterialMU

          public static kd.bos.dataentity.entity.DynamicObject getMaterialMU(java.lang.Long materialId,
                                                                             java.lang.Long muId)

      获取物料转换单位
      参数:
        `materialId` - 物料ID
        `muId` - 计量单位ID
      返回:
        DynamicObject 物料多计量单位

    - #### getMaterialMUConvertType

          public static java.lang.String getMaterialMUConvertType(java.lang.Long materialId,
                                                                  java.lang.Long muId)

      获取物料转换单位换算类型服务
      参数:
        `materialId` - 物料ID
        `muId` - 计量单位ID
      返回:
        String 换算类型 "1":固定 ; "2":浮动

    - #### getAssistMUListResult

          public static java.util.List<java.lang.Long> getAssistMUListResult(java.lang.Long materialId,
                                                                             java.lang.Long srcmuId,
                                                                             java.lang.String convertType)

    - #### getMUConv

          public static kd.bos.dataentity.entity.DynamicObject getMUConv(java.lang.Long materialId,
                                                                         java.lang.Long srcmuid,
                                                                         java.lang.Long desmuid)

      获取单位换算率
      参数:
        `srcmuid` - 原目标单位ID
        `desmuid` - 目标单位ID
      返回:
        换算率动态对象

    - #### getDescMU

          public static java.util.List<java.lang.Long> getDescMU(java.lang.Long materialId,
                                                                 java.lang.Long srcMUid)

      获取辅助单元
      参数:
        `materialId` - 物料ID
        `srcmuid` - 源单位ID
      返回:
        辅助单元ID列表

    - #### getDesmuCount

          public static double getDesmuCount(java.lang.Long materialId,
                                             java.lang.Long srcmuid,
                                             double srcmuCount,
                                             java.lang.Long desmuid)

      获取目标单位数量
      参数:
        `srcmuid` - 原目标单位ID
        `srcmuCount` - 原目标单位数量
        `desmuid` - 目标单位ID
      返回:
        目标单位数量

    - #### getDesmuCount

          public static java.math.BigDecimal getDesmuCount(java.lang.Long materialId,
                                                           java.lang.Long srcmuid,
                                                           java.math.BigDecimal srcmuCount,
                                                           java.lang.Long desmuid)

      获取目标单位数量
      参数:
        `srcmuid` - 原目标单位ID
        `srcmuCount` - 原目标单位数量
        `desmuid` - 目标单位ID
      返回:
        目标单位数量

    - #### getMaxComDiv

          public static int getMaxComDiv(int num1,
                                         int num2)

      求最大公约数
      参数:
        `num1` -
        `num2` -
      返回:

    - #### isAssignData

          public static boolean isAssignData(java.lang.String number,
                                             java.lang.Object primaryKeyValue,
                                             java.lang.Long useOrgId)

      是否分配的数据

    - #### getBaseData

          @Deprecated
          public static kd.bos.dataentity.entity.DynamicObject getBaseData(java.lang.String entityID,
                                                                                        java.lang.Long orgID,
                                                                                        java.lang.String number,
                                                                                        java.lang.String selectFields)

      已过时。
      获取基础资料
      参数:
        `entityID` - 实体标识
        `orgID` - 组织机构ID
        `number` -
        `selectFields` -
      返回:
        dataObj

    - #### queryBaseData

          public static kd.bos.dataentity.entity.DynamicObjectCollection queryBaseData(java.lang.String entityID,
                                                                                       java.lang.Long orgID,
                                                                                       kd.bos.orm.query.QFilter filter,
                                                                                       java.lang.String selectFields)

      获取基础资料
      参数:
        `entityID` - 实体标识
        `orgID` - 组织机构ID
        `number` -
        `selectFields` -
      返回:
        dataObj

    - #### getBaseDataCtrlPlugin

          public static IBaseDataCtrlPlugin getBaseDataCtrlPlugin(java.lang.String entityType)

      描述：获取基础数据控制插件
      参数:
        `entityType` - 实体标识
      返回:
        IBaseDataCtrlPlugin 基础数据控制插件