Files
my-mom-system/prd/db/erp与mom数据库表映射对照表.md

1013 lines
60 KiB
Markdown
Raw Normal View History

2026-03-06 02:02:59 +08:00
# 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 |