diff --git a/changelogs-v2/2026-09/07_7232_费用报销-新增接口-管理后台.md b/changelogs-v2/2026-09/07_7232_费用报销-新增接口-管理后台.md index e120c84e..0654db75 100644 --- a/changelogs-v2/2026-09/07_7232_费用报销-新增接口-管理后台.md +++ b/changelogs-v2/2026-09/07_7232_费用报销-新增接口-管理后台.md @@ -12,8 +12,8 @@ frontend_owner: "mmg" frontend_ref: "f104b541" target_release: "v2.1" verified_at: "2026-09-10" -status_note: "verified 2026-09-10 mmg: expense.js 八端点+EXPENSE_STATUS 五态映射;expense/expense 列表页(状态/部门/公司/关键字筛选,分类末级按名传/公司按名传/部门手录注释,驳回 rejectReason 必填,详情按 REJECTED/PAID 条件显,操作列按状态机分叉);出纳 cashier 三端点扩容 EXPENSE 线随 #7217 一并交付(commit 7278c5f9)。expense.spec 锁端点/ID 透传/状态兜底。checkpoint 全绿。" -updated_at: "2026-09-07" +status_note: "verified 2026-09-10 mmg: expense.js 八端点+EXPENSE_STATUS 五态映射;expense/expense 列表页(状态/部门/公司/关键字筛选,分类末级按名传/公司按名传/部门手录注释,驳回 rejectReason 必填,详情按 REJECTED/PAID 条件显,操作列按状态机分叉);出纳 cashier 三端点扩容 EXPENSE 线随 #7217 一并交付(commit 7278c5f9)。expense.spec 锁端点/ID 透传/状态兜底。checkpoint 全绿。2026-09-10 后端更正:§10 出纳付款登记入参字段名勘误——付款账户/金额实为统一扁平字段 payAccountId/amount(此前误写为输出字段名 fundAccountId/actualAmount,前端据此调用会触发 400 出账账户不能为空/付款金额不能为空),已补全量必填字段与请求/响应示例并经测试服实调验证。" +updated_at: "2026-09-10" base: "dev-v3" --- @@ -365,17 +365,47 @@ Authorization: Bearer #### 变更点 -入参 `bizType` 枚举新增 `EXPENSE` 值。`bizType=EXPENSE` 时 `bizId` 传报销单 ID,登记付款后回写 `fin_expense` 状态为 `PAID`、记录 `fundAccountId` / `paidAt`,同事务记资金流水。 +入参 `bizType` 枚举新增 `EXPENSE` 值。`bizType=EXPENSE` 时 `bizId` 传报销单 ID,登记付款后回写 `fin_expense` 状态为 `PAID`、记录 `fundAccountId` / `paidAt`(回写列名,非入参字段),同事务记资金流水。 #### 入参(Body,关键字段) +> ⚠️ 出纳付款登记为**全 bizType 统一扁平入参**(NONBIZ / EXPENSE / PAYMENT / PREPAY 共用同一套字段),付款账户 / 金额字段名固定为 `payAccountId` / `amount`。下方为全量必填/关键字段: + | 字段 | 类型 | 必填 | 约束 | 说明 | |---|---|---:|---|---| | `bizType` | String | 是 | 新增 `EXPENSE` | 业务类型;费用报销传 `EXPENSE` | | `bizId` | String | 是 | 对应业务单据 ID | `bizType=EXPENSE` 时传报销单 ID | -| `fundAccountId` | String | 是 | 必须存在 | 付款资金账户 ID | -| `actualAmount` | Number | 是 | >0 | 出纳手录实际打款金额(默认带入 payableAmt,可改) | -| 其余字段 | — | — | — | 与既有 NONBIZ 线一致,不变 | +| `payAccountId` | String | 是 | 必须存在且 ACTIVE | 出账资金账户 ID(fin_fund_account) | +| `amount` | Number | 是 | >0 | 付款金额(出纳按实际打款金额录入,可与应付不一致) | +| `payDate` | String | 是 | yyyy-MM-dd | 付款日期(可回溯补录) | +| `payMethod` | String | 否 | 字典 fin_pay_way | 付款方式(CASH/BANK_TRANSFER/WECHAT/ALIPAY) | +| `fee` | Number | 否 | ≥0 | 手续费(挂出账流水) | +| `voucherNo` | String | 否 | — | 付款凭证号 | +| `voucherUrl` | String | 否 | — | 付款凭证影像 URL | + +#### 请求示例(bizType=EXPENSE) + +```json +{ + "bizType": "EXPENSE", + "bizId": "2097885645098659841", + "payAccountId": "2095340438490583041", + "amount": 300.00, + "payDate": "2026-09-10", + "payMethod": "BANK_TRANSFER" +} +``` + +#### 成功响应 + +```json +{ + "code": 200, + "message": "成功", + "data": { "flowId": "2097946971271495682", "flowNo": "LS202609100002", "balanceAfter": 114594.0, "bizId": "2097885645098659841" }, + "success": true +} +``` #### 业务边界 @@ -387,7 +417,7 @@ Authorization: Bearer 重复付款: ```json -{"code":598602,"message":"该单据已付款,请勿重复操作","success":false,"data":null} +{"code":598602,"message":"业务单状态非已批准,不可付款","success":false,"data":null} ``` 付款类型非法(598607 文案已扩为含 EXPENSE):