Amphenol 成本管控系统

数据库设计说明书 V1.0

文档日期: 2026-04-14  |  适用范围: China & Thailand Operations  |  第一期
系统概述 ER关系图 关系说明 角色权限 核心业务表 系统管理表 计算逻辑 网站风格 待确认事项

📋 系统概述

本系统用于管理 Amphenol AUTO 业务的 RFQ(报价请求)项目成本管控,涵盖从项目创建、BOM 解析、成本计算到 CAS 报价单管理的完整业务流程。

15
数据表总数
13
核心业务表
2
系统管理表
3
系统角色
核心能力: RFQ 文件 AI 智能解析 → BOM 成本自动计算 → CAS 报价单版本管理 → 成本对比分析

🔗 实体关系图 (ER Diagram)

展示系统核心数据实体之间的层级关系和数据流向

Channels Channel (含 Rate 费率属性) overhead_rate Projects RFQ 项目 Products 产品 Shipment_Units 出货单位 (1k/5k/10k) Components 组件 (电子料/结构料) CAS_Versions CAS 报价版本 SMT_Processes SMT 工序 TLA_Processes TLA 工序 EEBOM 电子料 BOM Structural_Cost 结构料成本 Tooling_Costs 治具费用 SMT_Rates SMT 费率 TLA_Rates TLA 费率 Users 用户 Roles 角色 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 图例: 主实体 业务分支 明细数据 费率配置 系统管理

↔️ 关系说明

父实体子实体关系说明
Channels→Projects1:N一个Channel下有多个RFQ项目
Projects→Products1:N一个项目包含多个产品
Products→Shipment_Units1:N一个产品有多个出货档位(1k/5k/10k)
Products→Components1:N一个产品包含多个组件
Products→CAS_Versions1:N一个产品有多个CAS报价版本
Shipment_Units→SMT_Processes1:N一个出货单位对应多个SMT工序
Shipment_Units→TLA_Processes1:N一个出货单位对应多个TLA工序
Components→EEBOM1:N一个组件包含多条电子料记录
Components→Structural_Cost1:N一个组件包含多条结构料记录
CAS_Versions→Tooling_Costs1:N一个CAS版本包含多项治具费用
SMT_Processes→SMT_Rates1:N一个SMT工序关联多条费率
TLA_Processes→TLA_Rates1:N一个TLA工序关联多条费率

👥 角色权限设计

第一期仅设3个核心角色,简洁高效

🔧 系统管理员
SYSTEM_ADMIN
全局配置、用户管理、跨Channel访问
💻 成本工程师
COST_ENGINEER
RFQ成本分析、BOM维护、CAS编制、成本计算
📂 RFQ专员
RFQ_SPECIALIST
RFQ项目管理、供应商文件处理
功能模块
系统管理员
成本工程师
RFQ专员
⚙️ 系统管理
系统配置
✅
—
—
用户管理
✅
—
—
🏢 Channel管理
Channel配置(含Rate)
✅
仅查看
—
📂 RFQ项目管理
创建项目
✅
✅
✅
编辑项目
✅
📌本Channel
📌本Channel
查看项目
✅
📌本Channel
📌本Channel
📦 BOM管理
BOM导入/编辑
✅
✅
—
💰 费率管理
费率配置
✅
仅查看
—
📊 CAS管理
CAS编制
✅
✅
—
🧮 成本计算
触发计算
✅
✅
—
📈 报表导出
导出报表
✅
📌本Channel
📌本Channel
✅ 完整权限  |  📌本Channel = 仅限本Channel范围  |  仅查看 = 只读  |  — = 无权限

📦 核心业务表 (13个)

C

channels — Channel表

管理业务Channel,含Rate费率属性 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
codeVARCHAR(50)✓UNIQUEChannel代码 (CHINA, THAILAND)
nameVARCHAR(100)✓Channel名称 (China Operations)
overhead_rateDECIMAL(5,4)✓间接费率 (如 0.0850 = 8.5%),用于成本计算
currencyVARCHAR(10)✓默认币种 (USD/CNY/THB)
exchange_rate_to_usdDECIMAL(10,6)✓对美元汇率 (如 CNY=0.137800)
descriptionTEXT○Channel描述
is_activeTINYINT✓是否启用 (0=禁用 1=启用)
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
P

projects — 项目表

