预算科目批量匹配查询接口
说明
该接口用于批量匹配预算科目。每组匹配条件通过 resourceCode 回填结果,单组参数校验失败不会影响其他组。
注:
- 预算科目匹配时,配置条件需要与入参全等才会命中。
- 若仅传费用类型,则仅返回费用类型命中且未配置自定义档案条件的预算科目。
- 若同时传费用类型和自定义档案,则仅返回费用类型命中且自定义档案条件有交集的预算科目。
- 某组没有匹配到预算科目时,会在
matchResult 中返回空数组。
- 某组参数错误时,不进入
matchResult,失败原因会进入 errorResult。
接口地址
/api/openapi/budget/subject/batch/match
请求类型
POST
请求参数
参数说明
| 字段名称 |
类型 |
是否必填 |
字段说明 |
默认值 |
| matchParam |
List<BudgetSubjectBatchMatchParam> |
是 |
多组预算科目匹配条件 |
BudgetSubjectBatchMatchParam
| 字段名称 |
类型 |
是否必填 |
字段说明 |
默认值 |
| resourceCode |
String |
是 |
单组请求唯一标识,用于结果回填 |
|
| expenseTypeBizCodes |
List<String> |
是 |
费用类型业务编码列表 |
|
| referenceDataDetailBizCodes |
List<String> |
否 |
自定义档案明细业务编码列表 |
约束说明
matchParam 不能为空。
matchParam 单次最多支持 100 组。
- 每组
resourceCode 必填,建议同一请求内不重复。
- 单组
expenseTypeBizCodes 不能为空。
参数样例
{
"matchParam": [
{
"resourceCode": "line-001",
"expenseTypeBizCodes": ["TRAVEL"],
"referenceDataDetailBizCodes": ["PROJECT_A"]
},
{
"resourceCode": "line-002",
"expenseTypeBizCodes": ["MEAL"],
"referenceDataDetailBizCodes": ["PROJECT_B"]
}
]
}
响应参数
响应参数说明
| 参数名称 |
类型 |
是否必填 |
参数说明 |
默认值 |
| matchResult |
Map<String, List<BudgetSubjectMatchResp>> |
否 |
匹配成功结果,key 为请求中的 resourceCode |
|
| errorResult |
Map<String, BudgetSubjectBatchMatchErrorResp> |
否 |
匹配失败结果,key 为请求中的 resourceCode |
BudgetSubjectMatchResp
| 参数名称 |
类型 |
是否必填 |
参数说明 |
默认值 |
| expenseTypeBizCode |
String |
否 |
费用类型业务编码 |
|
| budgetSubjects |
List<BudgetSubject> |
否 |
匹配到的预算科目信息 |
BudgetSubject
| 参数名称 |
类型 |
是否必填 |
参数说明 |
默认值 |
| code |
String |
否 |
预算科目的唯一主键 |
|
| bizCode |
String |
否 |
预算科目的业务编码 |
|
| name |
String |
否 |
预算科目名称(国际化后) |
|
| parentCode |
String |
否 |
预算科目类别编码 |
|
| parentName |
String |
否 |
预算科目类别名称 |
BudgetSubjectBatchMatchErrorResp
| 参数名称 |
类型 |
是否必填 |
参数说明 |
默认值 |
| errorCode |
String |
否 |
错误码 |
|
| errorMessage |
String |
否 |
错误信息 |
参数样例
{
"code": "ACK",
"message": "",
"data": {
"matchResult": {
"line-001": [
{
"expenseTypeBizCode": "TRAVEL",
"budgetSubjects": [
{
"code": "BS001",
"bizCode": "TRAVEL_SUBJECT",
"name": "差旅费",
"parentCode": "P001",
"parentName": "费用类"
}
]
}
],
"line-002": []
},
"errorResult": {
"line-003": {
"errorCode": "BUDGET_SUBJECT_MATCH_PARAM_ERROR",
"errorMessage": "费用类型编码不存在:UNKNOWN"
}
}
},
"success": true
}