Files
shanxia2.0/docs/crm-migration/plans/quote/01-overview.md
T
2026-06-01 08:21:21 +08:00

2.9 KiB
Raw Blame History

报价单管理模块迁移方案 — 01 概述

编写日期:2026-05-31
状态:方案已审核(三项决策已确认,待实施)


已确认决策

# 决策 影响
1 同步移植 crm_supplier_info 实施顺序 P0;报价编号/主题依赖供方编码与简称
2 先补合同 create 实施顺序 P1;toContract 调用完整 insertByBo,不做 stub
3 报价单全量功能 PDF、分享、审批、版本、统计、导出、转合同等 全部实现,无 MVP 裁剪
4 Java 快照按需拷贝 写某步后台接口前快照该步 Java;方案阶段不全量拷贝(见 reference/java/README.md)

迁移目标

将原 CRM 报价单管理完整移植到 shanxia2.0:功能不缩减,字典语义不变,UI 对齐 Fresh Mint。

方法论(后端)

  1. 方案:plans/quote/ + 前置 supplier-info、contract 子方案
  2. 快照:每步实施前运行 scripts/snapshot-java.sh(只拷本步文件)
  3. 翻译:对照快照 + 05-special.md,写 Python;04-api-spec.md 打 ✅
  4. 禁止:.java 进 backend/;未对照 Java 改业务规则

实施总顺序

P0 供方 crm_supplier_info(全 API)
  → P1 合同 create + crm_contract_product(最小闭环)
    → P2 报价单 4 表 + 全量 API(C1–C16)
      → P3 前端拷贝 + Fresh Mint 适配
        → P4 验证

迁移范围(全量)

子模块 原 CRM 入口
报价列表 / 表单 / 详情 / 统计 crm/quote/*.vue + components/*
审批 / 分享 / PDF / 版本 / 转合同 同上子组件

涉及数据库表

表 阶段
crm_supplier_info P0
crm_contract_product + 补全 crm_contract P1
crm_quote / _product / _approval / _share_log P2

字典 crm_quote_status 已在 shanxia2.0.sql。

依赖模块

模块 状态
客户 / 联系人 / 产品 / 商机 ✅ 已移植
供方 crm_supplier_info ❌ P0 同步移植
合同 create ❌ P1 先补(完整模块后续迭代)

源码位置

类型 路径
Java 权威源 ../shanxia/crm/backend/ruoyi-modules/ruoyi-crm/
Java 工作快照 docs/crm-migration/reference/java/{module}/(按步追加)
前端 shanxia/crm/web/src/views/crm/quote/

方案文档索引

文档 内容
01-overview.md 本文
04-api-spec.md 接口 ↔ Java ↔ Python ↔ 状态
05-special.md 状态机、编号/金额(门禁)
06-steps.md P0→P4 分步 + 每步快照清单
../supplier-info/01-overview.md 供方 P0
../contract/01-prerequisite-create-for-quote.md 合同 create P1
02-database.md / 03-frontend-spec.md / 07-verify.md 实施时补充