142 lines
4.8 KiB
Markdown
142 lines
4.8 KiB
Markdown
# 报销系统 API 全量清单(移植后路径保持不变)
|
||
|
||
> 源:`shanxia/bx/bx-backend/app/routers/` + `shanxia/bx/bx-web/src/api/index.ts`
|
||
> 挂载:门户 `API_V1_PREFIX=/api` + router prefix(**不含** `/api` 前缀)
|
||
|
||
---
|
||
|
||
## 费用项目 `/api/expense-items`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/expense-items/tree` | 费用项目树 |
|
||
| GET | `/api/expense-items/{item_id}` | 详情 |
|
||
| POST | `/api/expense-items/` | 新增 |
|
||
| PUT | `/api/expense-items/{item_id}` | 更新 |
|
||
| DELETE | `/api/expense-items/{item_id}` | 软删除 |
|
||
|
||
---
|
||
|
||
## 工作流 `/api/workflows`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/workflows/` | 分页列表(page, pageSize) |
|
||
| GET | `/api/workflows/biz/{biz_type}` | 按业务类型(advance / reimburse) |
|
||
| GET | `/api/workflows/{workflow_id}` | 详情(含节点) |
|
||
| POST | `/api/workflows/` | 新增(body 可含 nodes) |
|
||
| PUT | `/api/workflows/{workflow_id}` | 更新 |
|
||
| PUT | `/api/workflows/{workflow_id}/nodes` | 保存节点列表 |
|
||
| DELETE | `/api/workflows/{workflow_id}` | 软删除 |
|
||
|
||
---
|
||
|
||
## 备用金 `/api/advances`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/advances/` | 列表(status, keyword, applicantId, applyDate) |
|
||
| GET | `/api/advances/my` | 我的申请 |
|
||
| GET | `/api/advances/my/stats` | 我的统计 |
|
||
| GET | `/api/advances/stats/status-counts` | 状态计数 |
|
||
| GET | `/api/advances/pending-approval` | 待我审批 |
|
||
| GET | `/api/advances/pending-approval/stats` | 待审批统计 |
|
||
| GET | `/api/advances/approved-by-me` | 我已审批 |
|
||
| GET | `/api/advances/{advance_id}` | 详情 |
|
||
| GET | `/api/advances/{advance_id}/approvals` | 审批记录 |
|
||
| POST | `/api/advances/` | 新增 |
|
||
| PUT | `/api/advances/{advance_id}` | 更新 |
|
||
| POST | `/api/advances/{advance_id}/submit` | 提交 |
|
||
| POST | `/api/advances/{advance_id}/approve` | 审批通过 |
|
||
| POST | `/api/advances/{advance_id}/reject` | 审批驳回 |
|
||
| DELETE | `/api/advances/{advance_id}` | 软删除 |
|
||
|
||
---
|
||
|
||
## 报销 `/api/reimburses`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/reimburses/generate-title` | 自动生成标题 |
|
||
| GET | `/api/reimburses/` | 列表 |
|
||
| GET | `/api/reimburses/my` | 我的申请 |
|
||
| GET | `/api/reimburses/my/stats` | 我的统计 |
|
||
| GET | `/api/reimburses/stats/status-counts` | 状态计数 |
|
||
| GET | `/api/reimburses/pending-approval` | 待我审批 |
|
||
| GET | `/api/reimburses/pending-approval/stats` | 待审批统计 |
|
||
| GET | `/api/reimburses/approved-by-me` | 我已审批 |
|
||
| GET | `/api/reimburses/{reimburse_id}` | 详情 |
|
||
| GET | `/api/reimburses/{reimburse_id}/approvals` | 审批记录 |
|
||
| POST | `/api/reimburses/` | 新增(含明细) |
|
||
| PUT | `/api/reimburses/{reimburse_id}` | 更新 |
|
||
| POST | `/api/reimburses/{reimburse_id}/submit` | 提交 |
|
||
| POST | `/api/reimburses/{reimburse_id}/approve` | 审批通过 |
|
||
| POST | `/api/reimburses/{reimburse_id}/reject` | 审批驳回 |
|
||
| DELETE | `/api/reimburses/{reimburse_id}` | 软删除 |
|
||
|
||
---
|
||
|
||
## 支付 / 发放 `/api/payments`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| GET | `/api/payments/pending` | 待支付报销列表 |
|
||
| GET | `/api/payments/stats` | 财务统计 |
|
||
| GET | `/api/payments/processed` | 已处理列表 |
|
||
| POST | `/api/payments/{id}/pay` | 报销发放 |
|
||
| POST | `/api/payments/{id}/offset` | 单笔冲抵 |
|
||
| POST | `/api/payments/{id}/batch-offset` | 批量冲抵 |
|
||
| GET | `/api/payments/advance-issues` | 备用金发放列表 |
|
||
| GET | `/api/payments/advance-issues/stats` | 发放统计 |
|
||
| GET | `/api/payments/advance-issues/export` | 导出 CSV(StreamingResponse) |
|
||
| POST | `/api/payments/advance/{advance_id}/issue` | 备用金发放 |
|
||
| GET | `/api/payments/advance/{advance_id}/offset-records` | 备用金被冲抵记录 |
|
||
| GET | `/api/payments/{id}/offset-records` | 报销冲抵记录 |
|
||
|
||
---
|
||
|
||
## 附件 `/api/attachments`
|
||
|
||
| 方法 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| POST | `/api/attachments/upload` | 上传(multipart: file, biz_type, biz_id) |
|
||
| GET | `/api/attachments/download/{attachment_id}` | 下载文件流 |
|
||
| GET | `/api/attachments/preview/{attachment_id}` | 预览 URL |
|
||
| GET | `/api/attachments/list` | 按 biz_type、biz_id 列表 |
|
||
| PUT | `/api/attachments/bind-biz` | 绑定业务单(query: ids, biz_type, biz_id) |
|
||
| DELETE | `/api/attachments/{attachment_id}` | 软删除 |
|
||
|
||
---
|
||
|
||
## 响应格式(所有 JSON 接口)
|
||
|
||
```json
|
||
{
|
||
"code": 0,
|
||
"msg": "success",
|
||
"data": { }
|
||
}
|
||
```
|
||
|
||
分页 `data` 结构:
|
||
|
||
```json
|
||
{
|
||
"rows": [],
|
||
"total": 0,
|
||
"page": 1,
|
||
"pageSize": 10
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 不移植的 API
|
||
|
||
| 前缀 | 说明 |
|
||
|------|------|
|
||
| `/api/auth/*` | 门户登录 |
|
||
| `/api/users/*` | sys_user |
|
||
| `/api/roles/*` | sys_role |
|
||
| `/api/menus/*` | sys_menu(门户菜单接口) |
|