Files
shanxia2.0/docs/crm-migration/plans/quote/04-api-spec.md
T
2026-09-18 12:01:13 +08:00

2.5 KiB
Raw Blame History

报价单管理 — 04 API 规格

门户:POST /web/crm/quote/*(分享公开:GET /api/public/crm/quote/share/{shareCode})
Java 快照:reference/java/quote/
状态:P2 后端 ✅(2026-05-31)

1. 报价单主接口

# 门户目标 Python 状态
1 POST .../list list_quotes ✅
2 POST .../detail get_quote_detail ✅
3 POST .../add create_quote ✅
4 POST .../update update_quote ✅
5 POST .../delete soft_delete_quotes ✅
6 POST .../submit submit_quote ✅
7 POST .../saveTemplate save_template ✅
8 POST .../getTemplate get_template ✅
9 POST .../generatePdf generate_pdf ✅
10 POST .../generateShare generate_share ✅
11 GET /api/public/crm/quote/share/{shareCode} view_by_share_code ✅
12 POST .../accept accept_quote ✅
13 POST .../reject reject_quote ✅
14 POST .../toContract to_contract ✅
15 POST .../newVersion create_new_version ✅
16 POST .../versions query_versions ✅
17 POST .../export QUOTE_EXPORT_COLUMNS ✅
18 POST .../statistics/overview statistics_overview ✅
19 POST .../statistics/status statistics_status ✅
20 POST .../statistics/trend statistics_trend ✅
22 POST .../invalid invalid_quote ✅

2. 产品 / 审批 / 分享日志

模块 门户 Python 状态
产品 list/add/update/delete .../product/* quote_product.py ✅
审批 list/approve/withdraw/refreshNames .../approval/* quote_approval.py ✅
分享日志 list/statistics .../shareLog/* quote_share_log.py ✅

DDL

docs/sql/incremental_crm_quote.sql — 部署库须手动执行(依赖 P0 供方、P1 合同 create 已执行更佳)。

源码

层 路径
CRUD 主逻辑 backend/app/crud/crm/quote.py
产品明细 backend/app/crud/crm/quote_product.py
审批 backend/app/crud/crm/quote_approval.py
分享日志 backend/app/crud/crm/quote_share_log.py
PDF backend/app/services/crm_quote_pdf.py
产品 ID 解析 backend/app/crud/crm/product.py → resolve_product_id_for_quote_item(须有效 productId,禁止自动建档)
API backend/app/api/crm_quote_routes.py
Schema backend/app/schemas/crm/quote.py