单一维度个人预算编制

  • 接口:/budget/single/formulate/personal

  • Method: POST

  • 数据格式:JSON

  • 请求参数:

参数 类型 是否必填 描述
budgetYear String Y 预算的年度,例如2017,2018等
budgetTargetBizCode String Y 需要编制预算的个人工号
budgetaryAccountCode String Y 三级预算科目的编码
budgetAmounts BigDecimal[] Y 各期预算总金额。 校验规则一:大于0,小数点后位数不多于两位;
校验规则二:数组的size必须与预算的科目的周期匹配,周期=月度(size=12),
周期=季度(size=4),周期=半年(size=2),周期=年度(size=1);
校验规则三:传给每刻的金额不能小于(每刻系统中已使用+已冻结)
currency String N 默认CNY,其他值需要与我们系统的币种符号匹配,币种跟随员工,如果同一个员工两次币种不同,只取第一次的值
principalEmployeeId String N 算科目的负责人的工号,不填则没有预算负责人
  • 返回参数:
字段 描述
code “ACK”代表操作成功,“NACK”代表操作失败
message 显示操作失败的原因
data 操作失败的数据
  • 请求示例:

成功的请求

{
  "data":[
    {
         "budgetYear":"2018",
         "budgetTargetBizCode":"EM1",
         "budgetaryAccountCode":"xiyi1",
         "budgetAmounts":[100,100,100,180],
         "currency":"CNY",
         "principalEmployeeId":"007"
     },{
         "budgetYear":"2018",
         "budgetTargetBizCode":"EM2",
         "budgetaryAccountCode":"xiyi2",
         "budgetAmounts":[100,100,100,180],
         "currency":"CNY",
         "principalEmployeeId":"007"
     }
  ],
  "timestamp":1497603851171
}

部分失败的请求

{
     "data":[{
         "budgetYear":"2018",
         "budgetTargetBizCode":"Em1",
         "budgetaryAccountCode":"xiyi2",
         "budgetAmounts":[100,100,100,180],
         "currency":"CNY",
         "principalEmployeeId":"007"
     },{
         "budgetYear":"2018",
         "budgetTargetBizCode":"EM2",
         "budgetaryAccountCode":"xiyi3",
         "budgetAmounts":[100,100,100,180],
         "currency":"CNY",
         "principalEmployeeId":"007"
     }],
     "timestamp":1497603851171
}
  • 返回示例:

成功的返回

{
  "code":"ACK",
  "message":"操作成功"
}

部分失败的返回

{
    "code": "NACK",
    "message": "存在不合法数据,请求修改后重新提交",
    "data": [
        {
            "budgetYear": "2018",
            "budgetTargetBizCode": "EM1",
            "budgetaryAccountCode": "xiyi3",
            "budgetAmounts": [
                100,
                100,
                100,
                180
            ],
            "currency": "CNY",
            "principalEmployeeId": "007",
            "errorMsg": "员工工号不正确"
        }
    ],
    "args": null,
    "linkDetail": false,
    "nonBizError": false
}
  • 系统异常对照表
异常提示 描述
* 时间戳小于之前的请求 请求时,对请求时间(timestamp)的校验,每刻的请求时间戳精确到毫秒
* 数据为空 当传入的编制预算的集合(data)为空时抛出
* 年份为必填项 年度(budgetYear)为空时抛出
* 预算年份异常 没有设置该年度(budgetYear)的预算期间
* 预算科目编码为必填项 三级预算科目(budgetaryAccountCode)为空时抛出
* 预算科目不正确 三级预算科目(budgetaryAccountCode)不存在时抛出
* 金额为必填项 各期预算总金额(budgetAmounts)为空时抛出
* 金额需要>=0 预算编制的总金额(budgetAmounts)存在小于0时抛
* 小数位数过多 当传入的金额小数位数大于2时抛出
* 员工工号为必填项 需要编制预算的员工的工号(budgetTargetBizCode)为空时抛出
* 员工工号不正确 需要编制预算的员工的工号(budgetTargetBizCode)不存在时抛出
* 币种无法匹配 当传入的预算币种(currency)没有在每刻中维护的时候抛出
* 预算负责人工号不正确 预算负责人工号(principalEmployeeId)不正确是抛出
* 预算期间类型不正确 填入的(budgetAmounts)不能对应到每一期时抛出(预算期间总数年度:共1期、半年:共2期、季度:共4期、月度:共12期)
* 预算总额+转入金额低于已被使用预算总和 预算编制的总金额(budgetAmounts)中存在预算总额小于已使用总额的期数
* 有重复数据 当传入参数里存在budgetYear + ":" + budgetTargetCode + ":" + budgetaryAccountCode完全相同的多条记录时抛出
* 系统异常 系统未知异常

results matching ""

    No results matching ""