Files
mcp-auth/mcp-for-erp/数据表与种子数据说明.md
T
2026-08-10 20:57:49 +08:00

13 KiB
Raw Blame History

MCP for ERP — 数据表结构与种子数据说明文档

数据库:PostgreSQL 15+,库 smart_quotation_auto(与 CRM 服务共库不同表) 建表/种子脚本:sql/init.sql(v3,幂等可重跑);执行入口:cd src && python3 seed.py 版本:v1.0(2026-08-09)


1 概览

# 表名 用途 主键 种子行数
1 material_master 物料主数据(体积/密度/吨位/后处理) material_code 16
2 material_grade_mapping 五标准体系牌号对照 id(SERIAL) 13
3 die_casting_params 压铸参数(吨位→固化节拍/费率/模穴) tonnage 9
4 machining_cycle 机加工固化工装节拍 id(SERIAL) 26
5 post_process_rate 后处理费率(¥/kg) id(SERIAL) 10
6 material_price_history 月度材料价格留痕 id(SERIAL) 260(13 牌号×20 月)
7 machining_rate 材质族机加工费率 grade_group 4

表关系:material_master.material_grade →(经 match_material_grade 模糊对照)→ material_grade_mapping(internal_code/grade_group)→ material_price_history(按 internal_code 取最新月价)、machining_rate(按 grade_group 取费率);material_master.die_casting_ton → die_casting_params.tonnage;机加工工时查 machining_cycle(operation_type+spec);后处理查 post_process_rate(process_type = material_master.surface_treatment)。


2 表结构详解

2.1 material_master — 物料主数据

列 类型 约束/默认 说明
material_code VARCHAR(50) PRIMARY KEY 物料编码,如 VHB-AT-001
part_name VARCHAR(200) NOT NULL 零件名称
part_category VARCHAR(50) NOT NULL 零件类别(种子全为「阀体外壳」)
material_grade VARCHAR(50) NOT NULL 客户材质牌号(对照表输入)
density DECIMAL(6,3) NOT NULL DEFAULT 2.700 密度 g/cm³
volume_cc DECIMAL(10,2) NOT NULL 零件体积 cm³(算铝水重量的依据)
net_weight_kg DECIMAL(8,3) NOT NULL 净重 kg(算后处理成本的依据)
die_casting_ton INTEGER NOT NULL 压铸机吨位(关联 die_casting_params)
surface_treatment VARCHAR(50) — 表面处理(关联 post_process_rate)
unit VARCHAR(10) DEFAULT '件' 计量单位
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 建档时间

2.2 material_grade_mapping — 材质牌号对照表

列 类型 约束/默认 说明
id SERIAL PRIMARY KEY 自增主键
grade_group VARCHAR(50) NOT NULL 材质族:铝合金/铸铝/铸铁/球墨铸铁(决定机加工费率)
gb_code VARCHAR(80) — GB 牌号
astm_code VARCHAR(80) — ASTM 牌号
jis_code VARCHAR(80) — JIS 牌号
en_code VARCHAR(80) — EN 牌号
iso_code VARCHAR(80) — ISO 牌号
internal_code VARCHAR(50) NOT NULL,UNIQUE(uq_grade_mapping) 内部等效牌号
density DECIMAL(6,3) NOT NULL 密度 g/cm³
price_per_kg DECIMAL(10,2) NOT NULL 铝锭/材料参考价 ¥/kg(兜底价)

对照匹配对六列码值做大小写不敏感 LIKE 模糊匹配;带热处理后缀(如 A356-T6)自动剥后缀重试。

2.3 die_casting_params — 压铸参数表

列 类型 约束/默认 说明
tonnage INTEGER PRIMARY KEY 压铸机吨位
shot_weight_kg DECIMAL(8,3) NOT NULL 射出重量 kg(参考值)
cycle_time_sec DECIMAL(8,2) NOT NULL 模次节拍 秒/模(吨位固化)
machine_rate DECIMAL(10,2) NOT NULL 机台费率 ¥/小时
mold_cavities INTEGER DEFAULT 1 模穴数(压铸成本按穴分摊)

2.4 machining_cycle — 机加工节拍表(固化工装节拍)

列 类型 约束/默认 说明
id SERIAL PRIMARY KEY 自增主键
operation_type VARCHAR(30) NOT NULL drill 钻孔 / tap 攻丝 / ream 铰孔 / mill 铣面
spec VARCHAR(50) NOT NULL 规格:Φ6、M6×1.0、Φ8H7、face;UNIQUE(operation_type, spec)
cycle_time_sec DECIMAL(8,2) NOT NULL 单件固化节拍(秒)
tool_rate DECIMAL(8,4) DEFAULT 0 单件刀具成本 ¥
notes VARCHAR(200) — 备注(通孔/盲孔等)

2.5 post_process_rate — 后处理费率表

