销售管理模块 - 数据模型规范
本文档定义销售管理模块的数据库表结构和实体关系,供前后端开发参考。
注意: 字段命名采用驼峰命名法 (camelCase),与后端 API 返回格式保持一致。
1. 实体关系图 (ER Diagram)
2. 客户档案 (sl_client)
2.1 主表结构 (SlClient)
API 路径: /sl/client
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| clientId |
bigint |
- |
N |
- |
客户ID (主键) |
| clientCode |
varchar |
32 |
N |
- |
客户编码 |
| clientName |
varchar |
100 |
N |
- |
客户名称 |
| clientNick |
varchar |
50 |
Y |
- |
客户简称 |
| clientEn |
varchar |
100 |
Y |
- |
英文名称 |
| clientDes |
varchar |
500 |
Y |
- |
客户描述 |
| clientLogo |
varchar |
200 |
Y |
- |
客户Logo |
| clientType |
varchar |
20 |
Y |
- |
客户类型 |
| clientLevel |
varchar |
10 |
Y |
'B' |
客户级别(A/B/C/D) |
| clientSource |
varchar |
50 |
Y |
- |
客户来源 |
| clientIndustry |
varchar |
50 |
Y |
- |
所属行业 |
| address |
varchar |
200 |
Y |
- |
地址 |
| website |
varchar |
200 |
Y |
- |
网址 |
| email |
varchar |
100 |
Y |
- |
邮箱 |
| tel |
varchar |
20 |
Y |
- |
电话 |
| contact1 |
varchar |
50 |
Y |
- |
联系人1 |
| contact1Tel |
varchar |
20 |
Y |
- |
联系人1电话 |
| contact2 |
varchar |
50 |
Y |
- |
联系人2 |
| contact2Tel |
varchar |
20 |
Y |
- |
联系人2电话 |
| creditCode |
varchar |
30 |
Y |
- |
信用代码 |
| enableFlag |
char |
1 |
N |
'Y' |
启用状态(Y/N) |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
2.2 开票信息 (客户表扩展字段)
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| bankName |
varchar |
100 |
Y |
开户银行 |
| bankAccount |
varchar |
30 |
Y |
银行账号 |
| taxNo |
varchar |
20 |
Y |
税号 |
| invoiceAddress |
varchar |
200 |
Y |
开票地址电话 |
3. 销售订单 (sl_order)
3.1 主表结构 (SlOrderMaster)
API 路径: /sl/order
| 字段名 |
类型 |
长度 |
允许空 |
默认值 |
说明 |
| orderId |
bigint |
- |
N |
- |
订单ID (主键) |
| orderCode |
varchar |
32 |
N |
- |
订单编号 |
| orderName |
varchar |
100 |
Y |
- |
订单名称 |
| orderDate |
date |
- |
N |
- |
订单日期 |
| orderStatus |
varchar |
20 |
N |
'DRAFT' |
订单状态 |
| clientId |
bigint |
- |
N |
- |
客户ID |
| clientCode |
varchar |
32 |
Y |
- |
客户编码(冗余) |
| clientName |
varchar |
100 |
Y |
- |
客户名称(冗余) |
| deliveryDate |
date |
- |
Y |
- |
交货日期 |
| totalAmount |
decimal |
18,2 |
Y |
0 |
订单总金额 |
| remark |
varchar |
500 |
Y |
- |
备注 |
| delFlag |
char |
1 |
N |
'0' |
删除标志 |
| createBy |
varchar |
64 |
Y |
- |
创建者 |
| createTime |
datetime |
- |
Y |
- |
创建时间 |
| updateBy |
varchar |
64 |
Y |
- |
更新者 |
| updateTime |
datetime |
- |
Y |
- |
更新时间 |
| tenantId |
varchar |
20 |
N |
- |
租户ID |
订单状态枚举 (orderStatus)
| 值 |
说明 |
| DRAFT |
草稿 |
| SUBMITTED |
已提交 |
| APPROVED |
已审批 |
| REJECTED |
已驳回 |
| CLOSED |
已关闭 |
| CANCELLED |
已取消 |
3.2 明细表结构 (SlOrderSalve)
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| lineId |
bigint |
- |
N |
行ID (主键) |
| orderId |
bigint |
- |
N |
订单ID (外键) |
| itemId |
bigint |
- |
N |
物料ID |
| itemCode |
varchar |
32 |
Y |
物料编码 |
| itemName |
varchar |
100 |
Y |
物料名称 |
| specification |
varchar |
100 |
Y |
规格型号 |
| unitOfMeasure |
varchar |
20 |
Y |
计量单位 |
| quantity |
decimal |
18,4 |
N |
数量 |
| unitPrice |
decimal |
18,4 |
Y |
单价 |
| amount |
decimal |
18,2 |
Y |
金额 |
| deliveredQty |
decimal |
18,4 |
Y |
已发货数量 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
3.3 索引设计
4. 发货单 (sl_deliver)
4.1 主表结构 (SlDeliverMaster)
API 路径: /sl/deliver
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| deliverId |
bigint |
- |
N |
发货单ID (主键) |
| deliverCode |
varchar |
32 |
N |
发货单编号 |
| deliverName |
varchar |
100 |
Y |
发货单名称 |
| deliverDate |
date |
- |
N |
发货日期 |
| orderId |
bigint |
- |
Y |
销售订单ID |
| clientId |
bigint |
- |
N |
客户ID |
| clientName |
varchar |
100 |
Y |
客户名称 |
| warehouseId |
bigint |
- |
N |
发货仓库ID |
| warehouseName |
varchar |
50 |
Y |
仓库名称 |
| status |
varchar |
20 |
N |
状态 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
| createBy |
varchar |
64 |
Y |
创建者 |
| createTime |
datetime |
- |
Y |
创建时间 |
| updateBy |
varchar |
64 |
Y |
更新者 |
| updateTime |
datetime |
- |
Y |
更新时间 |
| tenantId |
varchar |
20 |
N |
租户ID |
4.2 明细表结构 (SlDeliverSalve)
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| lineId |
bigint |
- |
N |
行ID (主键) |
| deliverId |
bigint |
- |
N |
发货单ID (外键) |
| orderId |
bigint |
- |
Y |
来源订单ID |
| orderLineId |
bigint |
- |
Y |
来源订单明细ID |
| itemId |
bigint |
- |
N |
物料ID |
| itemCode |
varchar |
32 |
Y |
物料编码 |
| itemName |
varchar |
100 |
Y |
物料名称 |
| specification |
varchar |
100 |
Y |
规格型号 |
| unitOfMeasure |
varchar |
20 |
Y |
计量单位 |
| orderQty |
decimal |
18,4 |
Y |
订单数量 |
| deliveredQty |
decimal |
18,4 |
Y |
已发数量 |
| deliverQty |
decimal |
18,4 |
N |
本次发货数量 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
5. 销售发票 (sl_invoice)
5.1 主表结构 (SlInvoiceMaster)
API 路径: /sl/invoice
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| invoiceId |
bigint |
- |
N |
发票ID (主键) |
| invoiceCode |
varchar |
32 |
N |
发票编号 |
| invoiceName |
varchar |
100 |
Y |
发票名称 |
| invoiceDate |
date |
- |
N |
发票日期 |
| clientId |
bigint |
- |
N |
客户ID |
| clientName |
varchar |
100 |
Y |
客户名称 |
| invoiceTitle |
varchar |
100 |
Y |
开票名称 |
| taxRate |
decimal |
5,2 |
Y |
税率 |
| invoiceType |
varchar |
20 |
Y |
发票类型 |
| bankName |
varchar |
100 |
Y |
开户行 |
| bankAccount |
varchar |
30 |
Y |
银行账号 |
| taxNo |
varchar |
20 |
Y |
税号 |
| totalAmount |
decimal |
18,2 |
Y |
总金额 |
| taxAmount |
decimal |
18,2 |
Y |
税额 |
| status |
varchar |
20 |
N |
状态 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
| createBy |
varchar |
64 |
Y |
创建者 |
| createTime |
datetime |
- |
Y |
创建时间 |
| updateBy |
varchar |
64 |
Y |
更新者 |
| updateTime |
datetime |
- |
Y |
更新时间 |
| tenantId |
varchar |
20 |
N |
租户ID |
5.2 明细表结构 (SlInvoiceSalve)
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| lineId |
bigint |
- |
N |
行ID (主键) |
| invoiceId |
bigint |
- |
N |
发票ID (外键) |
| deliverId |
bigint |
- |
Y |
来源发货单ID |
| deliverLineId |
bigint |
- |
Y |
来源发货明细ID |
| itemId |
bigint |
- |
N |
物料ID |
| itemCode |
varchar |
32 |
Y |
物料编码 |
| itemName |
varchar |
100 |
Y |
物料名称 |
| specification |
varchar |
100 |
Y |
规格型号 |
| unitOfMeasure |
varchar |
20 |
Y |
计量单位 |
| quantity |
decimal |
18,4 |
N |
数量 |
| unitPrice |
decimal |
18,4 |
Y |
单价 |
| amount |
decimal |
18,2 |
Y |
金额 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
6. 退货单 (sl_saleback)
6.1 主表结构 (SlSalebackMaster)
API 路径: /sl/saleback
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| salebackId |
bigint |
- |
N |
退货单ID (主键) |
| salebackCode |
varchar |
32 |
N |
退货单编号 |
| salebackDate |
date |
- |
N |
退货日期 |
| orderId |
bigint |
- |
Y |
原销售订单ID |
| clientId |
bigint |
- |
N |
客户ID |
| clientName |
varchar |
100 |
Y |
客户名称 |
| reason |
varchar |
200 |
Y |
退货原因 |
| status |
varchar |
20 |
N |
状态 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
| createBy |
varchar |
64 |
Y |
创建者 |
| createTime |
datetime |
- |
Y |
创建时间 |
| updateBy |
varchar |
64 |
Y |
更新者 |
| updateTime |
datetime |
- |
Y |
更新时间 |
| tenantId |
varchar |
20 |
N |
租户ID |
6.2 明细表结构 (SlSalebackSalve)
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| lineId |
bigint |
- |
N |
行ID (主键) |
| salebackId |
bigint |
- |
N |
退货单ID (外键) |
| deliverId |
bigint |
- |
Y |
来源发货单ID |
| deliverLineId |
bigint |
- |
Y |
来源发货明细ID |
| itemId |
bigint |
- |
N |
物料ID |
| itemCode |
varchar |
32 |
Y |
物料编码 |
| itemName |
varchar |
100 |
Y |
物料名称 |
| specification |
varchar |
100 |
Y |
规格型号 |
| unitOfMeasure |
varchar |
20 |
Y |
计量单位 |
| deliveredQty |
decimal |
18,4 |
Y |
已发数量 |
| returnQty |
decimal |
18,4 |
N |
退货数量 |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
7. 物料主数据 (md_item)
7.1 主表结构 (MdItem)
API 路径: /md/item
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| itemId |
bigint |
- |
N |
物料ID (主键) |
| itemCode |
varchar |
32 |
N |
物料编码 |
| itemName |
varchar |
100 |
N |
物料名称 |
| specification |
varchar |
100 |
Y |
规格型号 |
| unitOfMeasure |
varchar |
20 |
Y |
计量单位 |
| itemTypeId |
bigint |
- |
Y |
物料分类ID |
| itemTypeName |
varchar |
50 |
Y |
物料分类名称 |
| itemOrProduct |
varchar |
20 |
Y |
物料/产品 (ITEM/PRODUCT) |
| safeStockFlag |
char |
1 |
Y |
是否启用安全库存(Y/N) |
| minStock |
decimal |
18,4 |
Y |
最小库存 |
| maxStock |
decimal |
18,4 |
Y |
最大库存 |
| enableFlag |
char |
1 |
N |
启用状态(Y/N) |
| remark |
varchar |
500 |
Y |
备注 |
| delFlag |
char |
1 |
N |
删除标志 |
| createBy |
varchar |
64 |
Y |
创建者 |
| createTime |
datetime |
- |
Y |
创建时间 |
| updateBy |
varchar |
64 |
Y |
更新者 |
| updateTime |
datetime |
- |
Y |
更新时间 |
| tenantId |
varchar |
20 |
N |
租户ID |
7.2 物料分类 (MdItemType)
API 路径: /md/itemtype
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| itemTypeId |
bigint |
- |
N |
分类ID (主键) |
| itemTypeCode |
varchar |
32 |
N |
分类编码 |
| itemTypeName |
varchar |
50 |
N |
分类名称 |
| parentTypeId |
bigint |
- |
Y |
父分类ID |
| orderNum |
int |
- |
Y |
排序号 |
| enableFlag |
char |
1 |
N |
启用状态(Y/N) |
8. 仓库 (wm_warehouse)
8.1 仓库主表
API 路径: /wm/warehouse
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| warehouseId |
bigint |
- |
N |
仓库ID (主键) |
| warehouseCode |
varchar |
32 |
N |
仓库编码 |
| warehouseName |
varchar |
50 |
N |
仓库名称 |
| location |
varchar |
100 |
Y |
位置 |
| area |
decimal |
10,2 |
Y |
面积 |
| charge |
varchar |
50 |
Y |
负责人 |
| enableFlag |
char |
1 |
N |
启用状态(Y/N) |
8.2 库存 (wm_stock)
API 路径: /wm/stock
| 字段名 |
类型 |
长度 |
允许空 |
说明 |
| stockId |
bigint |
- |
N |
库存ID (主键) |
| itemId |
bigint |
- |
N |
物料ID |
| itemCode |
varchar |
32 |
Y |
物料编码 |
| itemName |
varchar |
100 |
Y |
物料名称 |
| warehouseId |
bigint |
- |
N |
仓库ID |
| warehouseName |
varchar |
50 |
Y |
仓库名称 |
| quantityOnHand |
decimal |
18,4 |
Y |
在库数量 |
| quantityLocked |
decimal |
18,4 |
Y |
锁定数量 |
| quantityAvailable |
decimal |
18,4 |
Y |
可用数量 |
9. 视图设计
9.1 销售订单明细视图 (v_sl_order_detail)
9.2 7天交货明细视图 (v_sl_7day_delivery)
10. 状态枚举定义
10.1 单据状态 (status / orderStatus)
| 状态值 |
说明 |
| DRAFT |
草稿 |
| SUBMITTED |
已提交 |
| APPROVED |
已审批 |
| REJECTED |
已驳回 |
| CLOSED |
已关闭 |
| CANCELLED |
已取消 |
10.2 启用状态 (enableFlag)
10.3 物料类型 (itemOrProduct)
| 状态值 |
说明 |
| ITEM |
物料 |
| PRODUCT |
产品 |
11. API 模块路径对照
| 模块 |
API路径前缀 |
说明 |
| 销售模块 |
/sl |
Sales |
| 仓库模块 |
/wm |
Warehouse Management |
| 物料模块 |
/md |
Master Data |
| 采购模块 |
/po |
Procurement |
| 生产模块 |
/pd |
Production |
| 计划模块 |
/pl |
Planning |
| 研发模块 |
/rd |
Research & Development |
| 委外模块 |
/pu |
Outsourcing |
| 财务模块 |
/fd |
Finance |