普通消费申请的新增/修改
接口: /preconsume/save POST JSON
请求参数
参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
---|---|---|---|---|---|
businessCode | string | Y | Y | 单据号 | |
name | string | Y | 申请事由 | ||
userEmployeeId | string | Y | 报销人工号 | ||
departmentBizCode | string | Y | 所属部门编码 | ||
subsidiaryBizCode | string | Y | 所属业务实体编码 | ||
costTrackings | CostTracking数组 | 辅助核算 | |||
amount | BigDecimal | Y | 报销金额 | ||
approvedAmount | BigDecimal | Y | 批准金额 | ||
submittedAt | long | 单据提交时间 | |||
approvedAt | long | 单据审批时间 | |||
expenses | ExpenseDto数组 | N | 费用列表 (明细列表,由单据设置开关“消费明细为必填项”控制是否必填) | ||
userLoans | UserLoanDto数组 | 借款列表 | |||
handleList | List<String> | 经办人列表(单据小类开启添加经办人才会进行保存) | |||
correlationPattern | string | 费用关联消费申请单据(FEE_TO_PRE_CONSUME),或者消费申请费用(FEE_TO_PRE_CONSUME_FEE) | |||
formSubTypeBizCode | string | 单据类型编码 | |||
comments | string | 备注 | |||
customFormValues | CustomFormValue数组 | 自定义表单内容 (不支持自定义字段-附件) | |||
accompaniedUserList | AccompaniedUserDto数组 | 单据上的同行人 | |||
freezeBudget | boolean | 是否占用预算 注:仅支持申请单额度控制为"整体控制"的单据类型 | |||
budgetExecutingForm | BudgetExecutingForm | 占用预算的请求对象(当需要占预算的时候才填入这部分信息) | |||
acceptCcy | string | 申请币种,单据类型需开启"申请币种" |
备注
消费申请金额的币种使用的是传入的对应的业务实体本币;如开启"申请币种",且填写该参数,费用的币种为申请币种 冻结预算的金额为费用的批准金额
CostTracking 结构
参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
---|---|---|---|---|---|
costTrackingName | string | Y | 辅助核算名称 | ||
costTrackingItemBizCode | string | Y | 辅助核算选项编码 |
ExpenseDto 结构
参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
---|---|---|---|---|---|
feeTypeBizCode | string | Y | 费用类型编码 | ||
amount | BigDecimal | Y | 金额 | ||
approvedAmount | BigDecimal | Y | 批准金额 | ||
consumeTime | long | now() | 消费时间(不传默认为当前时间) |
UserLoanDto 结构
参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
---|---|---|---|---|---|
loanTypeBizCode | string | Y | 借款类型编码 | ||
loanAmount | BigDecimal | Y | 借款金额 | ||
loanTypeMode | string | 借款管理模式(POOL, FORM) | |||
currency | string | Y | 借款币种 | ||
loanRepaymentDate | long | 预计还款时间 |
UserLoanDto内容说明
借款类型必须是往来款类型-对私借款中维护的借款类型,对应的编码可以使用已禁用的借款类型
借款管理模式默认保持借款类型当前的管理模式;可选值:FORM、POOL
借款币种,对于单据化借款,币种必须为业务实体的报销币种;对于池化借款,只可传入业务实体本币
对于预计还款时间,单据化借款必填,池化借款不可填写
CustomFormValue 结构(详细说明请参考-自定义字段参数说明)
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
identifier | string | Y | 字段占位符 |
value | string | 字段内容 | |
detailFieldValues | List<Map<String,String>> | 明细类型字段 |
AccompaniedUserDto 结构
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
employeeId | string | Y | 员工工号 |
associateRuleName | string | Y | 同行人配置名称 |
name | string | 姓名 | |
rank | string | 职级 | |
department | string | 部门 | |
company | string | 公司 | |
identityNo | string | 证件号 | |
firstName | string | 英文名firstName | |
middleName | string | 英文名middleName | |
lastName | string | 英文名lastName |
当传入的同行人配置是内部同行人时,employeeId为必填
BudgetExecutingForm结构
参数 | 类型 | 是否必填 | 描述 |
---|---|---|---|
budgetaryAccountBizCode | String | Y | 预算三级科目业务编码 |
budgetEntryTargetType | String | Y | 目标预算类型,可选值为:SUBSIDIARY - 业务实体预算, DEPARTMENT - 部门预算, AUX_ACCOUNTING - 项目预算, PERSONAL - 个人预算 |
budgetAttributionDate | Date | Y | 预算归属日期 |
auxAccountingBizCode | String | N | 项目预算的项目编码,当目标预算类型为AUX_ACCOUNTING时,需要传入此参数 |
employeeId | String | N | 个人预算的员工工号,当目标预算类型为PERSONAL时,需要传入此参数 |
departmentBizCode | String | N | 部门预算的部门编码,当目标预算类型为DEPARTMENT时, 需要传入此参数,当使用部门预算时,如果预算业务实体编码为空, 使用不带业务实体的部门预算,如果有值则使用带业务实体的部门预算 |
subsidiaryBizCode | String | N | 业务实体预算的业务实体编码,当需要占业务实体预算或者是带有业务实体的部门预算 的时候需要传入此参数,并且值应该与合同的业务实体一致 |
返回参数
该接口采用单条失败的处理方式,即整批数据中,如果只有其中的几条因为各种原因失败,那么只有那几条数据不会被保存;其它的数据仍然会被正常处理;错误数据的主键(businessCode)会被放在errorData里面;
errorData为结构题, 包含出错记录主键(businessCode), 以及与之对应的出错信息; 类似 {"DH220160001": "部门不存在"}; 具体参见失败实例;
为保持向后兼容, data也会包含有和errorData相同的记录,但后续可能会改变;
示例:
请求数据
{
"timestamp": 1555567604000,
"data": [
{
"businessCode": "MK116",
"name": "测试消费申请接口导入的借款功能",
"userEmployeeId": "0001",
"departmentBizCode": "DI1807051G4YCUQP",
"subsidiaryBizCode": "SI18070220ITVO51",
"amount": 400,
"acceptCcy": "USD",
"approvedAmount": 300,
"submittedAt": 1555567604000,
"expenses": [
{
"feeTypeBizCode": "2003_03",
"amount": 400,
"approvedAmount": 300
}
],
"userLoans": [
{
"loanTypeBizCode": "0001",
"loanAmount": 100,
"loanTypeMode": "FORM",
"currency": "EUR",
"loanRepaymentDate": 1555567604
}
],
"handleList": ["UI2109011CLAU2YO","UI2109011D03Y4U8"],
"freezeBudget":true,
"budgetExecutingForm":{
"budgetaryAccountBizCode":"BGTA220509XF274L2",
"budgetEntryTargetType":"PERSONAL",
"budgetAttributionDate":"2023-01-01 12:00:00",
"departmentBizCode":"DI1241ASD",
"employeeId":"11000"
}
}
]
}
返回数据(成功)
{
"code": "ACK",
"message": "",
}
返回数据(失败)
{
"code": "NACK",
"errorData": {"DH220160001": "未知错误"}
}