列 类型 约束/默认 说明
id SERIAL PRIMARY KEY 自增主键
process_type VARCHAR(50) NOT NULL,UNIQUE(uq_post_process) 工艺名(与物料 surface_treatment 对应)
unit VARCHAR(10) DEFAULT 'kg' 计价单位
rate DECIMAL(10,2) NOT NULL 费率 ¥/kg
currency VARCHAR(10) DEFAULT 'CNY' 币种

2.6 material_price_history — 材料价格历史表

列 类型 约束/默认 说明
id SERIAL PRIMARY KEY 自增主键
internal_code VARCHAR(50) NOT NULL 内部牌号;UNIQUE(internal_code, price_date)
price_date DATE NOT NULL 价格月份(每月 1 日)
price_per_kg DECIMAL(10,2) NOT NULL 当月参考价 ¥/kg
source VARCHAR(100) DEFAULT '市场参考价' 数据来源留痕

核价取法:ORDER BY price_date DESC LIMIT 1(最新月),并在返回中带 price_basis_month 留痕。

2.7 machining_rate — 机加工费率表

列 类型 约束/默认 说明
grade_group VARCHAR(50) PRIMARY KEY 材质族
rate_per_hour DECIMAL(10,2) NOT NULL 费率 ¥/小时
notes VARCHAR(200) — 备注

3 种子数据详解

3.1 material_master — 16 种阀体外壳

覆盖设计:铝合金 12 / 灰铸铁 2(HT250、HT300)/ 球墨铸铁 1(QT500-7)/ 铸铝 1(ZL101);吨位 1601000T 全谱系;体积 96.31037 cm³。

物料编码 零件名称 牌号 密度 体积cm³ 净重kg 吨位 后处理
VHB-AT-001 变速箱阀体外壳 ADC12 2.700 444.44 1.200 400 阳极氧化
VHB-BK-002 制动阀体壳 HT250 7.200 388.89 2.800 630 电泳涂装
VHB-SP-003 转向器阀体壳 A356-T6 2.650 296.30 0.785 280 钝化
VHB-EG-004 发动机油路阀体壳 EN AC-4600 2.700 555.56 1.500 400 阳极氧化
VHB-CL-005 离合器控制阀体壳 ADC10 2.700 480.00 1.300 400 阳极氧化
VHB-TR-006 变速箱液压控制阀体 AlSi9Cu3 2.700 620.00 1.670 630 电泳涂装
VHB-EB-007 电子制动阀体壳 AlSi10MnMg 2.650 350.00 0.930 400 钝化
VHB-QT-008 悬架阻尼阀体壳 QT500-7 7.100 520.00 3.690 630 喷涂
VHB-MN-009 微型泵阀体壳 ADC12 2.700 96.30 0.260 160 钝化
VHB-LG-010 大型主阀体壳 ADC12 2.700 1037.00 2.800 800 电泳涂装
VHB-TC-011 涡轮增压控制阀体壳 ADC12 2.700 320.00 0.860 350 钝化
VHB-EG-012 EGR阀体壳 ADC10 2.700 265.00 0.720 280 钝化
VHB-WP-013 水泵阀体壳 AlSi12 2.650 380.00 1.010 400 阳极氧化
VHB-TM-014 热管理阀体壳(新能源) AlSi10MnMg 2.650 505.00 1.340 500 钝化
VHB-OP-015 机油泵阀体壳 ZL101 2.650 210.00 0.560 200 钝化
VHB-HD-016 重卡制动阀体壳 HT300 7.250 850.00 6.160 1000 达克罗

3.2 material_grade_mapping — 13 条牌号对照

覆盖设计:铝合金 7 / 铸铝 1 / 铸铁 3 / 球墨铸铁 2;每条六码齐全(GB/ASTM/JIS/EN/ISO/内部码)。

材质族 GB ASTM JIS EN ISO 内部码 密度 参考价¥/kg
铝合金 ZAlSi10Cu(ADC12) A380 ADC12 EN AC-4600 AlSi9Cu3 AL-ADC12 2.700 18.50
铝合金 ZAlSi7Mg(A356) A356 AC4C-T6 EN AC-4210 AlSi7Mg AL-A356 2.650 20.00
铝合金 ZAlSi9Cu(AlSi9Cu) B443 AC4B EN AC-4600 AlSi9Cu AL-4600 2.700 18.00
铸铝 ZL101 356.0 AC4C EN AC-4200 AlSi7 AL-ZL101 2.650 19.00
铸铁 HT250 G2500 FC250 EN-GJL-250 GJL-250 IR-HT250 7.200 6.50
球墨铸铁 QT500-7 D5007 FCD500 EN-GJS-500 GJS-500 IR-QT500 7.100 7.20
铝合金 ZAlSi8Cu(ADC10) A384 ADC10 EN AC-4650 AlSi8Cu AL-ADC10 2.700 18.20
铝合金 ZAlSi10MnMg — — AlSi10MnMg AlSi10MnMg AL-S10MM 2.650 22.00
铝合金 ZAlSi12 413.0 AC3A EN AC-4420 AlSi12 AL-S12 2.650 17.80
铸铁 HT200 G3000 FC200 EN-GJL-200 GJL-200 IR-HT200 7.200 6.00
铸铁 HT300 G3500 FC300 EN-GJL-300 GJL-300 IR-HT300 7.250 6.80
球墨铸铁 QT450-10 D4510 FCD450 EN-GJS-450 GJS-450 IR-QT450 7.100 7.00
球墨铸铁 QT600-3 D6003 FCD600 EN-GJS-600 GJS-600 IR-QT600 7.100 7.50