管理RFQ项目,记录项目基本信息和状态 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
channel_idBIGINT✓🔗 FK→channels所属Channel
project_codeVARCHAR(100)✓项目编号 (如 2159205-10-A)
project_nameVARCHAR(200)✓项目名称
customer_nameVARCHAR(200)○客户名称
is_confidentialTINYINT✓是否机密 (0=普通 1=机密如Tesla)
rfq_statusTINYINT✓RFQ状态 (0=未开始 1=进行中 2=已完成 3=已取消)
i_deliver_statusTINYINT✓交付状态 (0=未交付 1=已交付,交付后过滤不提醒)
rfq_file_pathVARCHAR(500)○RFQ文件存储路径
rfq_file_parsedTINYINT✓RFQ文件是否已解析 (0=未解析 1=已解析)
estimated_qtyINT○预估数量
delivery_dateDATE○交付日期
target_priceDECIMAL(18,6)○目标价格
final_priceDECIMAL(18,6)○最终报价
currencyVARCHAR(10)✓币种 (USD/CNY/THB),默认USD
remarksTEXT○备注
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
P

products — 产品表

管理产品信息,一个项目可包含多个产品 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
project_idBIGINT✓🔗 FK→projects所属项目
product_codeVARCHAR(100)✓产品代码 (如 M354-04 GNSS-2)
product_nameVARCHAR(200)○产品名称
product_typeVARCHAR(50)○产品类型 (如 PCB Assembly)
spec_descriptionTEXT○规格描述
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
S

shipment_units — 出货单位表

管理出货数量档位(1k/5k/10k) ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
product_idBIGINT✓🔗 FK→products所属产品
shipment_unit_nameVARCHAR(100)✓出货单位名称 (1k、5k、10k)
shipment_qtyINT✓出货数量 (1000/5000/10000)
is_activeTINYINT✓是否启用
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
S

smt_processes — SMT工序表

管理SMT工序,记录PCB板信息 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
shipment_unit_idBIGINT✓🔗 FK→shipment_units所属出货单位
process_nameVARCHAR(100)✓工序名称 (如 Main Board)
pcb_size_lengthDECIMAL(10,2)○PCB长度 (mm)
pcb_size_widthDECIMAL(10,2)○PCB宽度 (mm)
pcb_layersTINYINT○PCB层数
panel_quantityINT○Panel数量
component_countINT○组件数量
process_typeVARCHAR(50)○工序类型 (Double-sided/Single-sided)
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
T

tla_processes — TLA工序表

管理TLA(通孔装配)工序 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
shipment_unit_idBIGINT✓🔗 FK→shipment_units所属出货单位
process_nameVARCHAR(100)✓工序名称 (如 Assembly 1)
process_descriptionTEXT○工序描述
labor_hoursDECIMAL(10,2)○工时 (小时)
equipment_costDECIMAL(18,6)○设备费用
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
C

components — 组件表

管理组件,区分电子料和结构料 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
product_idBIGINT✓🔗 FK→products所属产品
component_codeVARCHAR(100)✓组件代码
component_nameVARCHAR(200)○组件名称
component_typeVARCHAR(50)✓EEBOM(电子料) / STRUCTURAL(结构料)
is_activeTINYINT✓是否启用
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
E

eebom — 电子料BOM表

管理EEBOM,记录每个电子元件的详细信息 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键,自增
component_idBIGINT✓🔗 FK→components所属组件
line_numberINT✓行号
part_numberVARCHAR(100)✓料号
part_nameVARCHAR(200)○零件名称
part_descriptionTEXT○零件描述
manufacturerVARCHAR(200)○制造商
supplierVARCHAR(200)○供应商
quantityDECIMAL(10,4)✓用量 (支持小数如0.5)
unitVARCHAR(20)✓单位 (PCS/M/KG),默认PCS
unit_priceDECIMAL(18,6)○单价
currencyVARCHAR(10)✓币种,默认USD
exchange_rateDECIMAL(10,6)✓汇率,默认1.000000
total_costDECIMAL(18,6)✓总成本 = qty × price × rate
is_alternativeTINYINT✓是否替代料 (0=否 1=是)
remarksTEXT○备注
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
S

structural_cost — 结构料成本表

管理结构料成本(外壳、连接器、线缆等) ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
component_idBIGINT✓🔗 FK→components所属组件
cost_codeVARCHAR(100)✓成本代码
cost_nameVARCHAR(200)○成本名称
cost_typeVARCHAR(50)✓成本类型 (Housing/Connector/Cable)
quantityDECIMAL(10,4)✓数量
unitVARCHAR(20)✓单位,默认PCS
unit_priceDECIMAL(18,6)○单价
currencyVARCHAR(10)✓币种,默认USD
exchange_rateDECIMAL(10,6)✓汇率
total_costDECIMAL(18,6)✓总成本
material_sourceVARCHAR(200)○材料来源
remarksTEXT○备注
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
V

cas_versions — CAS版本表

