ERP系统数据库设计 - 数据字典
版本: 1.0.0
创建日期: 2026-01-25
数据库: MySQL 8.0+
字符集: utf8mb4
目录
- 概述
- 命名规范
- 公共字段说明
- 基础数据模块
- 仓库管理模块
- 销售管理模块
- 采购管理模块
- 生产计划模块
- 枚举值定义
- 索引设计规范
- ER图
1. 概述
1.1 文档目的
本文档定义ERP系统的数据库表结构、字段说明、枚举值和关联关系,为后端API开发和系统维护提供数据模型支持。
1.2 涵盖模块
| 模块 |
表前缀 |
API前缀 |
说明 |
本文档状态 |
| 系统管理 |
erp_sys_ |
/system |
租户、用户、部门等 |
✅ 已收录 |
| 基础数据 |
erp_md_ |
/md |
物料、BOM、单位等 |
✅ 已收录 |
| 仓库管理 |
erp_wm_ |
/wm |
仓库、库存、出入库等 |
✅ 已收录 |
| 销售管理 |
erp_sl_ |
/sl |
客户、订单、发货等 |
✅ 已收录 |
| 采购管理 |
erp_po_ |
/po |
供应商、采购订单等 |
✅ 已收录 |
| 生产计划 |
erp_mp_ |
/mp |
生产计划、物料清单等 |
✅ 已收录 |
| 生产管理 |
erp_prs_ |
/prs |
生产订单、领料、完工、入库等 |
⚠️ 见补充文档 |
| 研发管理 |
erp_rd_ |
/rd |
EBOM、样品配方、孪生物料等 |
⚠️ 见补充文档 |
| 委外管理 |
erp_pu_ |
/pu |
委外订单、发料、入库等 |
⚠️ 见补充文档 |
| 财务管理 |
erp_fd_ |
/fd |
凭证、应收应付、成本核算等 |
⚠️ 见补充文档 |
⚠️ 标记的模块详见 erp数据库设计-Swagger补充模块.md
1.3 表清单总览
| 序号 |
表名 |
中文名 |
模块 |
| 1 |
sys_tenant |
租户表 |
系统管理 |
| 2 |
erp_md_item_type |
物料分类表 |
基础数据 |
| 3 |
erp_md_item |
物料档案表 |
基础数据 |
| 4 |
erp_md_unit |
计量单位表 |
基础数据 |
| 5 |
erp_md_bom |
BOM表头 |
基础数据 |
| 6 |
erp_md_bom_line |
BOM明细表 |
基础数据 |
| 7 |
erp_wm_warehouse |
仓库表 |
仓库管理 |
| 8 |
erp_wm_location |
库区表 |
仓库管理 |
| 9 |
erp_wm_area |
库位表 |
仓库管理 |
| 10 |
erp_wm_stock |
库存表 |
仓库管理 |
| 11 |
erp_wm_item_recpt |
入库单表头 |
仓库管理 |
| 12 |
erp_wm_item_recpt_line |
入库单明细 |
仓库管理 |
| 13 |
erp_wm_issue |
出库单表头 |
仓库管理 |
| 14 |
erp_wm_issue_line |
出库单明细 |
仓库管理 |
| 15 |
erp_sl_contract |
销售合同表头 |
销售管理 |
| 17 |
erp_sl_contract_line |
销售合同明细 |
销售管理 |
| 18 |
erp_sl_order |
销售订单表头 |
销售管理 |
| 19 |
erp_sl_order_line |
销售订单明细 |
销售管理 |
| 20 |
erp_sl_deliver |
发货单表头 |
销售管理 |
| 21 |
erp_sl_deliver_line |
发货单明细 |
销售管理 |
| 22 |
erp_sl_invoice |
销售发票表头 |
销售管理 |
| 23 |
erp_sl_invoice_line |
销售发票明细 |
销售管理 |
| 24 |
erp_sl_saleback |
销售退货单表头 |
销售管理 |
| 25 |
erp_sl_saleback_line |
销售退货单明细 |
销售管理 |
| 26 |
erp_po_supplier |
供应商档案表 |
采购管理 |
| 27 |
erp_po_order |
采购订单表头 |
采购管理 |
| 28 |
erp_po_order_line |
采购订单明细 |
采购管理 |
| 29 |
erp_po_checkin |
采购到货单表头 |
采购管理 |
| 30 |
erp_po_checkin_line |
采购到货单明细 |
采购管理 |
| 31 |
erp_po_invoice |
采购发票表头 |
采购管理 |
| 32 |
erp_po_invoice_line |
采购发票明细 |
采购管理 |
| 33 |
erp_po_reject |
采购退货单表头 |
采购管理 |
| 34 |
erp_po_reject_line |
采购退货单明细 |
采购管理 |
| 35 |
erp_mp_plan |
生产计划单表头 |
生产计划 |
| 36 |
erp_mp_plan_line |
生产计划单明细 |
生产计划 |
| 37 |
erp_mp_mbom |
物料清单表头 |
生产计划 |
| 38 |
erp_mp_mbom_line |
物料清单明细 |
生产计划 |
| 39 |
erp_mp_purchase |
采购计划单表 |
生产计划 |
| 40 |
erp_mp_parts |
零部件订单表 |
生产计划 |
|
以下为Swagger API发现的待补充表 |
|
|
| 41 |
erp_prs_order |
生产订单表头 |
生产管理 |
| 42 |
erp_prs_order_line |
生产订单明细 |
生产管理 |
| 43 |
erp_prs_pick |
生产领料单表头 |
生产管理 |
| 44 |
erp_prs_product |
生产完工单表头 |
生产管理 |
| 45 |
erp_prs_checkin |
生产入库单表头 |
生产管理 |
| 46 |
erp_prs_instruct |
生产指令单表头 |
生产管理 |
| 47 |
erp_prs_yield |
生产报工单表头 |
生产管理 |
| 48 |
erp_prs_beltline |
生产线 |
生产管理 |
| 49 |
erp_prs_team |
班组 |
生产管理 |
| 50 |
erp_prs_worker |
工人 |
生产管理 |
| 51 |
erp_prs_jobs |
工种 |
生产管理 |
| 52 |
erp_prs_operate_section |
标准工序段 |
生产管理 |
| 53 |
erp_prs_process_route |
工艺路线 |
生产管理 |
| 54 |
erp_prs_equipment |
设备 |
生产管理 |
| 55 |
erp_rd_ebom |
EBOM表头 |
研发管理 |
| 56 |
erp_rd_ebom_line |
EBOM明细 |
研发管理 |
| 57 |
erp_rd_sample |
样品配方表头 |
研发管理 |
| 58 |
erp_rd_sample_line |
样品配方明细 |
研发管理 |
| 59 |
erp_rd_twin |
孪生物料表头 |
研发管理 |
| 60 |
erp_rd_twin_line |
孪生物料明细 |
研发管理 |
| 61 |
erp_rd_tret |
放量表 |
研发管理 |
| 62 |
erp_rd_setting |
研发设置 |
研发管理 |
| 63 |
erp_pu_supplier |
委外商档案 |
委外管理 |
| 64 |
erp_pu_order |
委外订单表头 |
委外管理 |
| 65 |
erp_pu_order_line |
委外订单明细 |
委外管理 |
| 66 |
erp_pu_product |
委外到货单表头 |
委外管理 |
| 67 |
erp_pu_checkin |
委外入库单表头 |
委外管理 |
| 68 |
erp_pu_pick |
委外发料单表头 |
委外管理 |
| 69 |
erp_pu_unpick |
委外退料单表头 |
委外管理 |
| 70 |
erp_pu_fapiao |
委外发票表头 |
委外管理 |
2. 命名规范
2.1 表命名规范
| 规则 |
说明 |
示例 |
| 前缀 |
erp_模块缩写_业务名 |
erp_sl_order (销售订单) |
| 主从表 |
主表不加后缀,从表加_line |
erp_sl_order, erp_sl_order_line |
| 小写 |
全部小写,下划线分隔 |
erp_po_order_line |
2.2 字段命名规范
| 规则 |
说明 |
示例 |
| 主键 |
业务名_id |
order_id, item_id |
| 编码 |
业务名_code |
order_code, item_code |
| 名称 |
业务名_name |
order_name, item_name |
| 外键 |
关联表业务名_id |
client_id, supplier_id |
| 冗余字段 |
关联表业务名_code/name |
client_code, client_name |
| 标志 |
xxx_flag |
del_flag, enable_flag |
| 数量 |
quantity, xxx_qty |
quantity, delivered_qty |
| 金额 |
amount, xxx_amount |
amount, total_amount |
2.3 数据类型规范
| 用途 |
数据类型 |
说明 |
| 主键 |
bigint |
自增长ID |
| 编码 |
varchar(32) |
业务编码 |
| 名称 |
varchar(100) |
短名称 |
| 描述 |
varchar(500) |
长文本 |
| 日期 |
date |
纯日期 |
| 时间 |
datetime |
日期时间 |
| 数量 |
decimal(18,4) |
数量类 |
| 金额 |
decimal(18,2) |
金额类 |
| 单价 |
decimal(18,4) |
单价类 |
| 比例 |
decimal(5,2) |
百分比 |
| 标志 |
char(1) |
Y/N, 0/1 |
| 状态 |
varchar(20) |
状态枚举 |
3. 公共字段说明
3.1 必备公共字段
所有业务表必须包含以下字段:
| 字段名 |
类型 |
说明 |
| tenant_id |
varchar(20) |
租户ID (多租户隔离) |
| del_flag |
char(1) |
删除标志 (0存在 1删除) |
| create_by |
varchar(64) |
创建者 |
| create_time |
datetime |
创建时间 |
| update_by |
varchar(64) |
更新者 |
| update_time |
datetime |
更新时间 |
3.2 单据类公共字段
单据类表通常包含以下字段:
| 字段名 |
类型 |
说明 |
| status |
varchar(20) |
单据状态 |
| operator_id |
bigint |
操作员ID |
| operator_name |
varchar(50) |
操作员名称 |
| approver_id |
bigint |
审核员ID |
| approver_name |
varchar(50) |
审核员名称 |
| approve_date |
datetime |
审核日期 |
| remark |
varchar(500) |
备注 |
4. 基础数据模块
4.1 物料分类表 (erp_md_item_type)
API路径: /md/itemtype
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| item_type_id |
bigint |
- |
N |
AUTO |
分类ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| item_type_code |
varchar |
32 |
N |
- |
分类编码 |
| item_type_name |
varchar |
50 |
N |
- |
分类名称 |
| parent_type_id |
bigint |
- |
Y |
NULL |
父分类ID |
| ancestors |
varchar |
500 |
Y |
NULL |
祖级列表 |
| order_num |
int |
- |
Y |
0 |
排序号 |
| enable_flag |
char |
1 |
N |
'Y' |
启用状态 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
| create_by |
varchar |
64 |
Y |
NULL |
创建者 |
| create_time |
datetime |
- |
Y |
NULL |
创建时间 |
| update_by |
varchar |
64 |
Y |
NULL |
更新者 |
| update_time |
datetime |
- |
Y |
NULL |
更新时间 |
索引设计:
| 索引名 |
字段 |
类型 |
| uk_item_type_code |
item_type_code, tenant_id |
UNIQUE |
| idx_item_type_parent |
parent_type_id |
INDEX |
| idx_item_type_tenant |
tenant_id |
INDEX |
4.2 物料档案表 (erp_md_item)
API路径: /md/item
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| item_id |
bigint |
- |
N |
AUTO |
物料ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| item_code |
varchar |
32 |
N |
- |
物料编码 |
| item_name |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
规格型号 |
| unit_of_measure |
varchar |
20 |
Y |
NULL |
主计量单位 |
| item_type_id |
bigint |
- |
Y |
NULL |
物料分类ID |
| item_type_code |
varchar |
32 |
Y |
NULL |
物料分类编码 |
| item_type_name |
varchar |
50 |
Y |
NULL |
物料分类名称 |
| item_sub_type_code |
varchar |
32 |
Y |
NULL |
二级分类编码 |
| item_sub_type_name |
varchar |
50 |
Y |
NULL |
二级分类名称 |
| item_or_product |
varchar |
20 |
Y |
'ITEM' |
物料/产品 |
| safe_stock_flag |
char |
1 |
Y |
'N' |
启用安全库存 |
| min_stock |
decimal |
18,4 |
Y |
0 |
最小库存 |
| max_stock |
decimal |
18,4 |
Y |
0 |
最大库存 |
| default_warehouse_id |
bigint |
- |
Y |
NULL |
默认仓库ID |
| default_warehouse_name |
varchar |
50 |
Y |
NULL |
默认仓库名称 |
| weight |
decimal |
18,6 |
Y |
NULL |
重量(kg) |
| volume |
decimal |
18,6 |
Y |
NULL |
体积(m³) |
| enable_flag |
char |
1 |
N |
'Y' |
启用状态 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
| create_by |
varchar |
64 |
Y |
NULL |
创建者 |
| create_time |
datetime |
- |
Y |
NULL |
创建时间 |
| update_by |
varchar |
64 |
Y |
NULL |
更新者 |
| update_time |
datetime |
- |
Y |
NULL |
更新时间 |
索引设计:
| 索引名 |
字段 |
类型 |
| uk_item_code |
item_code, tenant_id |
UNIQUE |
| idx_item_type |
item_type_id |
INDEX |
| idx_item_name |
item_name |
INDEX |
| idx_item_tenant |
tenant_id |
INDEX |
4.3 BOM表头 (erp_md_bom)
API路径: /md/bom
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| bom_id |
bigint |
- |
N |
AUTO |
BOM ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| bom_code |
varchar |
32 |
N |
- |
BOM编码 |
| bom_name |
varchar |
100 |
Y |
NULL |
BOM名称 |
| item_id |
bigint |
- |
N |
- |
产品物料ID |
| item_code |
varchar |
32 |
N |
- |
产品物料编码 |
| item_name |
varchar |
100 |
N |
- |
产品物料名称 |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| base_qty |
decimal |
18,4 |
N |
1 |
基本数量 |
| version |
varchar |
20 |
Y |
NULL |
版本号 |
| version_desc |
varchar |
200 |
Y |
NULL |
版本说明 |
| status |
varchar |
20 |
N |
'DRAFT' |
状态 |
| enable_flag |
char |
1 |
N |
'Y' |
启用状态 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
4.4 BOM明细表 (erp_md_bom_line)
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| line_id |
bigint |
- |
N |
AUTO |
明细ID (主键) |
| bom_id |
bigint |
- |
N |
- |
BOM ID (外键) |
| line_no |
int |
- |
N |
- |
行号 |
| item_id |
bigint |
- |
N |
- |
子件物料ID |
| item_code |
varchar |
32 |
N |
- |
子件物料编码 |
| item_name |
varchar |
100 |
N |
- |
子件物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
规格型号 |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| base_qty |
decimal |
18,6 |
N |
1 |
基本用量 |
| loss_rate |
decimal |
5,2 |
Y |
0 |
损耗率(%) |
| supply_type |
varchar |
20 |
Y |
'PURCHASE' |
供应方式 |
| remark |
varchar |
200 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
5. 仓库管理模块
5.1 仓库表 (erp_wm_warehouse)
API路径: /wm/warehouse
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| warehouse_id |
bigint |
- |
N |
AUTO |
仓库ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| warehouse_code |
varchar |
32 |
N |
- |
仓库编码 |
| warehouse_name |
varchar |
50 |
N |
- |
仓库名称 |
| warehouse_type |
varchar |
20 |
Y |
NULL |
仓库类型 |
| location |
varchar |
100 |
Y |
NULL |
位置 |
| area |
decimal |
10,2 |
Y |
NULL |
面积(m²) |
| charge |
varchar |
50 |
Y |
NULL |
负责人 |
| charge_tel |
varchar |
20 |
Y |
NULL |
负责人电话 |
| enable_flag |
char |
1 |
N |
'Y' |
启用状态 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
5.2 库存表 (erp_wm_stock)
API路径: /wm/stock
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| stock_id |
bigint |
- |
N |
AUTO |
库存ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| item_id |
bigint |
- |
N |
- |
物料ID |
| item_code |
varchar |
32 |
Y |
NULL |
物料编码 |
| item_name |
varchar |
100 |
Y |
NULL |
物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
规格型号 |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| warehouse_id |
bigint |
- |
N |
- |
仓库ID |
| warehouse_code |
varchar |
32 |
Y |
NULL |
仓库编码 |
| warehouse_name |
varchar |
50 |
Y |
NULL |
仓库名称 |
| location_id |
bigint |
- |
Y |
NULL |
库区ID |
| area_id |
bigint |
- |
Y |
NULL |
库位ID |
| batch_no |
varchar |
50 |
Y |
NULL |
批次号 |
| quantity_on_hand |
decimal |
18,4 |
N |
0 |
在库数量 |
| quantity_locked |
decimal |
18,4 |
N |
0 |
锁定数量 |
| quantity_available |
decimal |
18,4 |
N |
0 |
可用数量 |
| unit_cost |
decimal |
18,4 |
Y |
0 |
单位成本 |
| expire_date |
date |
- |
Y |
NULL |
有效期 |
| update_time |
datetime |
- |
Y |
NULL |
更新时间 |
业务规则:
quantity_available = quantity_on_hand - quantity_locked
- 库存更新时自动计算可用数量
6. 销售管理模块
说明: 客户档案表使用 md_client(基础数据模块),已合并原 erp_sl_client 的所有字段
6.1 销售订单表头 (erp_sl_order)
API路径: /sl/order
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| order_id |
bigint |
- |
N |
AUTO |
订单ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| order_code |
varchar |
32 |
N |
- |
订单编码 |
| order_name |
varchar |
100 |
Y |
NULL |
订单名称 |
| order_date |
date |
- |
N |
- |
订单日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| business_status |
varchar |
20 |
Y |
'NORMAL' |
业务状态 |
| order_type |
varchar |
20 |
Y |
NULL |
订单类型 |
| contract_id |
bigint |
- |
Y |
NULL |
合同ID |
| contract_code |
varchar |
32 |
Y |
NULL |
合同编码 |
| client_id |
bigint |
- |
N |
- |
客户ID |
| client_code |
varchar |
32 |
Y |
NULL |
客户编码 |
| client_name |
varchar |
100 |
Y |
NULL |
客户名称 |
| sales_user_id |
bigint |
- |
Y |
NULL |
销售员ID |
| sales_user_name |
varchar |
50 |
Y |
NULL |
销售员名称 |
| dept_id |
bigint |
- |
Y |
NULL |
部门ID |
| dept_name |
varchar |
50 |
Y |
NULL |
部门名称 |
| delivery_date |
date |
- |
Y |
NULL |
交货日期 |
| delivery_address |
varchar |
200 |
Y |
NULL |
收货地址 |
| total_quantity |
decimal |
18,4 |
Y |
0 |
总数量 |
| total_amount |
decimal |
18,2 |
Y |
0 |
总金额 |
| delivered_quantity |
decimal |
18,4 |
Y |
0 |
已发货数量 |
| delivered_amount |
decimal |
18,2 |
Y |
0 |
已发货金额 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
| operator_id |
bigint |
- |
Y |
NULL |
操作员ID |
| operator_name |
varchar |
50 |
Y |
NULL |
操作员名称 |
| approver_id |
bigint |
- |
Y |
NULL |
审核员ID |
| approver_name |
varchar |
50 |
Y |
NULL |
审核员名称 |
| approve_date |
datetime |
- |
Y |
NULL |
审核日期 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
6.2 销售订单明细 (erp_sl_order_line)
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| line_id |
bigint |
- |
N |
AUTO |
明细ID (主键) |
| order_id |
bigint |
- |
N |
- |
订单ID (外键) |
| order_code |
varchar |
32 |
N |
- |
订单编码 |
| line_no |
int |
- |
N |
- |
行号 |
| track_code |
varchar |
32 |
Y |
NULL |
跟单编号 |
| contract_line_id |
bigint |
- |
Y |
NULL |
合同明细ID |
| item_id |
bigint |
- |
N |
- |
物料ID |
| item_code |
varchar |
32 |
N |
- |
物料编码 |
| item_name |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
规格型号 |
| unit_id |
bigint |
- |
Y |
NULL |
计量单位ID |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| quantity |
decimal |
18,4 |
N |
0 |
订单数量 |
| unit_price |
decimal |
18,4 |
Y |
0 |
单价 |
| amount |
decimal |
18,2 |
Y |
0 |
金额 |
| delivered_qty |
decimal |
18,4 |
Y |
0 |
已发货数量 |
| quality_req |
varchar |
200 |
Y |
NULL |
质量要求 |
| remark |
varchar |
200 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
6.4 发货单表头 (erp_sl_deliver)
API路径: /sl/deliver
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| deliver_id |
bigint |
- |
N |
AUTO |
发货单ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| deliver_code |
varchar |
32 |
N |
- |
发货单编码 |
| deliver_name |
varchar |
100 |
Y |
NULL |
发货单名称 |
| deliver_date |
date |
- |
N |
- |
发货日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
状态 |
| order_id |
bigint |
- |
Y |
NULL |
销售订单ID |
| order_code |
varchar |
32 |
Y |
NULL |
销售订单编码 |
| client_id |
bigint |
- |
N |
- |
客户ID |
| client_code |
varchar |
32 |
Y |
NULL |
客户编码 |
| client_name |
varchar |
100 |
Y |
NULL |
客户名称 |
| warehouse_id |
bigint |
- |
Y |
NULL |
发货仓库ID |
| warehouse_name |
varchar |
50 |
Y |
NULL |
仓库名称 |
| delivery_address |
varchar |
200 |
Y |
NULL |
收货地址 |
| total_quantity |
decimal |
18,4 |
Y |
0 |
总数量 |
| total_amount |
decimal |
18,2 |
Y |
0 |
总金额 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
7. 采购管理模块
7.1 供应商档案表 (erp_po_supplier)
API路径: /po/supplier
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| supplier_id |
bigint |
- |
N |
AUTO |
供应商ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| supplier_code |
varchar |
32 |
N |
- |
供应商编码 |
| supplier_name |
varchar |
100 |
N |
- |
供应商名称 |
| supplier_alias |
varchar |
100 |
Y |
NULL |
供应商别名 |
| supplier_nick |
varchar |
50 |
Y |
NULL |
供应商简称 |
| supplier_type |
varchar |
20 |
Y |
NULL |
供应商分类 |
| supplier_level |
varchar |
10 |
Y |
'B' |
供应商等级(A/B/C/D) |
| province |
varchar |
50 |
Y |
NULL |
省份 |
| city |
varchar |
50 |
Y |
NULL |
城市 |
| address |
varchar |
200 |
Y |
NULL |
公司地址 |
| zip_code |
varchar |
10 |
Y |
NULL |
邮编 |
| tel |
varchar |
20 |
Y |
NULL |
电话 |
| fax |
varchar |
20 |
Y |
NULL |
传真 |
| email |
varchar |
100 |
Y |
NULL |
邮箱 |
| website |
varchar |
200 |
Y |
NULL |
网址 |
| contact1 |
varchar |
50 |
Y |
NULL |
业务联系人 |
| contact1_tel |
varchar |
20 |
Y |
NULL |
业务联系人电话 |
| contact2 |
varchar |
50 |
Y |
NULL |
财务联系人 |
| contact2_tel |
varchar |
20 |
Y |
NULL |
财务联系人电话 |
| bank_name |
varchar |
100 |
Y |
NULL |
开户银行 |
| bank_account |
varchar |
30 |
Y |
NULL |
银行账号 |
| bank_address |
varchar |
200 |
Y |
NULL |
开票地址电话 |
| tax_no |
varchar |
30 |
Y |
NULL |
税号 |
| supply_items |
varchar |
500 |
Y |
NULL |
供应料品 |
| enable_flag |
char |
1 |
N |
'Y' |
启用状态 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
7.2 采购订单表头 (erp_po_order)
API路径: /po/order
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| order_id |
bigint |
- |
N |
AUTO |
订单ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| order_code |
varchar |
32 |
N |
- |
订单编码 |
| order_date |
date |
- |
N |
- |
订单日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| business_status |
varchar |
20 |
Y |
'NORMAL' |
业务状态 |
| business_type |
varchar |
20 |
Y |
NULL |
业务类型 |
| order_type |
varchar |
20 |
Y |
NULL |
单据类型 |
| material_need |
varchar |
20 |
Y |
NULL |
用料需求 |
| supplier_id |
bigint |
- |
Y |
NULL |
供应商ID |
| supplier_code |
varchar |
32 |
Y |
NULL |
供应商编码 |
| supplier_name |
varchar |
100 |
Y |
NULL |
供应商名称 |
| dept_id |
bigint |
- |
Y |
NULL |
采购部门ID |
| dept_name |
varchar |
50 |
Y |
NULL |
采购部门名称 |
| user_id |
bigint |
- |
Y |
NULL |
采购人员ID |
| user_name |
varchar |
50 |
Y |
NULL |
采购人员名称 |
| delivery_date |
date |
- |
Y |
NULL |
到货日期 |
| contract_no |
varchar |
50 |
Y |
NULL |
合同号 |
| contract_file |
varchar |
500 |
Y |
NULL |
合同附件 |
| total_quantity |
decimal |
18,4 |
Y |
0 |
总数量 |
| total_amount |
decimal |
18,2 |
Y |
0 |
总金额 |
| arrived_quantity |
decimal |
18,4 |
Y |
0 |
已到货数量 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
7.3 采购订单明细 (erp_po_order_line)
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| line_id |
bigint |
- |
N |
AUTO |
明细ID (主键) |
| order_id |
bigint |
- |
N |
- |
订单ID (外键) |
| order_code |
varchar |
32 |
N |
- |
订单编码 |
| line_no |
int |
- |
N |
- |
行号 |
| track_code |
varchar |
32 |
Y |
NULL |
跟单编号 |
| plan_code |
varchar |
32 |
Y |
NULL |
计划单号 |
| plan_line_id |
bigint |
- |
Y |
NULL |
计划明细ID |
| item_id |
bigint |
- |
N |
- |
物料ID |
| item_code |
varchar |
32 |
N |
- |
物料编码 |
| item_name |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
型号规格 |
| unit_id |
bigint |
- |
Y |
NULL |
计量单位ID |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| need_date |
date |
- |
Y |
NULL |
需求日期 |
| quantity |
decimal |
18,4 |
N |
0 |
采购数量 |
| unit_price |
decimal |
18,4 |
Y |
0 |
采购单价 |
| amount |
decimal |
18,2 |
Y |
0 |
金额 |
| arrived_quantity |
decimal |
18,4 |
Y |
0 |
已到货数量 |
| remark |
varchar |
200 |
Y |
NULL |
采购说明 |
| del_flag |
char |
1 |
N |
'0' |
删除标志 |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
8. 生产计划模块
8.1 生产计划单表头 (erp_mp_plan)
API路径: /mp/plan/order
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| plan_id |
bigint |
- |
N |
AUTO |
计划ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| plan_code |
varchar |
32 |
N |
- |
计划单编码 |
| plan_date |
date |
- |
N |
- |
计划日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| business_status |
varchar |
20 |
Y |
'NORMAL' |
业务状态 |
| business_type |
varchar |
20 |
Y |
NULL |
业务类型 |
| work_type |
int |
- |
N |
0 |
工作类型 |
| sales_order_id |
bigint |
- |
Y |
NULL |
销售订单ID |
| sales_order_code |
varchar |
32 |
Y |
NULL |
销售订单编码 |
| sales_user_id |
bigint |
- |
Y |
NULL |
销售员ID |
| sales_user_name |
varchar |
50 |
Y |
NULL |
销售员名称 |
| delivery_date |
date |
- |
Y |
NULL |
订单交期 |
| bom_id |
bigint |
- |
Y |
NULL |
BOM ID |
| bom_version |
varchar |
20 |
Y |
NULL |
BOM版本号 |
| bom_desc |
varchar |
200 |
Y |
NULL |
BOM版本说明 |
| total_quantity |
decimal |
18,4 |
Y |
0 |
生产总量 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
8.2 物料清单表头 (erp_mp_mbom)
API路径: /mp/plan/mbom
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| mbom_id |
bigint |
- |
N |
AUTO |
物料清单ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| mbom_code |
varchar |
32 |
N |
- |
物料清单编码 |
| mbom_date |
date |
- |
N |
- |
单据日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| business_type |
varchar |
20 |
Y |
NULL |
业务类型 |
| issue_status |
varchar |
20 |
Y |
NULL |
下发状态 |
| plan_id |
bigint |
- |
N |
- |
生产计划ID |
| plan_code |
varchar |
32 |
N |
- |
生产计划编码 |
| sales_order_id |
bigint |
- |
Y |
NULL |
销售订单ID |
| sales_order_code |
varchar |
32 |
Y |
NULL |
销售订单编码 |
| delivery_date |
date |
- |
Y |
NULL |
订单交期 |
| item_id |
bigint |
- |
N |
- |
产品物料ID |
| item_code |
varchar |
32 |
N |
- |
产品物料编码 |
| item_name |
varchar |
100 |
N |
- |
产品物料名称 |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| supply_type |
varchar |
20 |
Y |
NULL |
供应方式 |
| quantity |
decimal |
18,4 |
N |
0 |
生产数量 |
| workshop_id |
bigint |
- |
Y |
NULL |
下发车间ID |
| workshop_name |
varchar |
50 |
Y |
NULL |
下发车间名称 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
8.3 采购计划单表 (erp_mp_purchase)
API路径: /mp/plan/purchase
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| purchase_id |
bigint |
- |
N |
AUTO |
采购计划ID (主键) |
| tenant_id |
varchar |
20 |
N |
- |
租户ID |
| purchase_code |
varchar |
32 |
N |
- |
采购计划编码 |
| purchase_date |
date |
- |
N |
- |
计划日期 |
| status |
varchar |
20 |
N |
'DRAFT' |
单据状态 |
| need_type |
int |
- |
N |
0 |
需求方式 |
| plan_id |
bigint |
- |
Y |
NULL |
生产计划ID |
| plan_code |
varchar |
32 |
Y |
NULL |
生产计划编码 |
| sales_order_id |
bigint |
- |
Y |
NULL |
销售订单ID |
| sales_order_code |
varchar |
32 |
Y |
NULL |
销售订单编码 |
| delivery_date |
date |
- |
Y |
NULL |
订单交期 |
| item_id |
bigint |
- |
N |
- |
物料ID |
| item_code |
varchar |
32 |
N |
- |
物料编码 |
| item_name |
varchar |
100 |
N |
- |
物料名称 |
| specification |
varchar |
200 |
Y |
NULL |
型号规格 |
| unit_name |
varchar |
20 |
Y |
NULL |
计量单位 |
| purchase_qty |
decimal |
18,4 |
N |
0 |
采购数量 |
| ordered_qty |
decimal |
18,4 |
Y |
0 |
已订数量 |
| remark |
varchar |
500 |
Y |
NULL |
备注 |
9. 枚举值定义
9.1 通用单据状态 (status)
| 枚举值 |
中文名 |
说明 |
| DRAFT |
开立/草稿 |
可编辑状态 |
| SUBMITTED |
已提交 |
等待审核 |
| APPROVED |
已审核 |
审核通过,不可编辑 |
| REJECTED |
已驳回 |
审核驳回 |
| CLOSED |
已关闭 |
业务完结 |
| CANCELLED |
已取消 |
取消作废 |
9.2 业务状态 (business_status)
| 枚举值 |
中文名 |
说明 |
| NORMAL |
正常 |
正常执行 |
| PAUSE |
暂停 |
暂停执行 |
| CANCEL |
取消 |
已取消 |
9.3 启用状态 (enable_flag)
| 枚举值 |
中文名 |
说明 |
| Y |
启用 |
正常使用 |
| N |
停用 |
禁止使用 |
9.4 删除标志 (del_flag)
| 枚举值 |
中文名 |
说明 |
| 0 |
存在 |
正常数据 |
| 1 |
删除 |
逻辑删除 |
9.5 物料类型 (item_or_product)
| 枚举值 |
中文名 |
说明 |
| ITEM |
物料 |
原材料/零部件 |
| PRODUCT |
产品 |
成品 |
9.6 供应方式 (supply_type)
| 枚举值 |
中文名 |
说明 |
| PURCHASE |
采购 |
外部采购 |
| SELF_MADE |
自制 |
自己生产 |
| OUTSOURCE |
委外 |
委外加工 |
9.7 采购业务类型 (business_type)
| 枚举值 |
中文名 |
说明 |
| RAW_MATERIAL |
原材料 |
原材料采购 |
| PARTS |
零部件 |
零部件采购 |
| ASSEMBLY |
装配件 |
装配件采购 |
| FINISHED |
成品 |
成品采购 |
| HARDWARE |
五金件 |
五金件采购 |
| PACKAGING |
包装物 |
包装物采购 |
9.8 用料需求 (material_need)
| 枚举值 |
中文名 |
说明 |
| ORDER_USE |
订单用料 |
按订单需求采购 |
| STOCK_USE |
备库用料 |
备库采购 |
9.9 工作类型 (work_type)
| 枚举值 |
中文名 |
说明 |
| 0 |
生产计划单 |
主生产计划 |
| 1 |
零部件计划单 |
零部件生产计划 |
| 2 |
零部件订单 |
零部件加工订单 |
9.10 需求方式 (need_type)
| 枚举值 |
中文名 |
说明 |
| 0 |
订单用料 |
按订单需求采购 |
| 1 |
库存备料 |
备库采购 |
9.11 下发状态 (issue_status)
| 枚举值 |
中文名 |
说明 |
| NOT_ISSUED |
未下发 |
未下发到车间 |
| ISSUED |
已下发 |
已下发到车间 |
| COMPLETED |
已完成 |
生产完成 |
9.12 财务状态 (finance_status)
| 枚举值 |
中文名 |
说明 |
| RECORDED |
录入 |
已录入 |
| ENTERED |
入账 |
已入账 |
9.13 客户/供应商等级 (client_level / supplier_level)
| 枚举值 |
中文名 |
说明 |
| A |
A级 |
核心客户/供应商 |
| B |
B级 |
重要客户/供应商 |
| C |
C级 |
一般客户/供应商 |
| D |
D级 |
潜在客户/供应商 |
10. 索引设计规范
10.1 索引命名规范
| 索引类型 |
命名格式 |
示例 |
| 主键 |
pk_表名 |
pk_sl_order |
| 唯一索引 |
uk_表名_字段 |
uk_sl_order_code |
| 普通索引 |
idx_表名_字段 |
idx_sl_order_date |
| 组合索引 |
idx_表名_字段1_字段2 |
idx_sl_order_client_date |
10.2 必建索引
| 场景 |
索引字段 |
说明 |
| 主键 |
xxx_id |
主键自动创建 |
| 租户 |
tenant_id |
多租户隔离 |
| 编码 |
xxx_code + tenant_id |
编码唯一 |
| 外键 |
关联字段ID |
关联查询 |
| 日期 |
xxx_date |
范围查询 |
| 状态 |
status |
条件筛选 |
10.3 索引设计原则
- 主键索引: 使用自增bigint,避免UUID
- 唯一索引: 编码字段 + tenant_id 组合唯一
- 外键索引: 所有外键字段必须建立索引
- 组合索引: 遵循最左前缀原则
- 避免冗余: 不要在已有索引字段上重复建索引
11. ER图
11.1 销售模块ER图
11.2 采购模块ER图
11.3 生产计划模块ER图
11.4 基础数据关联
附录A: API模块路径对照
| 模块 |
API前缀 |
说明 |
| 系统管理 |
/system |
用户、角色、部门等 |
| 基础数据 |
/md |
物料、BOM、单位等 |
| 仓库管理 |
/wm |
仓库、库存、出入库等 |
| 销售管理 |
/sl |
客户、订单、发货等 |
| 采购管理 |
/po |
供应商、采购订单等 |
| 生产计划 |
/mp |
生产计划、物料清单等 |
| 生产执行 |
/pm |
工单、生产任务等 |
| 研发管理 |
/rd |
研发BOM、样品等 |
| 委外管理 |
/pu |
委外订单、委外加工等 |
| 财务管理 |
/fd |
应收应付、凭证等 |
附录B: 数据权限说明
B.1 租户隔离
所有业务表都包含 tenant_id 字段,用于多租户数据隔离。
隔离规则:
- 查询时自动追加租户条件
- 新增时自动填充租户ID
- 租户之间数据完全隔离
B.2 数据权限范围
| 权限类型 |
说明 |
实现方式 |
| 全部数据 |
可查看所有数据 |
不追加条件 |
| 部门数据 |
只能查看本部门数据 |
dept_id = 当前部门 |
| 部门及以下 |
可查看本部门及下级部门数据 |
dept_id IN (部门树) |
| 仅本人数据 |
只能查看自己创建的数据 |
create_by = 当前用户 |
附录C: 未覆盖模块说明
以下模块已通过Swagger API发现但尚未纳入本数据字典,详见 erp数据库设计-Swagger补充模块.md
C.1 未覆盖模块清单
| 模块 |
API前缀 |
Java包前缀 |
估计表数量 |
说明 |
| 生产管理(车间) |
/prs |
Prs* |
~20 |
生产订单、领料、完工、入库、报工、指令单等 |
| 研发管理 |
/rd |
Rd* |
~10 |
产品BOM(EBOM)、样品配方、孪生物料、放量、设置 |
| 委外管理 |
/pu |
Pu* |
~14 |
委外商、委外订单、到货、入库、发料、退料、发票 |
| 财务管理 |
/fd |
Fd* |
~30+ |
期间、账套、科目、凭证、应收应付、收付款、成本核算等 |
| 车间设置 |
/prs (基础) |
Prs* |
~8 |
生产线、班组、工人、工种、工序段、工艺路线、设备 |
C.2 Swagger API揭示的命名差异
目标ERP系统的实际API字段命名与本文档中基于行业惯例设计的字段命名存在差异:
| 概念 |
本文档命名 |
Swagger实际命名 |
差异说明 |
| 主键 |
xxx_id (如 order_id) |
uniqueId |
ERP统一使用uniqueId |
| 物料编码 |
item_code |
invCode |
inv = Inventory |
| 物料名称 |
item_name |
invName |
inv = Inventory |
| 物料分类ID |
item_type_id |
invSortId |
sort = 分类 |
| 跟单编号 |
track_code |
ppNumber |
全局唯一 |
| 操作员 |
operator_name |
userOper |
|
| 审核员 |
approver_name |
userCheck |
|
| 审核日期 |
approve_date |
checkDate |
|
| 业务状态 |
business_status |
workStatus |
|
说明: 本文档中的字段命名遵循行业通用规范,便于理解和对接。实际集成时需根据API字段名进行映射转换。具体映射关系详见 erp数据库设计-Swagger补充模块.md 第1节。
C.3 相关文档
| 文档 |
说明 |
erp数据库设计-Swagger补充模块.md |
Swagger API分析的完整报告,含所有缺失模块的字段定义 |
目标erp系统接口文档Swagger-API.md |
已整理的API接口文档(含9个模块) |
ERP系统接口API文档.md |
API接口文档的引用版本 |
修订历史
| 版本 |
日期 |
修订内容 |
修订人 |
| 1.0.0 |
2026-01-25 |
初始版本 |
System |
| 1.1.0 |
2026-02-06 |
增加附录C:基于Swagger API分析的未覆盖模块说明和命名差异对照 |
System |