docs(changelog): 报账详情补透出支出行凭证 voucherUrls + 审核流水 reviewLogs(#7790/#7791)
changelog-filename-gate / validate (push) Failing after 2s
changelog-filename-gate / validate (push) Failing after 2s
这个提交包含在:
@@ -0,0 +1,124 @@
|
|||||||
|
---
|
||||||
|
schema: "hl-changelog/v2"
|
||||||
|
ticket: "finance-reimburse-detail-lines-voucher-reviewlogs"
|
||||||
|
title: "报账详情补透出支出行凭证 voucherUrls + 审核流水 reviewLogs(复核留痕可追溯)"
|
||||||
|
consumer: "admin"
|
||||||
|
author: "yst(GIT)"
|
||||||
|
change_type: "修改接口"
|
||||||
|
backend_status: "deployed"
|
||||||
|
gateway_status: "verified"
|
||||||
|
frontend_status: "pending"
|
||||||
|
frontend_owner: ""
|
||||||
|
frontend_ref: ""
|
||||||
|
target_release: ""
|
||||||
|
verified_at: "2026-09-16"
|
||||||
|
status_note: "报账详情 GET /admin/finance/reimburses/{id} 出参两处增强(纯新增字段,无存量变更):①支出行明细 lines 每项补透出凭证附件 voucherUrls(Epic #7764 跨域映射此前未透传,复核核对垫付需看发票/收据影像);②详情新增 reviewLogs 审核流水(复核批准/退回/反审每次留痕,含操作人/时间/动作/意见/前后状态,单据反复审核可追溯,#7791)。已部署测试服并造数实证(BZ-202609160003:lines 8 行 voucherUrls 非空、reviewLogs 2 条留痕时间升序)。"
|
||||||
|
updated_at: "2026-09-16"
|
||||||
|
base: "dev-v3"
|
||||||
|
---
|
||||||
|
|
||||||
|
# 报账详情补透出支出行凭证 voucherUrls + 审核流水 reviewLogs
|
||||||
|
|
||||||
|
> **服务**: hl-order-service-v3(hl-finance 模块)
|
||||||
|
> **类型**: ✏️ 修改接口(**纯出参字段新增**,无存量字段/路径/语义变更,向后兼容)
|
||||||
|
> **日期**: 2026-09-16
|
||||||
|
> **接口**: `GET /admin/finance/reimburses/{id}`(报账执行单详情)
|
||||||
|
> **关联**: Issue #7790 / #7791,PR #7794 / #7795
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔴 一句话给前端
|
||||||
|
|
||||||
|
报账详情接口出参加了两块,都是**纯新增字段**,老前端不读也不影响:
|
||||||
|
|
||||||
|
| 新增字段 | 位置 | 内容 |
|
||||||
|
|---|---|---|
|
||||||
|
| `voucherUrls` | `lines[]` 每一项 | 该支出行的凭证 URL 数组(发票/收据影像),无凭证为 null |
|
||||||
|
| `reviewLogs` | 详情顶层 | 该单的审核流水列表(复核批准/退回/反审每次一条),按审核时间升序 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、支出行明细 lines 补凭证 `voucherUrls`
|
||||||
|
|
||||||
|
复核人员核对垫付时,现在能直接在详情里看到每笔支出的凭证影像,不用再跳核单详情页。
|
||||||
|
|
||||||
|
**`lines[]` 项新增字段**:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| `voucherUrls` | `string[]` | 凭证 URL 数组(发票/收据影像);**无凭证时为 null**(前端做好空态) |
|
||||||
|
|
||||||
|
其余 `lines[]` 字段不变(category/categoryName/itemName/unitPrice/quantity/amount/reimburseAmount/paymentMethod/paymentMethodName/date/remark)。
|
||||||
|
|
||||||
|
## 二、详情新增审核流水 `reviewLogs`
|
||||||
|
|
||||||
|
报账单复核(审核)现在**全程留痕**:每次批准/退回/反审都记一条,单据被反复审核也能追溯每一步。
|
||||||
|
|
||||||
|
**详情顶层新增字段**:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| `reviewLogs` | `ReviewLogVO[]` | 审核流水,按审核发生时间**升序**;无记录返回空数组 `[]` |
|
||||||
|
|
||||||
|
**`ReviewLogVO` 字段**:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|---|---|---|
|
||||||
|
| `logId` | string | 审核流水 ID(string 序列化) |
|
||||||
|
| `action` | string | 审核动作:`APPROVE` 批准 / `RETURN` 退回 / `UN_APPROVE` 反审 |
|
||||||
|
| `operatorId` | string | 审核操作人 ID(string 序列化) |
|
||||||
|
| `operatorName` | string | 审核操作人姓名快照 |
|
||||||
|
| `opinion` | string | 审核意见(批准意见 / 退回原因;**反审为 null**) |
|
||||||
|
| `fromStatus` | string | 操作前单据状态(PENDING/APPROVED) |
|
||||||
|
| `toStatus` | string | 操作后单据状态(APPROVED/CLOSED/RETURNED/PENDING) |
|
||||||
|
| `createTime` | string | 审核发生时间(yyyy-MM-dd HH:mm:ss) |
|
||||||
|
|
||||||
|
## 三、示例(详情出参节选)
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"id": "2100084841021145090",
|
||||||
|
"reimburseNo": "BZ-202609160003",
|
||||||
|
"status": "PENDING",
|
||||||
|
"lines": [
|
||||||
|
{
|
||||||
|
"category": "HOTEL",
|
||||||
|
"categoryName": "住宿",
|
||||||
|
"itemName": "呼伦贝尔香格里拉大酒店-大床房",
|
||||||
|
"reimburseAmount": 1200.00,
|
||||||
|
"paymentMethod": "CASH_PAID",
|
||||||
|
"voucherUrls": ["https://oss.example.com/voucher-hotel-day1.jpg"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"reviewLogs": [
|
||||||
|
{
|
||||||
|
"logId": "55501",
|
||||||
|
"action": "APPROVE",
|
||||||
|
"operatorId": "7",
|
||||||
|
"operatorName": "腰苏图",
|
||||||
|
"opinion": "复核无误",
|
||||||
|
"fromStatus": "PENDING",
|
||||||
|
"toStatus": "APPROVED",
|
||||||
|
"createTime": "2026-09-16 12:50:44"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 四、前端对接建议
|
||||||
|
|
||||||
|
- 详情页「支出行明细」表格每行可加凭证入口(voucherUrls 非空时显示,点击看影像);空数组/null 不显示入口。
|
||||||
|
- 详情页可加「审核记录」区块,渲染 reviewLogs 时间线(动作中文名映射:APPROVE=批准 / RETURN=退回 / UN_APPROVE=反审),显示操作人/时间/意见/状态流转。
|
||||||
|
- 两字段都是新增,老前端不升级不影响现有功能。
|
||||||
|
|
||||||
|
## 五、影响评估 / 回滚
|
||||||
|
|
||||||
|
- **纯出参新增**,无存量字段/路径变更,向后兼容,无回滚负担。
|
||||||
|
- 已部署测试服并造数实证通过。
|
||||||
|
|
||||||
|
## 六、关联 / 联系人
|
||||||
|
|
||||||
|
- Issue:[#7790](https://git.1814.love:8443/wx/HL/issues/7790)(凭证透出)、[#7791](https://git.1814.love:8443/wx/HL/issues/7791)(审核流水)
|
||||||
|
- PR:[#7794](https://git.1814.love:8443/wx/HL/pulls/7794)、[#7795](https://git.1814.love:8443/wx/HL/pulls/7795)
|
||||||
|
- 前置:[报账款模块接入指引](16_7721_报账款模块接入指引-新增接口-管理后台.md)
|
||||||
|
- 负责人:腰苏图(yst)| 反馈:财务域后端对接群 / 直接 @yst
|
||||||
在新工单中引用
屏蔽一个用户