Files
my-mom-system/prd/db/erp与mom数据库表映射对照表.md
panchengyong c28ada5050 commit content
2026-03-06 02:02:59 +08:00

1013 lines
60 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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_codewm_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:1BOM 运算结果,齐套/下发用 |
| 6 | erp_mp_mbom_line | **erp_mp_mbom_line** | 计划物料清单明细 | ERP → MOM | **MOM 镜像表**1:1MBOM 明细 |
| 7 | erp_mp_mbom | pro_workorder (拆解) | 物料清单 → 子工单 | ERP → MOM | 下发时按供应方式拆解为多个 pro_workordererp_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_timeERP 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_purchaseMOM 镜像)+ wm_arrival_notice (到货通知) | 采购需求先同步到 MOM erp_mp_purchase再转化为到货预期 |
**镜像表映射1:1**ERP erp_po_order → MOM erp_po_orderERP 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_planerp_mp_plan_line → MOM erp_mp_plan_lineerp_mp_mbom → MOM erp_mp_mbomerp_mp_mbom_line → MOM erp_mp_mbom_lineerp_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_workorderplan_code=source_codeplan_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_mbompp_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用dateMOM用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_line1: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_line1: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_idsupplier_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中如有子件BOMMOM通过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 |