预算控制(微服务API)
预算控制特批接口说明
1、 预算控制特批接口 specialBudget
简要描述:
因同一预算科目,部分单据控制的时候需要严控,部分单据可能需要非严控,特提供此接口实现。该接口需要控制方式配置为不允许超预算,需要严控的单据,走标准的申请预算的接口,不需要严控制的走特批接口(该接口是执行操作,非占用操作,占用操作特批暂未验证) 接口会根据控制过程方案里单据的执行时机/占用时机和传入的操作编码是否匹配,来实现单据的具体行为。
调用方式:
DispatchServiceHelper.invokeBizService();
参数类型:
参数名 | 必选 | 类型 | 说明 |
cloudId | 是 | String | 服务所属云,预算接口固定"epm" |
appId | 是 | String | 服务所属应用,预算接口固定"eb" |
serviceName | 是 | String | 服务名,预算控制的接口固定"BgControlService" |
methodName | 是 | String | 调用方法名,执行传"specialBudget" |
param | 是 | DynamicObject | 单据对象,通过单据元数据查询出来的单据对象,包含单据所有字段 |
operationKey | 是 | String | 单据操作编码,因该接口是特殊操作(参见下文) |
请求方式:
DynamicObjec dynamicObject=BusinessDataServiceHelper.load(billId,"er_dailyreimbursebill");
String jsonStr = DispatchServiceHelper.invokeBizService("epm","eb", "BgControlService", " specialBudget ", dynamicObject,"submit");
返回结果:
{
"result": "PASS",
"cause": "执行不成功原因"
}
operationKey:
因该操作是特殊操作,需要在单据上注册一个特批操作,该操作不能在界面上显示(如果是单据上的按钮,则标准逻辑会走request操作,而不是特批)。在控制过程方案中配置执行操作为这个新增的特批操作。同时在单据相应执行时机时加上示例中的调用代码以实现特批功能。
查询预算控制数据接口说明
2、 查询预算维度成员的预算数,占用数,执行数,余额
简要描述:
传入体系ID,预算维度成员,控制方式等信息调用服用微服务实现类(现有版本暂未提供微服务接口)来查询指定成员的预算数,占用数,执行数,余额。
参数类型:
参数名 | 必选 | 类型 | 说明 |
cloudId | 是 | String | 服务所属云,预算接口固定"epm" |
appId | 是 | String | 服务所属应用,预算接口固定"eb" |
serviceName | 是 | String | 服务名,预算控制的接口固定"BgControlService" |
methodName | 是 | String | 调用方法名,执行传" queryBalanceWithoutCentralized " |
modelId | 是 | Long | 预算体系ID |
members | 是 | List<Map<String, String>> | 维度成员,格式具体参考下面 |
types | 是 | Collection<String> | 控制方式,参考BgControlSettingTypeEnum |
hasSetQueryRule | 是 | Boolean | 该参数暂时只支持false |
备注:
示例中是直接调用预算微服务类,可以通过DispatchServiceHelper.invokeBizService()调用。
维度成员:
[{Entity=01, Account=OY48.05, Version=ACTUAL, ChangeType=CurrentPeriod, Currency=CNY, DataType=Budget, Metric=Money, BudgetPeriod=FY2022.M04, AuditTrail=ATTotal}, {Entity=01, Account=OY48.11, Version=ACTUAL, ChangeType=CurrentPeriod, Currency=CNY, DataType=Budget, Metric=Money, BudgetPeriod=FY2022.M04, AuditTrail=ATTotal}]
该List每一行即查询的一组数据,Map的内容 Key = 维度编码, Value = 维度成员编码 控制方式:比如 MONTH,MONTY_ADDUP 返回结果: 计算时会根据维度成员以及控制方式进行笛卡尔积进行计算,计算完后需要根据返回的维度成员信息以及控制方式进行提取相应值。
一些必选维度Entity、Account、Version、ChangeType、Currency、DataType、Metric、BudgetPeriod、AuditTrail不能为空。同时Map中Value不能为空。
返回示例:
调用示例:
预算控制(微服务API)
本文2024-09-22 23:08:12发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-131108.html