# 预算管理模块

API域名以及签名 统一签名

联系人: admin

全局响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 返回数据
message String 错误信息

# 一、余额查询接口 | BPM

# 1、预算部门余额查询

(1)接口地址:/open/budget/dept/balance

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
deptCode String true 部门编码
subjectCode String true 科目编码

(6)请求示例:

{
  "deptCode": "",
  "subjectCode": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 返回数据
└ budgetAvailableBalanceAmount Number 预算可用余额
└ controlCycleCode Integer 控制周期编码(1:月度 2:季度 3:年度)
└ controlCycleDesc String 预算周期描述,2022年10月/2022年Q3/2022年
└ controlCycleName String 控制周期名称
└ controlStrategyCode Integer 预算控制策略编码(1:超预算禁止,2:超预算提醒,3:超预算审批)
└ controlStrategyName String 预算控制策略编码名称
└ deptCode String 部门编码
└ subjectCode String 科目编码
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": {
    "budgetAvailableBalanceAmount": 0,
    "controlCycleCode": 0,
    "controlCycleDesc": "",
    "controlCycleName": "",
    "controlStrategyCode": 0,
    "controlStrategyName": "",
    "deptCode": "",
    "subjectCode": ""
  },
  "message": ""
}

# 2、预算项目余额查询

(1)接口地址:/open/budget/project/balance

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
projectCode String true 项目编码

(6)请求示例:

{
  "projectCode": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 返回数据
└ availableBalanceAmount Number 项目预算余额
└ controlStrategyCode Integer 项目控制策略编码
└ controlStrategyName String 项目控制策略名称
└ projectCode String 项目编码
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": {
    "availableBalanceAmount": 0,
    "controlStrategyCode": 0,
    "controlStrategyName": "",
    "projectCode": ""
  },
  "message": ""
}

# 3、资金计划余额查询

(1)接口地址:/open/fundsplan/dept/balance

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
deptCode String false 传递预算管理二级或三级部门编码即可,由预算管理系统解析为资金计划的末级部门编码
queryDate String false 查询日期 申请及审批节点:预计付款日期 出纳审批/付款节点:当前日期

(6)请求示例:

{
  "deptCode": "",
  "queryDate": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 返回数据
└ onTheWayAmount Number 在途金额
└ plannedAmount Number 计划金额
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": {
    "onTheWayAmount": 0,
    "plannedAmount": 0
  },
  "message": ""
}

# 二、控制接口 | BPM

# 1、付款申请

(1)接口地址:/open/paymentApplication

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
billNo String false 单据号
bpmProcessCode String true 流程单号
contractFinish Integer false 合同是否完结 1:完结 0:未完结
contractNo String true 合同编码(传递飞书合同的合同ID, 飞书那边的contract_id字段)
createUserId String false 申请人id
createUserName String false 申请人名称
deptCode String true 部门编码
executeTime String true 执行时间(发起时间 或 审核时间 或 付款时间)
mainContractNo String true 主合同ID(传递飞书合同的合同组ID字段 飞书那边的group_id字段)
paymentAmount Number true 付款金额
paymentNode Integer true 付款节点 1:付款申请提交(付款之前调用) 2:付款申请审批不通过(仅在审核不通过之后调用) 3:付款成功(出纳付款之后回调)
processType Integer true 流程类型 1:项目+合同预算流程 2:合同预算流程----有部门,无项目 3:项目付款流程----付款申请有关联项目 4:付款流程----付款申请未关联项目,且未关联合同 对接BPM时,BPM可不传,由预算根据项目/科目/部门编码是否传递来解析,但是这个字段预留
projectCode String true 项目编码
releaseAmount Number false 需要释放的金额(即无需履约的金额)
subjectCode String true 科目编码

(6)请求示例:

{
  "billNo": "",
  "bpmProcessCode": "",
  "contractFinish": 0,
  "contractNo": "",
  "createUserId": "",
  "createUserName": "",
  "deptCode": "",
  "executeTime": "",
  "mainContractNo": "",
  "paymentAmount": 0,
  "paymentNode": 0,
  "processType": 0,
  "projectCode": "",
  "releaseAmount": 0,
  "subjectCode": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 返回数据
└ message String 执行结果的消息描述
└ result Boolean 执行结果
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": {
    "message": "",
    "result": true
  },
  "message": ""
}

# 2、立项及预算调整

(1)接口地址:/open/projectInitiationAndBudgetAdjustment

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
approvalResults Integer true 审核结果:1:成功 2:失败
bpmProcessCode String true 流程单号
createUserId String false 申请人id
createUserName String false 申请人名称
sceneNode Integer true 执行场景:1:部门预算调整(调增调减)审批 2:部门预算调拨审批 3:项目立项发起审批 4:项目预算调整(调增调减)审批

(6)请求示例:

{
  "approvalResults": 0,
  "bpmProcessCode": "",
  "createUserId": "",
  "createUserName": "",
  "sceneNode": 0
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data Object 无返回数据
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": {},
  "message": ""
}

# 三、查询接口 | BPM

# 1、预算部门列表查询

(1)接口地址:/open/budget/dept/list

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
deptCode String false 项目部门
deptName String false 项目名称

(6)请求示例:

{
  "deptCode": "",
  "deptName": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data List 部门查询结果列表
└ fsDeptCode String 飞书部门编码
└ fsDeptName String 飞书部门名称
└ label String 预算末级部门名称
└ value String 预算末级部门编码
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": [
    {
      "fsDeptCode": "",
      "fsDeptName": "",
      "label": "",
      "value": ""
    }
  ],
  "message": ""
}

# 2、预算项目列表查询

(1)接口地址:/open/budget/project/list

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
deptCode String false 项目部门

(6)请求示例:

{
  "deptCode": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data List 项目查询结果列表
└ label String 部门名称
└ value String 部门编码
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": [
    {
      "label": "",
      "value": ""
    }
  ],
  "message": ""
}

# 3、预算科目列表查询

(1)接口地址:/open/budget/subject/list

(2)请求方式:POST

(3)请求数据类型:application/json

(4)响应数据类型:application/json

(5)请求参数:

参数名称 数据类型 是否必须 参数说明
contractId String false 合同ID

(6)请求示例:

{
  "contractId": ""
}

(7)响应参数:

参数名称 数据类型 参数说明
code Integer 0:成功 其他失败
data List 预算科目列表
└ label String 预算科目名称
└ value String 预算科目编码
message String 错误信息

(8)响应示例:

{
  "code": 0,
  "data": [
    {
      "label": "",
      "value": ""
    }
  ],
  "message": ""
}