申请明细更新接口
说明
该接口用于进行申请单申请更新, 用于更新已关联申请单的申请明细。
注意事项
- 该接口为部分失败。例如一次更新5条明细,其中一条失败,不会影响其他四条数据的正常更新。
- 每次更新最大值为10条明细,超过会提示支持最大值10条。
- 更新的明细需要满足:a.已关联申请单 b.关联的申请单属于草稿状态或驳回至可编辑状态.
- 明细更新传值,若不传则默认复用原值,传则按最新值进行更新。
- 以下特殊费用字段全覆盖且以最新传值进行更新,不复用旧值:
- customObject(自定义字段信息)
- 根据返回的integrity可以识别该费用是否必填项传入完整:
- true:所有必填项均传入成功
- false:存在必填项未传入
接口地址
/api/openapi/receive/application/expense/update
请求类型
POST
请求参数
请求参数说明
| 字段名 | 类型 | 说明 | 必填性 |
|---|---|---|---|
| employeeId | String | 需要导入的对应员工的工号 | 是 |
| applicationTemps | List<ReceivedApplicationExpenseUpdateTemp> | 明细表单 | 是 |
ReceivedApplicationExpenseUpdateTemp明细表单
| 字段名 | 类型 | 说明 | 必填性 |
|---|---|---|---|
| consumeAmount | AmountInput | 费用金额 | 否 |
| expenseTypeBizCode | String | 费用类型业务编码 | 否 |
| consumeTime | DateInput | 消费时间 | 否 |
| consumeLocation | CityInput | 消费地点 | 否 |
| headcount | int | 总人数 | 否 |
| hotel | String | 酒店名称 | 否 |
| trainSeat | String | 火车席位: BUSINESS-商务座 SPECIAL-特等座 FIRST-一等座 SECOND-二等座 SOFT_SLEEPER-软卧 ADVANCED_SOFT_SLEEPER-高级软卧 HARD_SLEEPER-硬卧 SOFT-软座 HARD-硬座 STANDING-无座 |
否 |
| airClass | String | 飞机舱位: FIRST-头等舱 BUSINESS-商务舱 ECONOMY-经济舱 |
否 |
| shipClass | String | 轮船舱位: VIP-贵宾舱 SPECIAL-特等舱 FIRST-一等舱 SECOND_A-二等A SECOND_B-二等B THIRD_A-三等A THIRD_B-三等B ECONOMY-经济舱 |
否 |
| allocationList | List<ApplicationExpenseAllocation> | 分摊列表 | 否 |
| allocationRuleBizCode | String | 分摊规则外码,分摊列表不为空则必填 | 否 |
| noTaxSuiteTemp | NoTaxInput | 不含税组件 | 否 |
| invoiceType | String | 发票类型(预提费用可填:VAT_SPECIAL_INVOICE -- 增值税专用发票;VAT_GENERAL_INVOICE --增值税普通发票;NO_INVOICE -- 无票) | 否 |
| tradingPartnerBizCode | String | 往来单位编码 | 否 |
| customObject | CustomObject | 自定义普通字段 | 否 |
ApplicationExpenseAllocation分摊表单
| 字段名 | 类型 | 说明 |
|---|---|---|
| allocatedAmount | number | 分摊金额 |
| allocatedRatio | number | 分摊比例 |
| legalEntityBizCode | String | 公司抬头业务编码 |
| coverUserNo | String | 承担人工号 |
| coverDepartmentBizCode | String | 承担部门编码 |
| customObject | CustomObject | 自定义普通字段 |
请求参数样例
{
"employeeId": "XXXXX",
"applicationTemps": [
{
"bizCode": "AEXXXXXXXXXX",
"consumeAmount": {
"currency": "CNY",
"amount": 100
},
"consumeTime": {
"currentTime": 1773385456448
},
"expenseTypeBizCode": "ETXXXXXXXXXX",
"consumeLocation": {
"location": "XXXXX"
},
"hotel": "text hotel",
"headcount": 100,
"airClass": "FIRST",
"shipClass": "THIRD_B",
"trainSeat": "HARD",
"allocationList": [
{
"allocatedAmount": 50,
"allocatedRatio": 0.5,
"legalEntityBizCode": "ELCXXXXXXXXXX1",
"coverUserNo": "XXXXX1",
"coverDepartmentBizCode": "DIXXXXXXXXXX1"
},
{
"allocatedAmount": 50,
"allocatedRatio": 0.5,
"legalEntityBizCode": "ELCXXXXXXXXXX2",
"coverUserNo": "XXXXX2",
"coverDepartmentBizCode": "DIXXXXXXXXXX2"
}
],
"allocationRuleCode": "ALRXXXXXXXXXX",
// "allocationRuleBizCode": "ALRXXXXXXXXXX",
"noTaxSuiteTemp": {
"taxRate": "0.13",
"taxAmount": "13.00",
"nonTaxAmount": "87.00"
},
"invoiceType": "NO_INVOICE",
"tradingPartnerBizCode": "TRPXXXXXXXXXX",
"customObject": {
"CF905": "XXXXX",
"CF720": "XXXXX"
}
}
]
}
响应参数
响应参数说明
| 字段 | 字段类型 | 字段说明 |
|---|---|---|
| code | String | 返回结果 |
| message | String | 返回提示 |
| data | Json | 返回结果 |
| success | boolean | 是否成功 |
参数样例
- 正常响应参数示例
{
"code": "ACK",
"message": "操作成功",
"data": {
"errorData": [],
"successData": [
{
"idx": null,
"expenseCode": "AE11111",
"bizCode": null,
"integrity": true
}
]
},
"requestId": null,
"errorCode": null,
"success": true
}
- 每刻校验异常响应参数示例
{
"code": "NACK",
"message": "操作失败!",
"data": {
"errorData": [
{
"idx": 0,
"key": "EXPCODE001",
"errorCode": "10000",
"errorMessage": "参数错误"
}
],
"successData": [
{
"expenseCode": "EXPCODE002",
"integrity": true
}
]
},
"success": false
}
修改记录
2026-03-13 新增申请单明细更新接口文档