组织架构预算编制(仅支持自下而上编制)
- 接口:/budget/formulate/department
- Method: POST
- 数据格式:JSON
- 描述:不传入的科目视为共享上级
- 请求参数:
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
budgetYear | String | Y | 预算的年度,例如2017,2018等 |
subsidiaryBizCode | String | Y | 需要编制预算的业务实体的业务编码 |
departmentBizCode | String | N | 需要编制预算的部门的业务编码 |
employeeId | String | N | 需要编制个人的员工工号 |
budgetaryAccountCode | String | Y | 三级预算科目的编码 |
budgetAmounts | BigDecimal[] | Y | 各期预算总金额。 校验规则一:大于等于0,小数点后位数不多于两位(多余位数舍弃); 校验规则二:数组的size必须与预算的科目的周期匹配, 周期=月度(size=12),周期=季度(size=4),周期=半年(size=2),周期=年度(size=1); 校验规则三:传给每刻的金额不能小于(每刻系统中已使用+已冻结) |
principalEmployeeId | String | N | 预算科目的负责人的工号,不填则没有预算负责人 |
- 返回参数:
字段 | 描述 |
---|---|
code | “ACK”代表操作成功,“NACK”代表操作失败 |
message | 显示操作失败的原因 |
data | 操作失败的数据 |
- 请求示例:
成功的请求
{ "data":[ { "budgetYear":"2017", "subsidiaryBizCode":"sub1", "departmentBizCode":"dep1", "employeeId":"001", "budgetaryAccountCode":"xiyi1", "budgetAmounts":[100,100,100,180], "principalEmployeeId":"007" },{ "budgetYear":"2017", "subsidiaryBizCode":"sub1", "departmentBizCode":"dep1", "employeeId":"001", "budgetaryAccountCode":"xiyi2", "budgetAmounts":[100,100,100,180], "principalEmployeeId":"007" } ], "timestamp":1497603851171 }
部分失败的请求
{
"data":[{
"budgetYear":"2017",
"subsidiaryBizCode":"sub1",
"departmentBizCode":"dep1",
"employeeId":"emp001",
"budgetaryAccountCode":"xiyi2",
"budgetAmounts":[100,100,100,180],
"principalEmployeeId":"007"
},{
"budgetYear":"2017",
"subsidiaryBizCode":"sub1",
"departmentBizCode":"dep1XXXXX",
"budgetaryAccountCode":"xiyi3",
"budgetAmounts":[100,100,100,180],
"principalEmployeeId":"007"
}],
"timestamp":1497603851171
}
- 返回示例:
成功的返回
{ "code":"ACK", "message":"操作成功" }
部分失败的返回
{
"code": "NACK",
"message": "存在不合法数据,请求修改后重新提交",
"data": [
{
"budgetYear": "2017",
"subsidiaryBizCode":"sub1",
"departmentBizCode":"dep1XXXXX",
"budgetaryAccountCode": "xiyi3",
"budgetAmounts": [
100,
100,
100,
180
],
"currency": "CNY",
"principalEmployeeId": "007",
"errorMsg": "部门业务编码不正确"
}
],
"args": null,
"linkDetail": false,
"nonBizError": false
}
- 系统异常提示对照表
异常提示 | 描述 |
---|---|
* 目前只支持在自下而上的预算编制方式下使用 | 企业的预算编制模式正确,只支持自下而上,如果出现该提示,请联系每刻小伙伴 |
* 时间戳小于之前的请求 | 请求时,对请求时间(timestamp)的校验,每刻的请求时间戳精确到毫秒 |
* 数据为空 | 当传入的编制预算的集合(data)为空时抛出 |
* 业务实体不能为空 | 业务实体编码(subsidiaryBizCode)为空时抛出 |
* 年份为必填项 | 年度(budgetYear)为空时抛出 |
* 预算年份异常 | 没有设置该年度(budgetYear)的预算期间 |
* 预算科目编码为必填项 | 三级预算科目(budgetaryAccountCode)为空时抛出 |
* 金额为必填项 | 各期预算总金额(budgetAmounts)为空时抛出 |
* 金额需要>=0 | 预算编制的总金额(budgetAmounts)存在小于0时抛 |
* 业务实体编码不正确 | 业务实体编码(subsidiaryBizCode)不存在时抛出 |
* 部门编码不正确 | 部门编码(departmentBizCode)不存在时抛出 |
* 部门与业务实体不匹配 | 部门(departmentBizCode)不属于选择的业务实体(subsidiaryBizCode)时抛出 |
*不存在工号为 xx1 的员工 | 预算负责人工号(principalEmployeeId)不正确是抛出 |
* 期数不正确 | 填入的(budgetAmounts)不能对应到每一期时抛出(预算期间总数年度:共1期、半年:共2期、季度:共4期、月度:共12期) |
* 预算总额+转入金额低于已被使用预算总和 | 预算编制的总金额(budgetAmounts)中存在预算总额小于已使用总额的期数 |
* 系统异常 | 系统未知异常 |