1013 lines
60 KiB
Markdown
1013 lines
60 KiB
Markdown
# ERP系统与MOM系统数据库表映射对照表
|
||
|
||
> 版本: 1.2.0
|
||
> 创建日期: 2026-01-26
|
||
> 更新日期: 2026-02-07
|
||
> 说明: 本文档定义ERP系统与MOM系统之间的数据库表结构映射关系,为数据同步和系统集成提供参考。
|
||
> **关联文档**: [MOM系统数据升级方案-销售采购生产计划](mom系统数据升级方案-销售采购生产计划.md)(MOM 升级后新增 erp_sl/erp_po/erp_mp 镜像表,本文档已按升级后结构梳理)
|
||
|
||
---
|
||
|
||
## 目录
|
||
|
||
1. [概述](#1-概述)
|
||
2. [表级映射关系](#2-表级映射关系)
|
||
3. [基础数据模块字段映射](#3-基础数据模块字段映射)
|
||
4. [销售管理模块字段映射](#4-销售管理模块字段映射)
|
||
5. [采购管理模块字段映射](#5-采购管理模块字段映射)
|
||
6. [仓库管理模块字段映射](#6-仓库管理模块字段映射)
|
||
7. [生产计划模块字段映射](#7-生产计划模块字段映射)
|
||
8. [数据同步规则](#8-数据同步规则)
|
||
9. [附录](#9-附录)
|
||
|
||
---
|
||
|
||
## 1. 概述
|
||
|
||
### 1.1 系统说明
|
||
|
||
| 系统 | 说明 | 表前缀 |
|
||
|------|------|--------|
|
||
| ERP系统 | 企业资源计划系统,管理销售、采购、生产计划等业务 | erp_ |
|
||
| MOM系统 | 制造运营管理系统,管理车间生产执行、物料追溯等 | md_, wm_, pro_ 等 |
|
||
|
||
### 1.2 映射原则
|
||
|
||
1. **表名映射**: ERP表名通常以 `erp_模块_业务` 命名;MOM 侧分为两类:**镜像表**(MOM 升级后新建的 `erp_sl_`/`erp_po_`/`erp_mp_` 表,与 ERP 同结构、同主键)与 **业务表**(MOM 原生 `pro_`/`wm_`/`md_` 等)
|
||
2. **MOM 升级后(参见《MOM系统数据升级方案-销售采购生产计划》)**: 销售、采购、生产计划模块在 MOM 中新增 **ERP 数据镜像表**(erp_sl_order、erp_po_order、erp_mp_plan、erp_mp_mbom 等),ERP 数据先 1:1 同步到 MOM 的 erp_* 表,再按业务需要写入 pro_workorder、wm_arrival_notice 等业务表
|
||
3. **字段命名**: 两系统均采用下划线命名法;**镜像表** 与 ERP 字段名一致,**业务表** 可能存在字段名差异(见各节字段映射)
|
||
4. **数据同步方向**: 主数据与计划层数据从 ERP 同步到 MOM(含镜像表与业务表),生产执行数据从 MOM 反馈到 ERP
|
||
5. **租户隔离**: 两系统均支持多租户,通过 `tenant_id` 字段隔离
|
||
|
||
### 1.3 模块对照
|
||
|
||
| 模块 | ERP表前缀 | MOM表前缀 | 说明 |
|
||
|------|-----------|-----------|------|
|
||
| 基础数据-物料 | erp_md_ | md_ | 物料、BOM、单位等 |
|
||
| 基础数据-客户 | erp_sl_client | md_client | 客户档案 |
|
||
| 基础数据-供应商 | erp_po_supplier | md_vendor | 供应商档案 |
|
||
| 仓库管理 | erp_wm_ | wm_ | 仓库、库存等 |
|
||
| 销售管理 | erp_sl_ | - | 销售订单、发货等 |
|
||
| 采购管理 | erp_po_ | - | 采购订单、到货等 |
|
||
| 生产计划 | erp_mp_ | pro_ | 生产计划、工单等 |
|
||
|
||
---
|
||
|
||
## 2. 表级映射关系
|
||
|
||
### 2.1 基础数据模块
|
||
|
||
| 序号 | ERP表名 | MOM表名 | 中文名 | 同步方向 | 说明 |
|
||
|------|---------|---------|--------|----------|------|
|
||
| 1 | erp_md_item_type | md_item_type | 物料分类表 | ERP → MOM | 主数据同步 |
|
||
| 2 | erp_md_item | md_item | 物料档案表 | ERP → MOM | 主数据同步 |
|
||
| 3 | erp_md_unit | md_unit_measure | 计量单位表 | ERP → MOM | 主数据同步 |
|
||
| 4 | erp_md_bom | md_bom | BOM表头 | ERP → MOM | 新增独立表 |
|
||
| 5 | erp_md_bom_line | md_product_bom | BOM明细表 | ERP → MOM | 通过bom_id关联 |
|
||
| 6 | erp_sl_client | md_client | 客户档案表 | ERP → MOM | 字段已合并 |
|
||
| 7 | erp_po_supplier | md_vendor | 供应商档案表 | ERP → MOM | 字段已合并 |
|
||
|
||
### 2.2 仓库管理模块
|
||
|
||
| 序号 | ERP表名 | MOM表名 | 中文名 | 同步方向 | 说明 |
|
||
|------|---------|---------|--------|----------|------|
|
||
| 1 | erp_wm_warehouse | wm_warehouse | 仓库表 | ERP → MOM | 主数据同步 |
|
||
| 2 | erp_wm_location | wm_storage_location | 库区表 | ERP → MOM | 主数据同步 |
|
||
| 3 | erp_wm_area | wm_storage_area | 库位表 | ERP → MOM | 主数据同步 |
|
||
| 4 | erp_wm_stock | wm_material_stock | 库存表 | 双向同步 | 库存实时同步 |
|
||
| 5 | erp_wm_item_recpt | wm_item_recpt | 入库单表头 | 双向同步 | 入库单据同步 |
|
||
| 6 | erp_wm_item_recpt_line | wm_item_recpt_line | 入库单明细 | 双向同步 | 入库明细同步 |
|
||
| 7 | erp_wm_issue | wm_issue_header | 出库单表头 | 双向同步 | 出库单据同步 |
|
||
| 8 | erp_wm_issue_line | wm_issue_line | 出库单明细 | 双向同步 | 出库明细同步 |
|
||
|
||
### 2.3 销售管理模块
|
||
|
||
**说明(MOM 升级后)**: MOM 侧新增 **erp_sl_order**、**erp_sl_order_line** 作为 ERP 销售订单的 1:1 镜像表(主键与 ERP 一致);工单仍通过 pro_workorder.source_code 等关联订单。
|
||
|
||
| 序号 | ERP表名 | MOM表名 | 中文名 | 同步方向 | 说明 |
|
||
|------|---------|---------|--------|----------|------|
|
||
| 1 | erp_sl_order | **erp_sl_order** | 销售订单表头 | ERP → MOM | **MOM 镜像表**(1:1,主键一致);供排程/发货查询 |
|
||
| 2 | erp_sl_order_line | **erp_sl_order_line** | 销售订单明细 | ERP → MOM | **MOM 镜像表**(1:1);订单物料完整信息 |
|
||
| 3 | erp_sl_order | pro_workorder (source) | 销售订单→工单来源 | ERP → MOM | 工单下发时 source_code=order_code 等关联 |
|
||
| 4 | erp_sl_contract | - | 销售合同表头 | 不同步 | ERP专有,MOM不涉及合同管理 |
|
||
| 5 | erp_sl_contract_line | - | 销售合同明细 | 不同步 | ERP专有 |
|
||
| 6 | erp_sl_deliver | wm_product_salse | 发货通知单表头 | 双向同步 | ERP发货 ↔ MOM产品销售出库 |
|
||
| 7 | erp_sl_deliver_line | wm_product_salse_line | 发货通知单明细 | 双向同步 | 发货明细 |
|
||
| 8 | erp_sl_invoice | - | 销售发票表头 | 不同步 | ERP专有财务单据 |
|
||
| 9 | erp_sl_invoice_line | - | 销售发票明细 | 不同步 | ERP专有财务单据 |
|
||
| 10 | erp_sl_saleback | wm_rt_salse | 销售退货单表头 | 双向同步 | ERP退货 ↔ MOM退货入库 |
|
||
| 11 | erp_sl_saleback_line | wm_rt_salse_line | 销售退货单明细 | 双向同步 | 退货明细 |
|
||
|
||
### 2.4 采购管理模块
|
||
|
||
**说明(MOM 升级后)**: MOM 侧新增 **erp_po_order**、**erp_po_order_line** 作为 ERP 采购订单的 1:1 镜像表;wm_arrival_notice.po_code、wm_item_recpt.po_order_id 等仍用于到货/入库关联。
|
||
|
||
| 序号 | ERP表名 | MOM表名 | 中文名 | 同步方向 | 说明 |
|
||
|------|---------|---------|--------|----------|------|
|
||
| 1 | erp_po_order | **erp_po_order** | 采购订单表头 | ERP → MOM | **MOM 镜像表**(1:1,主键一致);入库/齐套时溯源 |
|
||
| 2 | erp_po_order_line | **erp_po_order_line** | 采购订单明细 | ERP → MOM | **MOM 镜像表**(1:1);采购物料完整信息 |
|
||
| 3 | erp_po_order | wm_arrival_notice (po_code) | 采购订单→到货通知 | ERP → MOM | 到货通知单关联 po_code;wm_item_recpt 增加 po_order_id/po_line_id |
|
||
| 4 | erp_po_checkin | wm_item_recpt | 采购到货/入库单 | 双向同步 | ERP到货 ↔ MOM入库单 |
|
||
| 5 | erp_po_checkin_line | wm_item_recpt_line | 采购到货明细 | 双向同步 | 到货明细行 |
|
||
| 6 | erp_po_invoice | - | 采购发票表头 | 不同步 | ERP专有财务单据 |
|
||
| 7 | erp_po_invoice_line | - | 采购发票明细 | 不同步 | ERP专有财务单据 |
|
||
| 8 | erp_po_reject | wm_rt_vendor | 采购退货单表头 | 双向同步 | ERP退货 ↔ MOM退料出库 |
|
||
| 9 | erp_po_reject_line | wm_rt_vendor_line | 采购退货明细 | 双向同步 | 退货明细 |
|
||
|
||
### 2.5 生产计划模块
|
||
|
||
**说明(MOM 升级后)**: MOM 侧新增 **erp_mp_plan**、**erp_mp_plan_line**、**erp_mp_mbom**、**erp_mp_mbom_line**、**erp_mp_purchase** 作为 ERP 生产计划层数据的 1:1 镜像表;计划审核后先同步到 MOM 的 erp_mp_* 表,**下发车间**时再按供应方式拆解写入 pro_workorder、pro_workorder_bom。pro_workorder 增加 plan_id、plan_code、bom_version、delivery_date、mbom_id 等字段关联计划层。
|
||
|
||
| 序号 | ERP表名 | MOM表名 | 中文名 | 同步方向 | 说明 |
|
||
|------|---------|---------|--------|----------|------|
|
||
| 1 | erp_mp_plan | **erp_mp_plan** | 生产计划单表头 | ERP → MOM | **MOM 镜像表**(1:1,主键一致);保留计划层完整信息 |
|
||
| 2 | erp_mp_plan_line | **erp_mp_plan_line** | 生产计划单明细 | ERP → MOM | **MOM 镜像表**(1:1);计划物料行 |
|
||
| 3 | erp_mp_plan | pro_workorder | 生产计划单 → 工单 | ERP → MOM | 计划**下发**时按供应方式拆解创建工单;pro_workorder.plan_code=plan_code |
|
||
| 4 | erp_mp_plan_line | pro_workorder_bom | 计划明细 → 工单BOM | ERP → MOM | 计划物料 → 工单BOM(下发时) |
|
||
| 5 | erp_mp_mbom | **erp_mp_mbom** | 计划物料清单表头 | ERP → MOM | **MOM 镜像表**(1:1);BOM 运算结果,齐套/下发用 |
|
||
| 6 | erp_mp_mbom_line | **erp_mp_mbom_line** | 计划物料清单明细 | ERP → MOM | **MOM 镜像表**(1:1);MBOM 明细 |
|
||
| 7 | erp_mp_mbom | pro_workorder (拆解) | 物料清单 → 子工单 | ERP → MOM | 下发时按供应方式拆解为多个 pro_workorder;erp_mp_mbom.workorder_id 关联 |
|
||
| 8 | erp_mp_mbom_line | pro_workorder_bom | 物料清单明细 → 工单BOM | ERP → MOM | 下发时写入工单 BOM |
|
||
| 9 | erp_mp_purchase | **erp_mp_purchase** | 采购计划单 | ERP → MOM | **MOM 镜像表**(1:1);采购需求;可关联 wm_arrival_notice.purchase_plan_code |
|
||
| 10 | erp_mp_parts | pro_workorder | 零部件订单 | ERP → MOM | 零部件生产 → 子工单 |
|
||
|
||
---
|
||
|
||
## 3. 基础数据模块字段映射
|
||
|
||
### 3.1 物料分类表 (erp_md_item_type → md_item_type)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| item_type_id | item_type_id | bigint | 分类ID | 主键 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | 新增字段 |
|
||
| item_type_code | item_type_code | varchar(32) | 分类编码 | - |
|
||
| item_type_name | item_type_name | varchar(50) | 分类名称 | - |
|
||
| parent_type_id | parent_type_id | bigint | 父分类ID | - |
|
||
| ancestors | ancestors | varchar(500) | 祖级列表 | 扩展长度 |
|
||
| order_num | order_num | int | 排序号 | - |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 新增字段 |
|
||
| create_by | create_by | varchar(64) | 创建者 | - |
|
||
| create_time | create_time | datetime | 创建时间 | - |
|
||
| update_by | update_by | varchar(64) | 更新者 | - |
|
||
| update_time | update_time | datetime | 更新时间 | - |
|
||
|
||
### 3.2 物料档案表 (erp_md_item → md_item)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| item_id | item_id | bigint | 物料ID | 主键 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | 新增字段 |
|
||
| item_code | item_code | varchar(32) | 物料编码 | - |
|
||
| item_name | item_name | varchar(100) | 物料名称 | - |
|
||
| specification | specification | varchar(200) | 规格型号 | - |
|
||
| unit_of_measure | unit_of_measure | varchar(20) | 主计量单位 | - |
|
||
| item_type_id | item_type_id | bigint | 物料分类ID | - |
|
||
| item_type_code | item_type_code | varchar(32) | 分类编码 | - |
|
||
| item_type_name | item_type_name | varchar(50) | 分类名称 | - |
|
||
| item_sub_type_code | item_sub_type_code | varchar(32) | 二级分类编码 | 新增字段 |
|
||
| item_sub_type_name | item_sub_type_name | varchar(50) | 二级分类名称 | 新增字段 |
|
||
| item_or_product | item_or_product | varchar(20) | 物料/产品标识 | ITEM/PRODUCT |
|
||
| safe_stock_flag | safe_stock_flag | char(1) | 启用安全库存 | - |
|
||
| min_stock | min_stock | decimal(18,4) | 最小库存 | - |
|
||
| max_stock | max_stock | decimal(18,4) | 最大库存 | - |
|
||
| default_warehouse_id | default_warehouse_id | bigint | 默认仓库ID | 新增字段 |
|
||
| default_warehouse_name | default_warehouse_name | varchar(50) | 默认仓库名称 | 新增字段 |
|
||
| weight | weight | decimal(18,6) | 重量(kg) | 新增字段 |
|
||
| volume | volume | decimal(18,6) | 体积(m³) | 新增字段 |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 新增字段 |
|
||
| remark | remark | varchar(500) | 备注 | 新增字段 |
|
||
| *(冗余字段-关联md_bom)* | default_bom_id | bigint | 默认BOM ID | 关联md_bom.bom_id(冗余字段) |
|
||
| *(冗余字段-关联md_bom)* | default_bom_code | varchar(32) | 默认BOM编码 | 关联md_bom.bom_code(冗余字段) |
|
||
| *(冗余字段-关联md_bom)* | default_bom_name | varchar(100) | 默认BOM名称 | 关联md_bom.bom_name(冗余字段) |
|
||
| *(冗余字段-关联md_bom)* | base_qty | decimal(18,4) | 基本数量 | 关联md_bom.base_qty(冗余字段) |
|
||
| *(冗余字段-关联md_bom)* | default_bom_version | varchar(20) | 默认BOM版本 | 关联md_bom.version(冗余字段) |
|
||
|
||
**说明**: `md_item`表中的BOM相关字段为冗余字段,用于快速查询产品的默认BOM信息,实际BOM数据存储在`md_bom`表中。
|
||
|
||
### 3.3 计量单位表 (erp_md_unit → md_unit_measure)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| unit_id | measure_id | bigint | 单位ID | 主键名不同 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | 新增字段 |
|
||
| unit_code | measure_code | varchar(32) | 单位编码 | 字段名不同 |
|
||
| unit_name | measure_name | varchar(50) | 单位名称 | 字段名不同 |
|
||
| primary_id | primary_id | bigint | 主单位ID | 新增字段 |
|
||
| primary_flag | primary_flag | char(1) | 是否主单位 | 新增字段 |
|
||
| change_rate | change_rate | decimal(18,6) | 换算比例 | 新增字段 |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 新增字段 |
|
||
|
||
### 3.4 BOM表头映射 (erp_md_bom → md_bom)
|
||
|
||
**说明**: ERP系统BOM表头独立映射到MOM系统的`md_bom`表。`md_bom`是一个独立的表,不再将BOM信息存储在`md_item`表中。`md_item`表中的BOM相关字段(如`default_bom_id`)仅作为冗余字段,用于快速查询产品的默认BOM信息。
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| bom_id | bom_id | bigint | BOM ID | 主键 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | - |
|
||
| bom_code | bom_code | varchar(32) | BOM编码 | 唯一索引 |
|
||
| bom_name | bom_name | varchar(100) | BOM名称 | - |
|
||
| item_id | item_id | bigint | 产品物料ID | 外键关联md_item |
|
||
| item_code | item_code | varchar(32) | 产品物料编码 | 冗余字段 |
|
||
| item_name | item_name | varchar(100) | 产品物料名称 | 冗余字段 |
|
||
| unit_name | unit_name | varchar(20) | 计量单位 | - |
|
||
| base_qty | base_qty | decimal(18,4) | 基本数量 | 母件基数 |
|
||
| version | version | varchar(20) | 版本号 | - |
|
||
| version_desc | version_desc | varchar(200) | 版本说明 | - |
|
||
| status | status | varchar(20) | BOM状态 | DRAFT/APPROVED/OBSOLETE |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | Y/N |
|
||
| remark | remark | varchar(500) | 备注 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 0/1 |
|
||
| create_by | create_by | varchar(64) | 创建者 | - |
|
||
| create_time | create_time | datetime | 创建时间 | - |
|
||
| update_by | update_by | varchar(64) | 更新者 | - |
|
||
| update_time | update_time | datetime | 更新时间 | - |
|
||
|
||
**索引设计**:
|
||
- 主键: `pk_md_bom` (bom_id)
|
||
- 唯一索引: `uk_bom_code` (bom_code, tenant_id)
|
||
- 普通索引: `idx_bom_item` (item_id)
|
||
- 普通索引: `idx_bom_tenant` (tenant_id)
|
||
- 普通索引: `idx_bom_status` (status)
|
||
|
||
### 3.5 BOM明细映射 (erp_md_bom_line → md_product_bom)
|
||
|
||
**说明**: ERP系统BOM明细映射到MOM产品BOM关系表,通过`bom_id`外键关联`md_bom`表
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| line_id | bom_line_id | bigint | 明细行ID | **MOM主键**(建议重命名,原字段名为bom_id) |
|
||
| bom_id | bom_id | bigint | BOM表头ID | **外键关联md_bom.bom_id**(新增字段) |
|
||
| line_no | line_no | int | 行号 | - |
|
||
| item_id | bom_item_id | bigint | 子件物料ID | 字段名不同 |
|
||
| item_code | bom_item_code | varchar(32) | 子件物料编码 | 字段名不同 |
|
||
| item_name | bom_item_name | varchar(100) | 子件物料名称 | 字段名不同 |
|
||
| specification | bom_item_spec | varchar(200) | 子件规格型号 | 字段名不同 |
|
||
| unit_name | unit_name | varchar(20) | 计量单位名称 | - |
|
||
| - | unit_of_measure | varchar(20) | 计量单位编码 | MOM专用 |
|
||
| base_qty | quantity / base_qty | decimal(18,6) | 基本用量 | 两字段存储 |
|
||
| loss_rate | loss_rate | decimal(5,2) | 损耗率(%) | - |
|
||
| supply_type | supply_type | varchar(20) | 供应方式 | PURCHASE/PRODUCE/OUTSOURCE |
|
||
| - | item_or_product | varchar(20) | 物料/产品标识 | MOM专用 |
|
||
| - | enable_flag | char(1) | 启用状态 | MOM专用 |
|
||
| remark | remark | varchar(200) | 备注 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 0/1 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | - |
|
||
| - | create_by | varchar(64) | 创建者 | MOM专用 |
|
||
| - | create_time | datetime | 创建时间 | MOM专用 |
|
||
| - | update_by | varchar(64) | 更新者 | MOM专用 |
|
||
| - | update_time | datetime | 更新时间 | MOM专用 |
|
||
|
||
**关联关系**:
|
||
- `md_product_bom.bom_id` → `md_bom.bom_id` (外键)
|
||
- 一个`md_bom`记录可以有多条`md_product_bom`明细记录(1:N关系)
|
||
|
||
**重要说明**:
|
||
- `md_product_bom.bom_id`字段在明细表中**作为外键**,指向`md_bom.bom_id`(BOM表头的主键)
|
||
- **字段名冲突问题**: 明细表的主键字段名也是`bom_id`,但实际存储的是明细行的ID(对应ERP的`line_id`)
|
||
- **建议**: 将明细表主键重命名为`bom_line_id`或`line_id`,以避免与外键字段`bom_id`混淆
|
||
- **当前实现**: 如果保持现状,需要通过字段用途区分:
|
||
- 作为主键的`bom_id`: 存储明细行ID(自增主键)
|
||
- 作为外键的`bom_id`: 存储BOM表头ID(关联`md_bom.bom_id`)
|
||
|
||
**表关系图**:
|
||
```
|
||
md_bom (BOM表头)
|
||
├─ bom_id (PK) ← 主键
|
||
├─ bom_code (UK) ← 唯一编码
|
||
├─ item_id (FK) → md_item.item_id ← 产品物料
|
||
├─ version ← 版本号
|
||
├─ status ← 状态
|
||
└─ ...
|
||
|
||
md_product_bom (BOM明细)
|
||
├─ bom_line_id (PK) ← 明细行ID(主键,建议重命名自bom_id)
|
||
├─ bom_id (FK) → md_bom.bom_id ← 外键关联BOM表头
|
||
├─ item_id → md_item.item_id ← 产品物料ID(冗余字段)
|
||
├─ bom_item_id → md_item.item_id ← 子件物料ID
|
||
├─ line_no ← 行号
|
||
├─ quantity ← 用量
|
||
└─ ...
|
||
```
|
||
|
||
**字段重命名说明**:
|
||
- 原`md_product_bom.bom_id`(主键)建议重命名为`bom_line_id`,避免与外键字段混淆
|
||
- 新增`md_product_bom.bom_id`字段作为外键,关联`md_bom.bom_id`
|
||
- 详见: `alter_md_product_bom_for_md_bom.sql`
|
||
|
||
### 3.6 客户档案表 (erp_sl_client → md_client)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| client_id | client_id | bigint | 客户ID | 主键 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | 新增字段 |
|
||
| client_code | client_code | varchar(32) | 客户编码 | - |
|
||
| client_name | client_name | varchar(100) | 客户名称 | - |
|
||
| client_nick | client_nick | varchar(50) | 客户简称 | - |
|
||
| client_en | client_en | varchar(100) | 英文名称 | - |
|
||
| client_type | client_type | varchar(20) | 客户类型 | - |
|
||
| client_level | client_level | varchar(10) | 客户级别 | 新增字段 |
|
||
| client_source | client_source | varchar(50) | 客户来源 | 新增字段 |
|
||
| client_industry | client_industry | varchar(50) | 所属行业 | 新增字段 |
|
||
| province | province | varchar(50) | 省份 | 新增字段 |
|
||
| city | city | varchar(50) | 城市 | 新增字段 |
|
||
| address | address | varchar(200) | 公司地址 | - |
|
||
| website | website | varchar(200) | 网址 | - |
|
||
| email | email | varchar(100) | 邮箱 | - |
|
||
| tel | tel | varchar(20) | 电话 | - |
|
||
| fax | fax | varchar(20) | 传真 | 新增字段 |
|
||
| contact1 | contact1 | varchar(50) | 联系人1 | - |
|
||
| contact1_tel | contact1_tel | varchar(20) | 联系人1电话 | - |
|
||
| contact1_email | contact1_email | varchar(100) | 联系人1邮箱 | - |
|
||
| contact2 | contact2 | varchar(50) | 联系人2 | - |
|
||
| contact2_tel | contact2_tel | varchar(20) | 联系人2电话 | - |
|
||
| contact2_email | contact2_email | varchar(100) | 联系人2邮箱 | - |
|
||
| credit_code | credit_code | varchar(30) | 统一社会信用代码 | - |
|
||
| bank_name | bank_name | varchar(100) | 开户银行 | 新增字段 |
|
||
| bank_account | bank_account | varchar(30) | 银行账号 | 新增字段 |
|
||
| tax_no | tax_no | varchar(30) | 税号 | 新增字段 |
|
||
| invoice_address | invoice_address | varchar(200) | 开票地址电话 | 新增字段 |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 新增字段 |
|
||
| remark | remark | varchar(500) | 备注 | - |
|
||
|
||
### 3.7 供应商档案表 (erp_po_supplier → md_vendor)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 | 备注 |
|
||
|-----------|-----------|------|------|------|
|
||
| supplier_id | vendor_id | bigint | 供应商ID | 主键名不同 |
|
||
| tenant_id | tenant_id | varchar(20) | 租户ID | - |
|
||
| supplier_code | vendor_code | varchar(32) | 供应商编码 | 字段名不同 |
|
||
| supplier_name | vendor_name | varchar(100) | 供应商名称 | 字段名不同 |
|
||
| supplier_nick | vendor_nick | varchar(50) | 供应商简称 | 字段名不同 |
|
||
| - | vendor_en | varchar(100) | 英文名称 | MOM专用 |
|
||
| - | vendor_des | varchar(500) | 供应商简介 | MOM专用 |
|
||
| supplier_type | vendor_type | varchar(20) | 供应商类型 | 新增字段 |
|
||
| supplier_level | vendor_level | varchar(10) | 供应商等级 | 字段名不同 |
|
||
| - | vendor_score | int | 供应商评分 | MOM专用 |
|
||
| - | vendor_logo | varchar(255) | Logo地址 | MOM专用 |
|
||
| province | province | varchar(50) | 省份 | 新增字段 |
|
||
| city | city | varchar(50) | 城市 | 新增字段 |
|
||
| address | address | varchar(200) | 公司地址 | - |
|
||
| zip_code | zip_code | varchar(20) | 邮编 | 新增字段 |
|
||
| website | website | varchar(200) | 网址 | - |
|
||
| email | email | varchar(100) | 邮箱 | - |
|
||
| tel | tel | varchar(20) | 电话 | - |
|
||
| fax | fax | varchar(20) | 传真 | 新增字段 |
|
||
| contact1 | contact1 | varchar(50) | 联系人1 | - |
|
||
| contact1_tel | contact1_tel | varchar(20) | 联系人1电话 | - |
|
||
| - | contact1_email | varchar(100) | 联系人1邮箱 | MOM专用 |
|
||
| contact2 | contact2 | varchar(50) | 联系人2 | - |
|
||
| contact2_tel | contact2_tel | varchar(20) | 联系人2电话 | - |
|
||
| - | contact2_email | varchar(100) | 联系人2邮箱 | MOM专用 |
|
||
| - | credit_code | varchar(30) | 统一社会信用代码 | MOM专用 |
|
||
| bank_name | bank_name | varchar(100) | 开户银行 | 新增字段 |
|
||
| bank_account | bank_account | varchar(30) | 银行账号 | 新增字段 |
|
||
| tax_no | tax_no | varchar(30) | 税号 | 新增字段 |
|
||
| bank_address | invoice_address | varchar(200) | 开票地址 | 字段名不同 |
|
||
| supply_items | supply_items | varchar(500) | 供应料品 | 新增字段 |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 | - |
|
||
| del_flag | del_flag | char(1) | 删除标志 | 新增字段 |
|
||
| remark | remark | varchar(500) | 备注 | - |
|
||
|
||
---
|
||
|
||
## 4. 销售管理模块字段映射
|
||
|
||
### 4.0 模块差异总览(含 MOM 升级后镜像表)
|
||
|
||
**MOM 升级后**:MOM 侧新增 **erp_sl_order**、**erp_sl_order_line** 作为 ERP 销售订单的 **1:1 镜像表**(主键与 ERP 一致);工单仍通过 pro_workorder.source_code 等与订单关联,用于排程与发货溯源。
|
||
|
||
| 对比项 | ERP系统 | MOM系统 | 差异说明 |
|
||
|--------|---------|---------|----------|
|
||
| 定位 | 完整销售业务管理(合同→订单→发货→开票→退货) | 不直接管理销售,仅接收订单信息用于生产排程 | MOM无独立销售模块 |
|
||
| 客户档案 | erp_sl_client | md_client | 已映射至基础数据模块 |
|
||
| 销售合同 | erp_sl_contract / _line | 无对应表 | ERP专有,MOM不涉及 |
|
||
| 销售订单 | erp_sl_order / _line (含合同、金额、销售员) | **erp_sl_order / erp_sl_order_line**(MOM 镜像表,1:1)+ pro_workorder (source_code 关联) | MOM 升级后:订单先同步到镜像表,工单通过 source_code 关联订单 |
|
||
| 发货管理 | erp_sl_deliver / _line (含收货地址、客户) | wm_product_salse / _line (产品销售出库) | 概念不同:ERP=发货通知,MOM=出库操作 |
|
||
| 销售发票 | erp_sl_invoice / _line | 无对应表 | ERP专有财务单据 |
|
||
| 退货管理 | erp_sl_saleback / _line | wm_rt_salse / _line (销售退货入库) | ERP=退货通知,MOM=退货入库 |
|
||
| 金额/价格 | 支持单价、金额、已发货金额 | 不涉及价格和金额 | MOM仅关注数量 |
|
||
| 销售报表 | 订单执行表、发货明细表等 | 无 | ERP专有 |
|
||
|
||
**镜像表映射(1:1)**:ERP erp_sl_order → MOM erp_sl_order(主键 id 一致,字段一一对应,含 erp_sync_time);ERP erp_sl_order_line → MOM erp_sl_order_line(主键 id 一致,order_id 指向 MOM erp_sl_order.id)。镜像表用于 MOM 侧按订单查询、齐套、发货关联,不转换为 MOM 业务状态。
|
||
|
||
### 4.1 销售订单 → MOM工单 (erp_sl_order → pro_workorder)
|
||
|
||
> 说明: ERP 销售订单审核后先 1:1 同步到 MOM 的 erp_sl_order / erp_sl_order_line 镜像表;通过生产计划转化为 MOM 工单时,将订单关键信息作为工单的来源引用(source_code=order_code 等)。
|
||
|
||
| ERP字段名 (erp_sl_order) | MOM字段名 (pro_workorder) | 类型 | 说明 | 映射方式 |
|
||
|--------------------------|--------------------------|------|------|----------|
|
||
| order_id | - | bigint | 订单ID | 不直接映射 |
|
||
| order_code | source_code | varchar(64) | 订单编码 → 来源单据编码 | 直接映射 |
|
||
| - | order_source | varchar(64) | - → 来源类型 | 固定值 'ORDER' |
|
||
| order_date | - | date | 订单日期 | 不映射 |
|
||
| client_id | client_id | bigint | 客户ID | 直接映射 |
|
||
| client_code | client_code | varchar(64) | 客户编码 | 直接映射 |
|
||
| client_name | client_name | varchar(255) | 客户名称 | 直接映射 |
|
||
| delivery_date | request_date | datetime | 交货日期 → 需求日期 | 类型转换 date→datetime |
|
||
| total_quantity | quantity | double(14,2) | 总数量 → 生产数量 | 精度转换 decimal→double |
|
||
| status | - | varchar(20) | 订单状态 | 不映射(工单有独立状态) |
|
||
|
||
**ERP独有字段(MOM不需要):**
|
||
|
||
| ERP字段名 | 说明 | 原因 |
|
||
|-----------|------|------|
|
||
| order_name | 订单名称 | MOM工单有独立名称 |
|
||
| order_type | 订单类型 | MOM使用 workorder_type |
|
||
| contract_id / contract_code | 合同关联 | MOM不涉及合同 |
|
||
| sales_user_id / sales_user_name | 销售员 | MOM不涉及销售人员 |
|
||
| dept_id / dept_name | 销售部门 | MOM不涉及销售部门 |
|
||
| delivery_address | 收货地址 | MOM不涉及物流 |
|
||
| total_amount / delivered_amount | 金额 | MOM不涉及价格 |
|
||
| delivered_quantity | 已发货数量 | MOM通过出库单统计 |
|
||
| operator_id / operator_name | 操作员 | MOM有独立操作员 |
|
||
| approver_id / approver_name / approve_date | 审核 | MOM有独立审核流程 |
|
||
| business_status | 业务状态 | MOM使用独立状态 |
|
||
|
||
### 4.2 销售订单明细 → 工单BOM (erp_sl_order_line → pro_workorder_bom)
|
||
|
||
> 说明: 销售订单明细中的物料信息,在经过BOM计算后,转化为工单的BOM明细。非直接一对一映射,需通过生产计划中的BOM计算环节转换。
|
||
|
||
| ERP字段名 (erp_sl_order_line) | MOM字段名 (pro_workorder_bom) | 说明 | 映射方式 |
|
||
|-------------------------------|-------------------------------|------|----------|
|
||
| item_id | item_id | 产品物料ID | 间接映射(BOM计算后) |
|
||
| item_code | item_code | 产品物料编码 | 间接映射 |
|
||
| item_name | item_name | 产品物料名称 | 间接映射 |
|
||
| specification | item_spc | 规格型号 | 字段名不同 |
|
||
| unit_name | unit_of_measure | 计量单位 | 字段名不同 |
|
||
| quantity | quantity | 订单数量 → 预计使用量 | 间接映射(BOM计算后) |
|
||
|
||
**ERP独有字段(MOM不需要):**
|
||
- `line_no`, `track_code`, `contract_line_id`: 订单行管理字段
|
||
- `unit_price`, `amount`: 价格金额字段
|
||
- `delivered_qty`: 发货统计字段
|
||
- `quality_req`: 质量要求(MOM通过qc模块管理)
|
||
|
||
### 4.3 发货通知单 → 产品销售出库 (erp_sl_deliver → wm_product_salse)
|
||
|
||
| ERP字段名 (erp_sl_deliver) | MOM字段名 (wm_product_salse) | 类型 | 说明 | 映射方式 |
|
||
|---------------------------|------------------------------|------|------|----------|
|
||
| deliver_id | record_id | bigint | 主键 | 独立生成 |
|
||
| deliver_code | salse_code | varchar(64) | 发货编码 → 出库编码 | 编码映射 |
|
||
| deliver_date | salse_date | datetime | 发货日期 → 出库日期 | 类型转换 |
|
||
| order_id | workorder_id | bigint | 订单ID → 工单ID | 间接关联 |
|
||
| order_code | workorder_code | varchar(64) | 订单编码 → 工单编码 | 间接关联 |
|
||
| client_id | client_id | bigint | 客户ID | 直接映射 |
|
||
| client_name | client_name | varchar(255) | 客户名称 | 直接映射 |
|
||
| warehouse_id | warehouse_id | bigint | 仓库ID | 直接映射 |
|
||
| warehouse_name | warehouse_name | varchar(255) | 仓库名称 | 直接映射 |
|
||
| status | status | varchar(64) | 状态 | 值转换 |
|
||
|
||
**核心差异:**
|
||
- ERP侧重**销售发货流程**(关联合同、客户地址、金额),MOM侧重**仓库出库操作**(关联工单、库区库位、批次)
|
||
- ERP的`delivery_address`在MOM中不体现
|
||
- MOM增加了`batch_code`批次号、`location_id`库区、`area_id`库位等仓储细粒度字段
|
||
|
||
---
|
||
|
||
## 5. 采购管理模块字段映射
|
||
|
||
### 5.0 模块差异总览(含 MOM 升级后镜像表)
|
||
|
||
**MOM 升级后**:MOM 侧新增 **erp_po_order**、**erp_po_order_line** 作为 ERP 采购订单的 **1:1 镜像表**(主键与 ERP 一致);到货/入库仍通过 wm_arrival_notice.po_code、wm_item_recpt.po_order_id / po_line_id 等关联订单。
|
||
|
||
| 对比项 | ERP系统 | MOM系统 | 差异说明 |
|
||
|--------|---------|---------|----------|
|
||
| 定位 | 完整采购业务管理(订单→到货→入库→发票→退货) | 仅管理到货入库和退货环节 | MOM不管理采购订单和发票 |
|
||
| 供应商档案 | erp_po_supplier | md_vendor | 已映射至基础数据模块 |
|
||
| 采购订单 | erp_po_order / _line (含价格、合同、计划关联) | **erp_po_order / erp_po_order_line**(MOM 镜像表,1:1)+ wm_arrival_notice.po_code、wm_item_recpt.po_order_id | MOM 升级后:订单先同步到镜像表,到货/入库通过 po_code、po_order_id 关联 |
|
||
| 到货管理 | erp_po_checkin / _line (到货单) | wm_item_recpt / _line (入库单) | ERP=到货确认,MOM=入库操作;wm_item_recpt 增加 po_order_id/po_line_id |
|
||
| 采购发票 | erp_po_invoice / _line | 无对应表 | ERP专有财务单据 |
|
||
| 退货管理 | erp_po_reject / _line | wm_rt_vendor / _line | ERP=退货通知,MOM=退料出库 |
|
||
| 价格/金额 | 支持单价、金额、已到货金额 | 不涉及价格和金额 | MOM仅关注数量 |
|
||
| 采购计划 | 在生产计划模块 (erp_mp_purchase) | erp_mp_purchase(MOM 镜像)+ wm_arrival_notice (到货通知) | 采购需求先同步到 MOM erp_mp_purchase,再转化为到货预期 |
|
||
|
||
**镜像表映射(1:1)**:ERP erp_po_order → MOM erp_po_order;ERP erp_po_order_line → MOM erp_po_order_line。主键一致,字段一一对应,含 erp_sync_time。
|
||
|
||
### 5.1 采购订单 → 到货通知 (erp_po_order → wm_arrival_notice)
|
||
|
||
> 说明: ERP 采购订单审核后先 1:1 同步到 MOM 的 erp_po_order / erp_po_order_line 镜像表;MOM 接收订单编码创建到货通知单(po_code=order_code),用于后续来料检验和入库;入库单 wm_item_recpt 增加 po_order_id、po_line_id 与镜像表关联。
|
||
|
||
| ERP字段名 (erp_po_order) | MOM字段名 (wm_arrival_notice) | 类型 | 说明 | 映射方式 |
|
||
|--------------------------|-------------------------------|------|------|----------|
|
||
| order_id | - | bigint | 订单ID | 不映射(MOM有独立主键) |
|
||
| order_code | po_code | varchar(64) | 订单编码 → 采购单号 | 直接映射 |
|
||
| supplier_id | vendor_id | bigint | 供应商ID | 字段名不同 |
|
||
| supplier_code | vendor_code | varchar(64) | 供应商编码 | 字段名不同 |
|
||
| supplier_name | vendor_name | varchar(255) | 供应商名称 | 字段名不同 |
|
||
| - | vendor_nick | varchar(255) | - → 供应商简称 | MOM新增 |
|
||
| delivery_date | arrival_date | datetime | 到货日期 | 字段名不同,类型转换 |
|
||
| status | status | varchar(64) | 状态 | 值转换 |
|
||
|
||
**ERP独有字段(MOM不需要):**
|
||
- `order_date`: 订单日期(MOM以到货日期为准)
|
||
- `business_status`, `business_type`, `order_type`: 业务分类字段
|
||
- `material_need`: 用料需求
|
||
- `dept_id`, `dept_name`, `user_id`, `user_name`: 采购部门/人员
|
||
- `contract_no`, `contract_file`: 合同信息
|
||
- `total_quantity`, `total_amount`, `arrived_quantity`: 汇总统计字段
|
||
|
||
### 5.2 采购订单明细 → 到货通知明细 (erp_po_order_line → wm_arrival_notice_line)
|
||
|
||
| ERP字段名 (erp_po_order_line) | MOM字段名 (wm_arrival_notice_line) | 类型 | 说明 | 映射方式 |
|
||
|-------------------------------|-------------------------------------|------|------|----------|
|
||
| line_id | - | bigint | 行ID | 不映射 |
|
||
| order_code | - | varchar(32) | 订单编码 | 通过表头关联 |
|
||
| line_no | - | int | 行号 | MOM独立编号 |
|
||
| item_id | item_id | bigint | 物料ID | 直接映射 |
|
||
| item_code | item_code | varchar(64) | 物料编码 | 直接映射 |
|
||
| item_name | item_name | varchar(255) | 物料名称 | 直接映射 |
|
||
| specification | specification | varchar(500) | 规格型号 | 直接映射 |
|
||
| unit_name | unit_of_measure | varchar(64) | 计量单位 | 字段名不同 |
|
||
| quantity | quantity_arrive | double | 采购数量 → 到货数量 | 字段名不同 |
|
||
|
||
**ERP独有字段(MOM不需要):**
|
||
- `track_code`, `plan_code`, `plan_line_id`: 跟单和计划关联
|
||
- `unit_price`, `amount`: 价格金额
|
||
- `arrived_quantity`: 已到货统计(MOM通过入库单统计)
|
||
- `need_date`: 需求日期
|
||
|
||
### 5.3 采购到货 → 入库单 (erp_po_checkin → wm_item_recpt)
|
||
|
||
| ERP字段名 (erp_po_checkin) | MOM字段名 (wm_item_recpt) | 类型 | 说明 | 映射方式 |
|
||
|---------------------------|---------------------------|------|------|----------|
|
||
| checkin_id | recpt_id | bigint | 主键 | 独立生成 |
|
||
| checkin_code | recpt_code | varchar(64) | 到货编码 → 入库编码 | 编码映射 |
|
||
| - | recpt_name | varchar(255) | - → 入库单名称 | MOM新增 |
|
||
| order_id | - | bigint | 采购订单ID | 不映射 |
|
||
| order_code | po_code | varchar(64) | 订单编码 | 直接映射 |
|
||
| supplier_id | vendor_id | bigint | 供应商 | 字段名不同 |
|
||
| supplier_code | vendor_code | varchar(64) | 供应商编码 | 字段名不同 |
|
||
| supplier_name | vendor_name | varchar(255) | 供应商名称 | 字段名不同 |
|
||
| warehouse_id | warehouse_id | bigint | 仓库ID | 直接映射 |
|
||
| checkin_date | recpt_date | datetime | 到货日期 → 入库日期 | 字段名不同 |
|
||
| status | status | varchar(64) | 状态 | 值转换 |
|
||
|
||
**MOM新增字段(ERP不具备):**
|
||
- `iqc_id`, `iqc_code`: 来料检验单关联(MOM质检环节)
|
||
- `location_id`, `area_id`: 库区库位(MOM仓储细粒度管理)
|
||
- `expire_date`: 有效日期(MOM批次管理)
|
||
|
||
### 5.4 采购退货映射 (erp_po_reject → wm_rt_vendor)
|
||
|
||
| ERP字段名 (erp_po_reject) | MOM字段名 (wm_rt_vendor) | 说明 | 映射方式 |
|
||
|--------------------------|--------------------------|------|----------|
|
||
| reject_code | rt_code | 退货编码 → 退料编码 | 编码映射 |
|
||
| supplier_id | vendor_id | 供应商ID | 字段名不同 |
|
||
| supplier_name | vendor_name | 供应商名称 | 字段名不同 |
|
||
| warehouse_id | warehouse_id | 仓库ID | 直接映射 |
|
||
| reject_date | rt_date | 退货日期 → 退料日期 | 字段名不同 |
|
||
| status | status | 状态 | 值转换 |
|
||
|
||
---
|
||
|
||
## 6. 仓库管理模块字段映射
|
||
|
||
### 6.1 仓库表 (erp_wm_warehouse → wm_warehouse)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 |
|
||
|-----------|-----------|------|------|
|
||
| warehouse_id | warehouse_id | bigint | 仓库ID |
|
||
| warehouse_code | warehouse_code | varchar(32) | 仓库编码 |
|
||
| warehouse_name | warehouse_name | varchar(50) | 仓库名称 |
|
||
| warehouse_type | warehouse_type | varchar(20) | 仓库类型 |
|
||
| location | location | varchar(100) | 位置 |
|
||
| area | area | decimal(10,2) | 面积(m²) |
|
||
| charge | charge | varchar(50) | 负责人 |
|
||
| enable_flag | enable_flag | char(1) | 启用状态 |
|
||
|
||
### 6.2 库存表 (erp_wm_stock → wm_material_stock)
|
||
|
||
| ERP字段名 | MOM字段名 | 类型 | 说明 |
|
||
|-----------|-----------|------|------|
|
||
| stock_id | stock_id | bigint | 库存ID |
|
||
| item_id | item_id | bigint | 物料ID |
|
||
| item_code | item_code | varchar(32) | 物料编码 |
|
||
| item_name | item_name | varchar(100) | 物料名称 |
|
||
| warehouse_id | warehouse_id | bigint | 仓库ID |
|
||
| warehouse_name | warehouse_name | varchar(50) | 仓库名称 |
|
||
| batch_no | batch_code | varchar(50) | 批次号 |
|
||
| quantity_on_hand | quantity_onhand | decimal(18,4) | 在库数量 |
|
||
| quantity_available | quantity_available | decimal(18,4) | 可用数量 |
|
||
|
||
---
|
||
|
||
## 7. 生产计划模块字段映射
|
||
|
||
### 7.0 模块差异总览(含 MOM 升级后镜像表)
|
||
|
||
**MOM 升级后**:MOM 侧新增 **erp_mp_plan**、**erp_mp_plan_line**、**erp_mp_mbom**、**erp_mp_mbom_line**、**erp_mp_purchase** 作为 ERP 生产计划层数据的 **1:1 镜像表**(主键与 ERP 一致)。计划审核后先同步到 MOM 的 erp_mp_* 表;**下发车间**时再按供应方式拆解写入 pro_workorder、pro_workorder_bom。pro_workorder 增加 plan_id、plan_code、bom_version、delivery_date、mbom_id、mbom_code 等字段关联计划层(见《MOM系统数据升级方案-销售采购生产计划》)。
|
||
|
||
| 对比项 | ERP系统 | MOM系统 | 差异说明 |
|
||
|--------|---------|---------|----------|
|
||
| 定位 | 生产计划与物料需求计算 | 生产执行与车间管理 | ERP=计划层,MOM=执行层 |
|
||
| 核心单据 | erp_mp_plan (生产计划单) | **erp_mp_plan**(MOM 镜像)+ pro_workorder (生产工单) | 计划先同步到镜像表,下发时拆解为多个 MOM 工单 |
|
||
| 计划明细 | erp_mp_plan_line (计划明细行) | **erp_mp_plan_line**(MOM 镜像)+ pro_workorder_bom | 计划明细在镜像表;下发时拆解为工单BOM |
|
||
| 物料清单 | erp_mp_mbom / _line (BOM计算结果) | **erp_mp_mbom / erp_mp_mbom_line**(MOM 镜像)+ pro_workorder_bom | 先同步到镜像表,下发时按供应方式拆解为工单及工单BOM |
|
||
| 采购计划 | erp_mp_purchase (采购需求) | **erp_mp_purchase**(MOM 镜像)+ wm_arrival_notice (到货通知) | 采购需求先同步到 MOM 镜像表,可关联 wm_arrival_notice.purchase_plan_code |
|
||
| 零部件 | erp_mp_parts (零部件订单) | pro_workorder (子工单) | ERP零部件订单 → MOM子工单 |
|
||
| BOM关联 | bom_id, bom_version, bom_desc | pro_workorder.bom_id/bom_version + pro_route_product_bom | 工单增加 bom_id、bom_version、mbom_id 等字段 |
|
||
| 下发状态 | erp_mp_mbom.issue_status | pro_workorder.status | ERP独有下发概念,MOM用工单状态 |
|
||
| 工序管理 | 无(ERP不管理工序) | pro_task, pro_route, pro_process | MOM独有,ERP不涉及 |
|
||
| 报工管理 | 无 | pro_feedback | MOM独有 |
|
||
| 齐套检查 | 有(ERP端执行) | 无 | ERP独有 |
|
||
| 排产甘特 | 无 | pro_task (通过日期排列) | MOM独有 |
|
||
|
||
**镜像表映射(1:1)**:ERP erp_mp_plan → MOM erp_mp_plan;erp_mp_plan_line → MOM erp_mp_plan_line;erp_mp_mbom → MOM erp_mp_mbom;erp_mp_mbom_line → MOM erp_mp_mbom_line;erp_mp_purchase → MOM erp_mp_purchase。主键一致,字段一一对应,含 erp_sync_time;镜像表状态与 ERP 一致(DRAFT/APPROVED 等),不转换为 MOM 业务状态。
|
||
|
||
### 7.1 生产计划单 → 工单 (erp_mp_plan → pro_workorder)
|
||
|
||
> 说明: ERP 生产计划单审核后先 1:1 同步到 MOM 的 erp_mp_plan / erp_mp_plan_line 镜像表;执行 BOM 计算并**下发**到 MOM 车间时,按供应方式拆解创建 pro_workorder(plan_code=source_code,plan_id 等写入 pro_workorder 新增字段)。一个计划单可拆解为多个工单。
|
||
|
||
| ERP字段名 (erp_mp_plan) | MOM字段名 (pro_workorder) | 类型 | 说明 | 映射方式 |
|
||
|-------------------------|--------------------------|------|------|----------|
|
||
| plan_id | plan_id | bigint | 计划ID | MOM 升级后 pro_workorder 新增 plan_id,直接映射 |
|
||
| plan_code | source_code / plan_code | varchar(64) | 计划编码 → 来源单据编码 / 计划编码 | 直接映射;pro_workorder 新增 plan_code |
|
||
| - | order_source | varchar(64) | - → 来源类型 | 固定值 'ORDER' |
|
||
| - | workorder_code | varchar(64) | - → 工单编码 | MOM自动生成 |
|
||
| - | workorder_name | varchar(255) | - → 工单名称 | MOM自动生成 |
|
||
| plan_date | - | date | 计划日期 | 不映射(参考用) |
|
||
| status | status | varchar(64) | 计划状态 → 工单状态 | **值转换** (见下方) |
|
||
| business_status | - | varchar(20) | 业务状态 | 不映射 |
|
||
| work_type | workorder_type | varchar(64) | 工作类型 → 工单类型 | **值转换** (见下方) |
|
||
| sales_order_id | - | bigint | 销售订单ID | 通过source_code间接关联 |
|
||
| sales_order_code | source_code | varchar(64) | 销售订单编码 | 直接映射(订单来源时) |
|
||
| sales_user_name | sales_user_name | varchar(50) | 销售员 | MOM 升级后 pro_workorder 新增,直接映射 |
|
||
| delivery_date | request_date / delivery_date | datetime | 订单交期 → 需求日期/交期 | 类型转换;MOM 升级后 pro_workorder 新增 delivery_date |
|
||
| bom_id | bom_id | bigint | BOM ID | MOM 升级后 pro_workorder 新增,直接映射 |
|
||
| bom_version | bom_version | varchar(20) | BOM版本 | MOM 升级后 pro_workorder 新增,直接映射 |
|
||
| total_quantity | quantity | double(14,2) | 生产总量 → 生产数量 | 精度转换 |
|
||
| remark | remark | varchar(500) | 备注 | 直接映射 |
|
||
|
||
**MOM 升级后 pro_workorder 新增字段(与计划层关联)**:plan_id、plan_code、bom_id、bom_version、delivery_date、sales_user_name、pp_number、mbom_id、mbom_code、erp_sync_time(详见《MOM系统数据升级方案-销售采购生产计划》)。mbom_id、mbom_code 来自 erp_mp_mbom,pp_number 为计划单号等。
|
||
|
||
**计划明细关联:**
|
||
|
||
| ERP字段名 (erp_mp_plan_line) | MOM字段名 (pro_workorder) | 说明 | 映射方式 |
|
||
|------------------------------|--------------------------|------|----------|
|
||
| item_id (明细行产品) | product_id | 产品ID | 直接映射 |
|
||
| item_code | product_code | 产品编码 | 直接映射 |
|
||
| item_name | product_name | 产品名称 | 直接映射 |
|
||
| specification | product_spc | 规格型号 | 字段名不同 |
|
||
| unit_name | unit_of_measure / unit_name | 计量单位 | 直接映射 |
|
||
| quantity | quantity | 计划数量 → 生产数量 | 直接映射 |
|
||
| supply_type | workorder_type | 供应方式 → 工单类型 | 值转换 |
|
||
|
||
**状态值转换:**
|
||
|
||
| ERP状态 (erp_mp_plan.status) | MOM状态 (pro_workorder.status) | 说明 |
|
||
|------------------------------|-------------------------------|------|
|
||
| DRAFT | PREPARE | 草稿 → 准备中 |
|
||
| APPROVED | CONFIRMED | 已审核 → 已确认 |
|
||
| - | PRODUCING | MOM独有:生产中 |
|
||
| CLOSED | FINISHED | 已关闭 → 已完成 |
|
||
| CANCELLED | CANCELLED | 已取消 |
|
||
|
||
**工作类型/工单类型转换:**
|
||
|
||
| ERP work_type | ERP含义 | MOM workorder_type | 说明 |
|
||
|---------------|---------|-------------------|------|
|
||
| 0 | 生产计划单 | SELF | 自制工单 |
|
||
| 1 | 零部件计划单 | SELF | 自制工单(子件) |
|
||
| 2 | 零部件订单 | OUTSOURCE | 委外工单 |
|
||
|
||
### 7.2 物料清单 → 工单BOM (erp_mp_mbom → pro_workorder + pro_workorder_bom)
|
||
|
||
> 说明: ERP的物料清单(MBOM)是BOM计算的结果,按供应方式将产品BOM展开为具体的生产/采购/委外需求。MOM中没有独立的MBOM概念,而是将其拆解为多个工单及工单BOM。
|
||
|
||
| ERP字段名 (erp_mp_mbom) | MOM字段名 (pro_workorder) | 类型 | 说明 | 映射方式 |
|
||
|-------------------------|--------------------------|------|------|----------|
|
||
| mbom_id | - | bigint | 物料清单ID | 不映射 |
|
||
| mbom_code | - | varchar(32) | 物料清单编码 | 不映射 |
|
||
| plan_id | - | bigint | 生产计划ID | 通过source_code间接关联 |
|
||
| plan_code | source_code | varchar(64) | 计划编码 | 间接映射 |
|
||
| item_id | product_id | bigint | 产品物料ID | 直接映射 |
|
||
| item_code | product_code | varchar(64) | 产品编码 | 直接映射 |
|
||
| item_name | product_name | varchar(255) | 产品名称 | 直接映射 |
|
||
| unit_name | unit_of_measure | varchar(64) | 计量单位 | 直接映射 |
|
||
| supply_type | workorder_type | varchar(64) | 供应方式 → 工单类型 | 值转换 |
|
||
| quantity | quantity | double(14,2) | 生产数量 | 直接映射 |
|
||
| workshop_id | - | bigint | 下发车间ID | MOM通过工作站关联车间 |
|
||
| issue_status | status | varchar(64) | 下发状态 → 工单状态 | 值转换 |
|
||
|
||
**供应方式→工单类型转换:**
|
||
|
||
| ERP supply_type | MOM workorder_type | 说明 |
|
||
|----------------|-------------------|------|
|
||
| 生产 | SELF | 自制工单,需要领料生产 |
|
||
| 加工 | SELF | 自制工单(加工件) |
|
||
| 装配 | SELF | 自制工单(装配件) |
|
||
| 委外 | OUTSOURCE | 委外工单,发料给委外商 |
|
||
| 采购 | - | 不创建工单,转入采购计划 |
|
||
|
||
### 7.3 物料清单明细 → 工单BOM (erp_mp_mbom_line → pro_workorder_bom)
|
||
|
||
| ERP字段名 (erp_mp_mbom_line) | MOM字段名 (pro_workorder_bom) | 类型 | 说明 | 映射方式 |
|
||
|-----------------------------|-------------------------------|------|------|----------|
|
||
| mbom_line_id | line_id | bigint | 行ID | 独立生成 |
|
||
| mbom_id | workorder_id | bigint | 物料清单ID → 工单ID | 关联映射 |
|
||
| item_id | item_id | bigint | 子件物料ID | 直接映射 |
|
||
| item_code | item_code | varchar(64) | 子件编码 | 直接映射 |
|
||
| item_name | item_name | varchar(255) | 子件名称 | 直接映射 |
|
||
| specification | item_spc | varchar(255) | 规格型号 | 字段名不同 |
|
||
| unit_name | unit_of_measure | varchar(64) | 计量单位 | 字段名不同 |
|
||
| quantity | quantity | double(14,2) | 需求数量 | 直接映射 |
|
||
| supply_type | item_or_product | varchar(20) | 供应方式 → 物料标识 | 值转换 |
|
||
|
||
**ERP独有字段(MOM不需要):**
|
||
- `need_qty`, `available_qty`, `lack_qty`: 需求量/可用量/缺少量(ERP齐套检查字段)
|
||
- `plan_qty`, `ordered_qty`, `received_qty`: 计划/已订/已收数量(ERP采购跟踪字段)
|
||
|
||
### 7.4 采购计划 → 到货通知 (erp_mp_purchase → wm_arrival_notice)
|
||
|
||
| ERP字段名 (erp_mp_purchase) | MOM字段名 (wm_arrival_notice) | 类型 | 说明 | 映射方式 |
|
||
|---------------------------|-------------------------------|------|------|----------|
|
||
| purchase_code | notice_code | varchar(64) | 采购计划编码 → 通知编码 | 编码映射 |
|
||
| plan_code | - | varchar(32) | 计划单号 | 不映射(参考信息) |
|
||
| item_id | → notice_line.item_id | bigint | 物料ID | 映射到明细行 |
|
||
| item_code | → notice_line.item_code | varchar(64) | 物料编码 | 映射到明细行 |
|
||
| item_name | → notice_line.item_name | varchar(255) | 物料名称 | 映射到明细行 |
|
||
| purchase_qty | → notice_line.quantity_arrive | double | 采购数量 | 映射到明细行 |
|
||
| delivery_date | arrival_date | datetime | 交期 → 到货日期 | 字段名不同 |
|
||
| status | status | varchar(64) | 状态 | 值转换 |
|
||
|
||
### 7.5 MOM独有表(ERP无对应)
|
||
|
||
以下MOM表在ERP系统中没有对应的表,是MOM车间执行层的专有数据:
|
||
|
||
| MOM表名 | 中文名 | 说明 | ERP中的近似概念 |
|
||
|---------|--------|------|----------------|
|
||
| pro_task | 生产任务 | 工单拆解到工位的具体任务 | 无(ERP不管理到工位级别) |
|
||
| pro_feedback | 报工记录 | 工序级别的产量报工 | erp_mp_mbom.completed_qty(仅完成数量) |
|
||
| pro_route | 工艺路线 | 产品工艺定义 | 无(ERP仅有简单的工艺路线字段) |
|
||
| pro_process | 工序 | 工序定义 | 无 |
|
||
| pro_route_process | 工艺路线工序 | 工序间关系 | 无 |
|
||
| pro_trans_order | 流转单 | 工序间流转 | 无 |
|
||
| pro_card | 工序流转卡 | 产品流转追溯 | 无 |
|
||
| pro_andon_record | 安灯记录 | 异常呼叫 | 无 |
|
||
| pro_shutdown_record | 停机记录 | 设备停机 | 无 |
|
||
|
||
### 7.6 ERP 表在 MOM 的对应关系(MOM 升级后)
|
||
|
||
| ERP表名 | 中文名 | MOM 升级后对应 | 说明 |
|
||
|---------|--------|----------------|------|
|
||
| erp_mp_plan_line | 生产计划明细 | **erp_mp_plan_line**(MOM 镜像表,1:1) | 计划引入的订单物料;下发时对应 pro_workorder / pro_workorder_bom |
|
||
| erp_mp_purchase | 采购计划单 | **erp_mp_purchase**(MOM 镜像表,1:1) | 采购需求;可关联 wm_arrival_notice.purchase_plan_code |
|
||
| erp_mp_parts | 零部件订单 | 无镜像表 | 对应 pro_workorder(子工单 parent_id) |
|
||
| erp_mp_purchase.ordered_qty | 已订数量 | 无 | 采购执行跟踪;MOM 通过入库单统计 |
|
||
|
||
---
|
||
|
||
## 8. 数据同步规则
|
||
|
||
### 8.1 同步方向定义
|
||
|
||
| 方向 | 说明 | 触发方式 |
|
||
|------|------|----------|
|
||
| ERP → MOM | 主数据从ERP同步到MOM | 定时同步/实时推送 |
|
||
| MOM → ERP | 执行数据从MOM反馈到ERP | 业务触发/定时同步 |
|
||
| 双向同步 | 两系统数据互相同步 | 根据业务场景 |
|
||
|
||
### 8.2 同步频率建议
|
||
|
||
| 数据类型 | 同步频率 | 说明 |
|
||
|----------|----------|------|
|
||
| 主数据(物料、BOM等) | 实时/准实时 | 变更后立即同步 |
|
||
| 库存数据 | 准实时(5分钟) | 库存变动后同步 |
|
||
| 单据数据 | 业务触发 | 审核/完成后同步 |
|
||
| 生产执行数据 | 定时(1小时) | 批量同步报工数据 |
|
||
|
||
### 8.3 数据一致性保障
|
||
|
||
1. **主键映射**: 通过业务编码(如item_code、bom_code、order_code)关联,而非内部ID
|
||
2. **时间戳比对**: 使用update_time判断数据版本
|
||
3. **幂等处理**: 同步接口支持重复调用
|
||
4. **事务保障**: 主从表数据一起同步,保证事务一致性
|
||
5. **冲突处理**: 以ERP数据为主(主数据),以MOM数据为主(执行数据)
|
||
|
||
### 8.4 BOM数据同步特殊规则
|
||
|
||
**BOM表头与明细同步**:
|
||
1. **同步顺序**:
|
||
- 第一步:同步`erp_md_bom` → `md_bom`(表头)
|
||
- 第二步:同步`erp_md_bom_line` → `md_product_bom`(明细)
|
||
2. **关联方式**:
|
||
- 通过`bom_code`(业务编码)关联表头和明细
|
||
- 或通过`bom_id`(主键ID)关联(如果ID可映射)
|
||
3. **事务处理**: 表头和明细必须在同一事务中同步,确保数据一致性
|
||
4. **删除规则**: 删除BOM时,先删除所有明细记录(`md_product_bom`),再删除表头记录(`md_bom`)
|
||
5. **更新规则**: 更新BOM时,需要同时检查表头和明细的变更
|
||
6. **外键更新**: 同步明细时,需要设置`md_product_bom.bom_id`外键字段,关联到`md_bom.bom_id`
|
||
|
||
**md_item表冗余字段更新**:
|
||
- 当`md_bom`表数据同步后,需要更新`md_item.default_bom_id`等冗余字段
|
||
- 更新条件: `md_bom.item_id = md_item.item_id AND md_bom.status = 'APPROVED'`
|
||
- 如果产品有多个BOM版本,选择最新版本或指定版本作为默认BOM
|
||
- 更新SQL示例:
|
||
```sql
|
||
UPDATE md_item i
|
||
INNER JOIN md_bom b ON i.item_id = b.item_id
|
||
SET i.default_bom_id = b.bom_id,
|
||
i.default_bom_code = b.bom_code,
|
||
i.default_bom_name = b.bom_name,
|
||
i.default_bom_version = b.version,
|
||
i.base_qty = b.base_qty
|
||
WHERE b.status = 'APPROVED'
|
||
AND b.del_flag = '0'
|
||
AND i.del_flag = '0';
|
||
```
|
||
|
||
### 8.5 字段转换规则
|
||
|
||
| 转换类型 | ERP值 | MOM值 | 说明 |
|
||
|----------|-------|-------|------|
|
||
| 状态映射 | DRAFT | PREPARE | 草稿/准备中 |
|
||
| 状态映射 | APPROVED | CONFIRMED | 已审核/已确认 |
|
||
| 状态映射 | - | PRODUCING | MOM独有:生产中 |
|
||
| 状态映射 | CLOSED | FINISHED | 已关闭/已完成 |
|
||
| 状态映射 | CANCELLED | CANCELLED | 已取消 |
|
||
| 布尔转换 | Y/N | Y/N | 启用标志 |
|
||
| 布尔转换 | 0/1 | 0/1 | 删除标志 |
|
||
| 主键命名 | supplier_id | vendor_id | 采购模块供应商主键 |
|
||
| 编码命名 | supplier_code | vendor_code | 采购模块供应商编码 |
|
||
| 编码命名 | plan_code | source_code | 计划编码→来源编码 |
|
||
| 日期类型 | date | datetime | ERP用date,MOM用datetime |
|
||
| 数量精度 | decimal(18,4) | double(14,2) | 精度差异需注意四舍五入 |
|
||
|
||
### 8.6 销售/采购/生产模块同步规则补充(含 MOM 升级后镜像表)
|
||
|
||
**MOM 升级后**:销售、采购、生产计划模块在 MOM 中新增 erp_sl_order、erp_po_order、erp_mp_plan、erp_mp_mbom、erp_mp_purchase 等**镜像表**。ERP 审核后先 **1:1 同步到 MOM 的 erp_* 镜像表**(主键与 ERP 一致,含 erp_sync_time);镜像表状态与 ERP 一致(DRAFT/APPROVED 等),不转换为 MOM 业务状态。业务表(pro_workorder、wm_arrival_notice、wm_item_recpt)仍按原有规则关联(source_code、po_code、po_order_id、plan_code 等)。
|
||
|
||
#### 销售订单同步规则
|
||
|
||
| 规则 | 说明 |
|
||
|------|------|
|
||
| **镜像表同步** | ERP erp_sl_order / erp_sl_order_line 审核后 → MOM erp_sl_order / erp_sl_order_line(1:1,主键一致) |
|
||
| 同步时机 | ERP 销售订单审核后同步到 MOM 镜像表;生产计划下发后,工单通过 source_code 关联订单 |
|
||
| 同步方式 | 先同步到 MOM erp_sl_order、erp_sl_order_line;工单下发时通过生产计划中转,source_code=order_code |
|
||
| 同步字段 | 镜像表字段与 ERP 一一对应;工单仅客户信息(client_id/code/name)和来源编码(order_code→source_code),不同步金额/价格 |
|
||
| 发货反馈 | MOM产品销售出库(wm_product_salse)完成后,回写ERP发货单(erp_sl_deliver)的发货数量 |
|
||
|
||
#### 采购模块同步规则
|
||
|
||
| 规则 | 说明 |
|
||
|------|------|
|
||
| **镜像表同步** | ERP erp_po_order / erp_po_order_line 审核后 → MOM erp_po_order / erp_po_order_line(1:1,主键一致) |
|
||
| 同步时机 | ERP 采购订单审核后同步到 MOM 镜像表,并可按需创建到货通知单 |
|
||
| 同步方式 | 先同步到 MOM erp_po_order、erp_po_order_line;到货通知 wm_arrival_notice.po_code=order_code;入库单 wm_item_recpt 增加 po_order_id、po_line_id 关联镜像表 |
|
||
| 入库反馈 | MOM入库单(wm_item_recpt)审核后,回写ERP到货单(erp_po_checkin)的到货数量 |
|
||
| 退货反馈 | MOM退料出库(wm_rt_vendor)审核后,回写ERP退货单(erp_po_reject)的退货数量 |
|
||
| 供应商映射 | supplier_id → vendor_id,supplier_code → vendor_code(注意字段名转换) |
|
||
|
||
#### 生产计划同步规则
|
||
|
||
| 规则 | 说明 |
|
||
|------|------|
|
||
| **镜像表同步** | ERP erp_mp_plan / erp_mp_plan_line、erp_mp_mbom / erp_mp_mbom_line、erp_mp_purchase 审核后 → MOM 同名 erp_mp_* 表(1:1,主键一致) |
|
||
| 同步时机 | ERP 生产计划审核并执行 BOM 计算后,先同步到 MOM 镜像表;**下发车间**时再按供应方式拆解创建 pro_workorder、pro_workorder_bom |
|
||
| 拆解规则 | 供应方式=生产/加工/装配 → 创建MOM自制工单(SELF);供应方式=委外 → 创建委外工单(OUTSOURCE);供应方式=采购 → 不创建工单,转入采购计划(erp_mp_purchase);工单写入 plan_id、plan_code、bom_version、delivery_date、mbom_id、mbom_code 等 |
|
||
| 父子工单 | ERP计划单的产品BOM中如有子件BOM,MOM通过parent_id建立工单父子关系 |
|
||
| 完工反馈 | MOM工单完工(status=FINISHED)后,回写ERP物料清单(erp_mp_mbom)的完成数量 |
|
||
| 领料反馈 | MOM生产领料(wm_issue_header)后,回写ERP物料清单的领用数量 |
|
||
|
||
---
|
||
|
||
## 9. 附录
|
||
|
||
### 9.1 公共字段说明
|
||
|
||
以下字段在两系统中通用:
|
||
|
||
| 字段名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| tenant_id | varchar(20) | 租户ID(多租户隔离) |
|
||
| del_flag | char(1) | 删除标志(0存在 1删除) |
|
||
| enable_flag | char(1) | 启用状态(Y启用 N停用) |
|
||
| create_by | varchar(64) | 创建者 |
|
||
| create_time | datetime | 创建时间 |
|
||
| update_by | varchar(64) | 更新者 |
|
||
| update_time | datetime | 更新时间 |
|
||
| remark | varchar(500) | 备注 |
|
||
|
||
### 9.2 枚举值对照
|
||
|
||
#### 单据状态 (status)
|
||
|
||
| 枚举值 | 中文名 | ERP | MOM |
|
||
|--------|--------|-----|-----|
|
||
| DRAFT | 草稿 | ✓ | ✓ |
|
||
| SUBMITTED | 已提交 | ✓ | - |
|
||
| APPROVED | 已审核 | ✓ | ✓ |
|
||
| CONFIRMED | 已确认 | - | ✓ |
|
||
| PROCESSING | 进行中 | - | ✓ |
|
||
| FINISHED | 已完成 | ✓ | ✓ |
|
||
| CLOSED | 已关闭 | ✓ | - |
|
||
| CANCELLED | 已取消 | ✓ | ✓ |
|
||
|
||
#### 物料类型 (item_or_product)
|
||
|
||
| 枚举值 | 中文名 | 说明 |
|
||
|--------|--------|------|
|
||
| ITEM | 物料 | 原材料、零部件 |
|
||
| PRODUCT | 产品 | 成品、半成品 |
|
||
|
||
#### 供应方式 (supply_type)
|
||
|
||
| 枚举值 | 中文名 | 说明 |
|
||
|--------|--------|------|
|
||
| PURCHASE | 采购 | 外部采购 |
|
||
| PRODUCE / SELF_MADE | 自制 | 自己生产 |
|
||
| OUTSOURCE | 委外 | 委外加工 |
|
||
|
||
### 9.3 MOM系统md_bom表设计说明
|
||
|
||
#### 9.3.1 表结构设计
|
||
|
||
**表名**: `md_bom`
|
||
**说明**: BOM表头,存储产品BOM的基本信息
|
||
|
||
**主要字段**:
|
||
- `bom_id`: 主键,BOM ID
|
||
- `bom_code`: BOM编码(唯一)
|
||
- `item_id`: 产品物料ID(外键关联`md_item.item_id`)
|
||
- `version`: 版本号
|
||
- `status`: BOM状态(DRAFT/APPROVED/OBSOLETE)
|
||
|
||
**与md_product_bom的关系**:
|
||
- `md_bom` (1) ←→ (N) `md_product_bom`
|
||
- 一个BOM表头可以有多条明细记录
|
||
- 通过`md_product_bom.bom_id`外键关联`md_bom.bom_id`
|
||
|
||
#### 9.3.2 数据同步规则
|
||
|
||
**ERP → MOM同步**:
|
||
1. 同步`erp_md_bom`表数据到`md_bom`表
|
||
2. 同步`erp_md_bom_line`表数据到`md_product_bom`表
|
||
3. 通过`bom_code`或`bom_id`关联同步
|
||
|
||
**数据一致性**:
|
||
- BOM表头和明细必须一起同步
|
||
- 删除BOM时,先删除明细,再删除表头
|
||
- 更新BOM时,需要同时更新表头和明细
|
||
|
||
#### 9.3.3 索引建议
|
||
|
||
```sql
|
||
-- 主键
|
||
ALTER TABLE md_bom ADD PRIMARY KEY (bom_id);
|
||
|
||
-- 唯一索引(BOM编码+租户)
|
||
ALTER TABLE md_bom ADD UNIQUE KEY uk_bom_code (bom_code, tenant_id);
|
||
|
||
-- 普通索引
|
||
ALTER TABLE md_bom ADD INDEX idx_bom_item (item_id);
|
||
ALTER TABLE md_bom ADD INDEX idx_bom_tenant (tenant_id);
|
||
ALTER TABLE md_bom ADD INDEX idx_bom_status (status);
|
||
ALTER TABLE md_bom ADD INDEX idx_bom_code (bom_code);
|
||
```
|
||
|
||
#### 9.3.4 与md_item表的关联
|
||
|
||
- `md_item.default_bom_id` → `md_bom.bom_id` (冗余字段,用于快速查询)
|
||
- 一个产品可以有多个BOM版本,但只有一个默认BOM
|
||
- 默认BOM信息存储在`md_item`表中作为冗余字段,提高查询性能
|
||
|
||
#### 9.3.5 创建步骤
|
||
|
||
**执行顺序**:
|
||
1. 执行 `create_md_bom_table.sql` - 创建md_bom表
|
||
2. 执行 `alter_md_product_bom_for_md_bom.sql` - 修改md_product_bom表,添加外键关联
|
||
3. 数据迁移:将现有md_product_bom数据中的bom_code关联到md_bom表,更新bom_id外键字段
|
||
4. 更新md_item表的default_bom_id等冗余字段
|
||
|
||
**注意事项**:
|
||
- 如果md_product_bom表已有数据,需要先创建md_bom表,然后通过bom_code关联更新外键
|
||
- 建议在测试环境先验证脚本执行和数据迁移
|
||
- 生产环境执行前请备份数据库
|
||
|
||
### 9.4 相关SQL脚本
|
||
|
||
| 脚本文件 | 说明 |
|
||
|----------|------|
|
||
| mom系统同步erp字段-alter.sql | MOM系统新增ERP同步字段 |
|
||
| alter_md_client.sql | 客户表字段同步 |
|
||
| alter_md_vendor.sql | 供应商表字段同步 |
|
||
| erp数据库设计-DDL.sql | ERP系统表结构DDL |
|
||
| **create_md_bom_table.sql** | **新建md_bom表的DDL脚本** |
|
||
| **alter_md_product_bom_for_md_bom.sql** | **修改md_product_bom表以关联md_bom表** |
|
||
|
||
---
|
||
|
||
## 修订历史
|
||
|
||
| 版本 | 日期 | 修订内容 | 修订人 |
|
||
|------|------|----------|--------|
|
||
| 1.0.0 | 2026-01-26 | 初始版本 | System |
|
||
| 1.1.0 | 2026-02-06 | 完善销售/采购/生产计划三大模块的差异分析和字段映射:补充模块差异总览表、完整字段级映射、状态值转换规则、双系统独有表清单、同步规则补充 | System |
|
||
| 1.2.0 | 2026-02-07 | 按《MOM系统数据升级方案-销售采购生产计划》梳理:补充 MOM 侧 erp_sl/erp_po/erp_mp 镜像表(1:1);表级映射与模块差异总览增加“ERP→MOM 镜像表”及业务表关联说明;7.6 改为“ERP 表在 MOM 的对应关系”;8.6 增加镜像表同步规则;映射原则与修订历史更新 | System |
|