管理CAS报价版本,含成本汇总 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
product_idBIGINT✓🔗 FK→products所属产品
version_numberVARCHAR(50)✓版本号 (V1.0、V2.0)
version_nameVARCHAR(200)○版本名称
is_activeTINYINT✓是否为当前激活版本
total_eebom_costDECIMAL(18,6)✓EEBOM总成本
total_structural_costDECIMAL(18,6)✓结构料总成本
total_smt_costDECIMAL(18,6)✓SMT总成本
total_tla_costDECIMAL(18,6)✓TLA总成本
total_tooling_costDECIMAL(18,6)✓治具总成本
total_overheadDECIMAL(18,6)✓间接费用 = (材料+工序) × Channel.overhead_rate
grand_totalDECIMAL(18,6)✓总成本
unit_priceDECIMAL(18,6)○单价 = grand_total / shipment_qty
currencyVARCHAR(10)✓币种
remarksTEXT○备注
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
T

tooling_costs — 治具费用表

▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
cas_version_idBIGINT✓🔗 FK→cas_versions所属CAS版本
tooling_nameVARCHAR(200)✓治具名称
tooling_typeVARCHAR(50)○治具类型
base_costDECIMAL(18,6)✓基础费用
quantityINT✓数量,默认1
total_costDECIMAL(18,6)✓总费用 = base_cost × quantity
currencyVARCHAR(10)✓币种
remarksTEXT○备注
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
R

smt_rates — SMT费率表

管理SMT工序费率,按Channel和时效配置 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
smt_process_idBIGINT✓🔗 FK→smt_processes关联SMT工序
channel_idBIGINT✓🔗 FK→channels所属Channel
rate_nameVARCHAR(100)✓费率名称
rate_typeVARCHAR(50)✓费率类型 (Setup Cost/Per Panel/Per Component)
base_rateDECIMAL(18,6)✓基础费率
unitVARCHAR(20)✓单位 (USD/panel、USD/component)
effective_fromDATE✓生效日期
effective_toDATE○失效日期 (NULL=长期有效)
is_activeTINYINT✓是否激活
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
R

tla_rates — TLA费率表

管理TLA工序费率,按Channel和时效配置 ▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
tla_process_idBIGINT✓🔗 FK→tla_processes关联TLA工序
channel_idBIGINT✓🔗 FK→channels所属Channel
rate_nameVARCHAR(100)✓费率名称
rate_typeVARCHAR(50)✓费率类型 (Hourly Rate/Per Unit)
base_rateDECIMAL(18,6)✓基础费率
unitVARCHAR(20)✓单位 (USD/hour、USD/unit)
effective_fromDATE✓生效日期
effective_toDATE○失效日期
is_activeTINYINT✓是否激活
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间

⚙️ 系统管理表 (2个)

U

users — 用户表

▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
usernameVARCHAR(50)✓UNIQUE用户名
emailVARCHAR(100)○UNIQUE邮箱
full_nameVARCHAR(100)✓全名
password_hashVARCHAR(255)✓密码哈希
roleENUM✓角色: SYSTEM_ADMIN / COST_ENGINEER / RFQ_SPECIALIST
channel_idBIGINT○🔗 FK→channels所属Channel (系统管理员为NULL)
is_activeTINYINT✓是否激活
last_login_atDATETIME○最后登录时间
created_atDATETIME✓创建时间
updated_atDATETIME✓更新时间
C

channel_users — Channel用户关联表

▼
字段类型必填约束说明
idBIGINT✓🔑 PK主键
user_idBIGINT✓🔗 FK→users用户ID
channel_idBIGINT✓🔗 FK→channelsChannel ID
created_atDATETIME✓分配时间

🧮 成本计算逻辑

CAS总成本 = EEBOM总成本 + 结构料总成本 + SMT总成本 + TLA总成本 + 治具总成本 + 间接费用

其中:
├── EEBOM总成本 = Σ(每条电子料: quantity × unit_price × exchange_rate)
├── 结构料总成本 = Σ(每条结构料: quantity × unit_price × exchange_rate)
├── SMT总成本 = Σ(每个SMT工序: Σ(各项费率 × 对应数量))
├── TLA总成本 = Σ(每个TLA工序: 工时费率 × labor_hours + equipment_cost)
├── 治具总成本 = Σ(每项治具: base_cost × quantity)
└── 间接费用 = (EEBOM + 结构料 + SMT + TLA) × Channel.overhead_rate

单价 = CAS总成本 ÷ 出货数量
💡 Channel Rate 说明: 间接费率 (Channel.overhead_rate) 按 Channel 维度配置,不同 Channel 可设不同费率。 例如 China = 8.5%,Thailand = 10.0%。 修改 Channel 的 Rate 后,该 Channel 下所有未完成项目的 CAS 计算会自动使用新费率。

计算触发时机

