同步外部系统预算占用金额
- 接口:/budget/external/total/used
- Method: POST
- 数据格式:JSON
- 请求参数:
- 描述:接口采用部分失败的同步机制,通过校验的记录会同步到每刻系统,校验失败的记录会被返回,期望接收的记录:已使用金额发生了改变的预算单元,而不是所有的预算单元;
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
budgetYear | String | Y | 预算的年度,例如2017,2018等 |
budgetTargetBizCode | String | Y | 预算主体的业务编码(项目、部门、业务实体、个人) |
budgetaryAccountBizCode | String | Y | 三级预算科目的业务编码 |
budgetPeriodSeq | int | Y | 预算的期数(如:第一期的值为:1 ) |
usedAmount | BigDecimal | Y | 预算单元的总使用金额 = 外部系统总占用金额 + 每刻总占用金额 |
subsidiaryBizCode | String | N | 业务实体编码(如果编制部门预算是通过组织架构编制接口编制,且预算主体为部门时,需要传入业务实体编码) |
- 返回参数:
字段 | 描述 |
---|---|
code | “ACK”代表操作成功,“NACK”代表操作失败 |
message | 显示操作失败的原因 |
data | 操作失败的数据 |
- 请求示例:
成功的请求
{ "timestamp":"1488522206", "data": [ { "budgetYear":"2020", "budgetTargetBizCode":"DI2002241IMABOWW", "budgetaryAccountBizCode":"BGTA2004201MT8H9YG", "budgetPeriodSeq":"2", "subsidiaryBizCode":"", "usedAmount":"165" }, { "budgetYear":"2020", "budgetTargetBizCode":"DI2002241IMABO1T", "budgetaryAccountBizCode":"BGTA2004201MT8H9YG", "budgetPeriodSeq":"2", "subsidiaryBizCode":"", "usedAmount":"165" } ] }
部分失败的请求
{
"timestamp":"1488522206",
"data":
[
{
"budgetYear":"2020",
"budgetTargetBizCode":"123",
"budgetaryAccountBizCode":"BGTA2004201MT8H9YG",
"budgetPeriodSeq":"2",
"subsidiaryBizCode":"",
"usedAmount":"165"
},
{
"budgetYear":"2020",
"budgetTargetBizCode":"DI2002241IMABO1T",
"budgetaryAccountBizCode":"BGTA2004201MT8H9YG",
"budgetPeriodSeq":"2",
"subsidiaryBizCode":"",
"usedAmount":"165"
}
]
}
- 返回示例:
成功的返回
{ "code":"ACK", "message":"操作成功" }
部分失败的返回
{
"code": "NACK",
"message": "存在不合法数据,请求修改后重新提交",
"data": [
{
"budgetYear": "2020",
"budgetTargetBizCode": "123",
"budgetaryAccountBizCode": "BGTA2004201MT8H9YG",
"budgetPeriodSeq": 2,
"usedAmount": 165,
"subsidiaryBizCode": "",
"errorMsgs": [
"预算主体不存在"
]
}
],
"args": null,
"linkDetail": false,
"nonBizError": false
}
- 系统异常对照表
异常提示信息 | 描述 |
---|---|
* 预算年度为空 | 预算年度(budgetYear)为空时抛出 |
* 预算主体编码为空 | 预算主体编码(budgetTargetBizCode)为空时抛出 |
* 预算科目编码为空 | 预算三级科目编码(budgetaryAccountBizCode)为空时抛出 |
* 预算期数不正确 | 预算期数(budgetPeriodSeq)不在0-12之间 |
* 预算单元已使用金额为空 | 预算单元总使用金额(usedAmount)为空 |
* 业务实体编码:[xx1]不存在 | 业务实体编码(subsidiaryBizCode)不存在 |
* 预算主体编码:[xx1]不存在 | 预算主体编码(budgetTargetBizCode)不存在 |
* 预算科目编码:[xx1]不存在 | 预算科目编码(budgetaryAccountBizCode)不存在 |
* 预算期间不存在 | 预算期间(budgetPeriodSeq)不存在 |
* 没有找到对应的预算单元 | 根据预算主体(budgetTargetBizCode),预算科目(budgetaryAccountBizCode),预算期间(budgetPeriodSeq) 没有找到对应的预算单元(没有编制对应预算单元的预算) |
* 没有生效的预算单元 | 找到的预算单元没有生效版本 |