脚本含修正语句:IR-QT% 组别归位「球墨铸铁」(历史数据曾误归「铸铁」)。

3.3 die_casting_params — 9 档吨位

吨位 射出重量kg 节拍秒/模 机台费率¥/h 模穴数
160 0.50 15.00 120.00 2(一模两腔)
200 0.80 18.00 140.00 2
280 1.20 22.00 180.00 1
350 1.80 26.00 220.00 1
400 2.50 30.00 260.00 1
500 3.20 36.00 320.00 1
630 4.00 42.00 380.00 1
800 6.50 55.00 520.00 1
1000 8.50 65.00 650.00 1

故意不含 1250T:用于回退测试(未命中吨位场景)。

3.4 machining_cycle — 26 条固化节拍

工序 规格谱系 条数 节拍范围(秒) 刀具费范围(¥)
drill 钻孔 Φ3 / Φ4 / Φ5 / Φ6 / Φ8 / Φ10 / Φ12 / Φ14 / Φ16 / Φ20 / Φ24 11 2.00~12.00 0.10~0.60
tap 攻丝 M4×0.7 / M5×0.8 / M6×1.0 / M8×1.25 / M10×1.5 / M12×1.75 / M14×2.0 / M16×2.0 8 3.00~9.00 0.15~0.45
ream 铰孔 Φ6H7 / Φ8H7 / Φ10H7 / Φ12H7 / Φ16H7 / Φ20H7 6 5.00~12.00 0.45~1.10
mill 铣面 face(单面) 1 12.00 0.80

故意不含 Φ25 钻孔 / M18 攻丝:用于回退测试(未知规格静默跳过场景)。

3.5 post_process_rate — 10 种后处理

工艺 费率¥/kg 工艺 费率¥/kg
喷砂 1.50 粉末喷涂 3.00
钝化 2.00 磷化 1.80
阳极氧化 5.00 达克罗 4.00
电泳涂装 3.50 硬质阳极氧化 8.00
喷涂 2.50 化学镀镍 9.00

故意不含「镀铬」:用于回退测试(未命中后处理场景,成本计 0)。

3.6 material_price_history — 260 行月度价格(2025-01 ~ 2026-08)

生成规则(脚本内 CTE 批量生成,非手工录入):

  • 13 个内部牌号 × 20 个月 = 260 行,source='市场参考价'。
  • 每月价格 = 对照表参考价 × 月份系数;铝系用 al_factor(0.921.02 波动),铁系(铸铁/球墨铸铁)用 ir_factor(0.951.01 波动)。
  • 最新月(2026-08)系数 = 1.00,即与对照表 price_per_kg 完全一致——保证核价结果与静态对照表口径可对账(如 AL-ADC12 当月价 18.50)。

3.7 machining_rate — 4 条材质族费率

材质族 费率¥/h 备注
铝合金 60.00 常规机加工费率
铸铝 60.00 同铝合金
铸铁 75.00 刀具损耗高,费率上浮
球墨铸铁 80.00 强度高,费率最高

4 幂等性与重跑机制

init.sql 整体可重复执行,无副作用(NF-3):

  1. 建表:CREATE TABLE IF NOT EXISTS。
  2. 历史去重:对 SERIAL 表先按业务键删除重复行(保留最小 id)。
  3. 补唯一约束:DO $$ ... ADD CONSTRAINT ... EXCEPTION WHEN duplicate_table 幂等加约束(uq_machining_cycle / uq_grade_mapping / uq_post_process)。
  4. 种子写入:全部 ON CONFLICT (...) DO NOTHING。
  5. 月度价格:UNIQUE(internal_code, price_date) + ON CONFLICT DO NOTHING,重跑不翻倍。

5 数据维护约定

场景 操作 约束
月度铝价更新 material_price_history 追加新月行 核价自动取最新月并留痕 price_basis_month
新增机加工规格 machining_cycle 增行 不改旧行(历史报价可复算)
新增吨位 die_casting_params 增行 同上
新增物料 material_master 增行 material_grade 须能命中对照表,否则走回退

ERP 侧全部为只读基础数据:无 MCP 写工具,数据变更仅通过 SQL/脚本进行。