触发场景计算范围说明
BOM数据变更全量重算单价、汇率、数量任一变化时触发
费率变更全量重算SMT/TLA费率或Channel Rate更新时触发
治具费用变更增量计算仅重算治具和汇总
出货数量变更增量计算仅重算单价
手动触发全量重算用户点击"重新计算"按钮

🎨 网站风格设计(欧美风)

提供2套欧美企业级风格方案供确认,推荐方案A

⭐ 推荐
A
Amphenol Cost Control
Projects
BOM
CAS
Reports
ACTIVE PROJECTS
24
EEBOM
$1.2M
STRUCTURAL
$890K
OVERHEAD
8.5%
Dark Mode Ready
方案A — Modern Corporate
深蓝科技风 · 参考:Notion / Linear / Vercel
深色主题 Glassmorphism 数据仪表盘 暗/亮切换
深蓝色主调,搭配毛玻璃质感和微光效果。适合数据密集型企业应用,视觉层次清晰,长时间使用不疲劳。支持暗色/亮色模式切换。
#0F172A
#1E3A5F
#2563EB
#60A5FA
#34D399
#F8FAFC
TYPOGRAPHY
Inter / 系统字体
清晰的字重层级 — 700 / 500 / 400
正文使用 14px / 1.5 行高,表格数据使用等宽字体
DECIMAL(18,6) — $1,234,567.890000
COMPONENTS
A
Cost Control
Projects
BOM
CAS
Reports
ACTIVE PROJECTS
24
EEBOM
$1.2M
STRUCTURAL
$890K
OVERHEAD
8.5%
Light Mode Only
方案B — Clean Minimal
极简商务风 · 参考:Stripe / Basecamp / Shopify
浅色主题 大留白 高可读性 表格式
纯白底色配合精细边框和微阴影。强调内容本身,减少视觉干扰。适合追求简洁高效的操作体验,类似财务软件的严谨感。仅亮色模式。
#1E293B
#2563EB
#059669
#D97706
#F8FAFC
#FFFFFF
TYPOGRAPHY
SF Pro / Inter
Apple风格的圆角与字间距
正文 15px,表格 13px,紧凑但不拥挤
DECIMAL(18,6) — $1,234,567.890000
COMPONENTS
对比维度 ⭐ 方案A Modern Corporate 方案B Clean Minimal
整体印象科技感、专业、数据驱动简洁、商务、工具导向
暗色模式✅ 支持❌ 不支持
数据可视化✅ 强,深色背景凸显数据中等,需额外配色
长时间使用✅ 暗色护眼亮色易疲劳
开发复杂度中等(需双主题CSS)✅ 低,单主题即可
适合用户群工程师、数据分析师管理层、财务人员
欧美企业案例Linear, Vercel, NotionStripe, Shopify, Basecamp
💡 建议: 推荐方案A Modern Corporate——Amphenol作为欧美制造业企业,成本管控系统需要大量数据展示和分析,深色主题+仪表盘风格更符合工程师日常使用习惯,也更能体现专业感。暗/亮切换功能可在第二期实现,首期先做深色主题。

❓ 待确认事项

需要与客户确认后才能最终确定设计的关键问题

必须确认 — 影响核心架构
1
Channel 数据隔离方式
架构
物理隔离(独立数据库)还是逻辑隔离(同一库+channel_id过滤)?
2
Tesla 机密项目安全级别
安全
机密项目数据访问需要什么级别安全措施?是否独立数据库?
3
AI解析失败兜底方案
流程
RFQ文件AI解析失败时,人工录入还是模板导入?需定义标准模板?
4
Channel Rate 配置规则
计算
间接费率是固定值还是按时间段配置?修改后对已有CAS版本的影响?
5
费率生效规则
计算
同一工序多个费率同时生效时,取哪个?最新?最高?最低?
建议确认 — 影响功能完整性
6
CAS版本间差异对比
功能
V1.0→V2.0 之间是否需要逐项费用差异对比功能?
7
汇率维护方式
数据
汇率手动维护还是对接实时汇率API?Channel默认汇率如何设定?
8
治具费用×1.2系数
计算
什么场景下需要乘以1.2?是否可配置化?纳入Channel Rate还是独立?
9
BOM文件导入格式
数据
支持哪些格式?Excel? CSV? 有无标准模板要求?
可选确认 — 影响用户体验
10
并发用户数
性能
预计同时在线使用系统的最大人数?影响服务器配置。
11
通知方式
体验
项目状态变更时如何通知?邮件/企业微信/钉钉?
12
多语言支持
体验
是否需要支持中英文切换?
Amphenol 成本管控系统 — 数据库设计说明书 V1.0  |  2026-04-14  |  第一期  |  Confidential