489 lines
18 KiB
Markdown
489 lines
18 KiB
Markdown
|
|
# 销售管理模块 - 数据模型规范
|
||
|
|
|
||
|
|
> 本文档定义销售管理模块的数据库表结构和实体关系,供前后端开发参考。
|
||
|
|
>
|
||
|
|
> **注意**: 字段命名采用驼峰命名法 (camelCase),与后端 API 返回格式保持一致。
|
||
|
|
|
||
|
|
## 1. 实体关系图 (ER Diagram)
|
||
|
|
|
||
|
|
```
|
||
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||
|
|
│ sl_client │ │ sl_contract │ │ sl_order │
|
||
|
|
│ (客户档案) │<──────│ (销售合同) │<──────│ (销售订单) │
|
||
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||
|
|
│ │ │
|
||
|
|
│ │ │
|
||
|
|
│ ▼ ▼
|
||
|
|
│ ┌─────────────────┐ ┌─────────────────┐
|
||
|
|
│ │sl_contract_salve│ │ sl_order_salve │
|
||
|
|
│ │ (合同产品明细) │ │ (订单物料明细) │
|
||
|
|
└───────────────>└─────────────────┘ └─────────────────┘
|
||
|
|
│
|
||
|
|
┌──────────────────────────────────────────────────┘
|
||
|
|
│
|
||
|
|
▼
|
||
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||
|
|
│ sl_deliver │ │ sl_invoice │ │ sl_saleback │
|
||
|
|
│ (发货通知单) │ │ (开票结算单) │ │ (退货通知单) │
|
||
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||
|
|
│ │ │
|
||
|
|
▼ ▼ ▼
|
||
|
|
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
||
|
|
│sl_deliver_salve │ │sl_invoice_salve │ │sl_saleback_salve│
|
||
|
|
│ (发货明细) │ │ (开票明细) │ │ (退货明细) │
|
||
|
|
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||
|
|
|
||
|
|
┌─────────────────┐
|
||
|
|
│ md_item │
|
||
|
|
│ (物料主数据) │
|
||
|
|
└─────────────────┘
|
||
|
|
│
|
||
|
|
▼
|
||
|
|
┌─────────────────┐
|
||
|
|
│ wm_warehouse │
|
||
|
|
│ (仓库) │
|
||
|
|
└─────────────────┘
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 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 索引设计
|
||
|
|
|
||
|
|
```sql
|
||
|
|
-- 主表索引
|
||
|
|
CREATE INDEX idx_sl_order_code ON sl_order(orderCode);
|
||
|
|
CREATE INDEX idx_sl_order_client ON sl_order(clientId);
|
||
|
|
CREATE INDEX idx_sl_order_date ON sl_order(orderDate);
|
||
|
|
CREATE INDEX idx_sl_order_status ON sl_order(orderStatus);
|
||
|
|
CREATE INDEX idx_sl_order_tenant ON sl_order(tenantId);
|
||
|
|
|
||
|
|
-- 明细表索引
|
||
|
|
CREATE INDEX idx_sl_order_salve_order ON sl_order_salve(orderId);
|
||
|
|
CREATE INDEX idx_sl_order_salve_item ON sl_order_salve(itemId);
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 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)
|
||
|
|
|
||
|
|
```sql
|
||
|
|
CREATE VIEW v_sl_order_detail AS
|
||
|
|
SELECT
|
||
|
|
o.orderId,
|
||
|
|
o.orderCode,
|
||
|
|
o.orderDate,
|
||
|
|
o.orderStatus,
|
||
|
|
o.clientId,
|
||
|
|
o.clientName,
|
||
|
|
o.deliveryDate,
|
||
|
|
o.totalAmount,
|
||
|
|
s.lineId,
|
||
|
|
s.itemId,
|
||
|
|
s.itemCode,
|
||
|
|
s.itemName,
|
||
|
|
s.specification,
|
||
|
|
s.unitOfMeasure,
|
||
|
|
s.quantity,
|
||
|
|
s.unitPrice,
|
||
|
|
s.amount,
|
||
|
|
s.deliveredQty,
|
||
|
|
(s.quantity - COALESCE(s.deliveredQty, 0)) AS undeliveredQty
|
||
|
|
FROM sl_order o
|
||
|
|
LEFT JOIN sl_order_salve s ON o.orderId = s.orderId AND s.delFlag = '0'
|
||
|
|
WHERE o.delFlag = '0';
|
||
|
|
```
|
||
|
|
|
||
|
|
### 9.2 7天交货明细视图 (v_sl_7day_delivery)
|
||
|
|
|
||
|
|
```sql
|
||
|
|
CREATE VIEW v_sl_7day_delivery AS
|
||
|
|
SELECT
|
||
|
|
o.orderId,
|
||
|
|
o.orderCode,
|
||
|
|
o.orderDate,
|
||
|
|
o.clientId,
|
||
|
|
o.clientName,
|
||
|
|
o.deliveryDate,
|
||
|
|
s.itemId,
|
||
|
|
s.itemCode,
|
||
|
|
s.itemName,
|
||
|
|
s.quantity AS orderQty,
|
||
|
|
s.deliveredQty,
|
||
|
|
(s.quantity - COALESCE(s.deliveredQty, 0)) AS undeliveredQty
|
||
|
|
FROM sl_order o
|
||
|
|
LEFT JOIN sl_order_salve s ON o.orderId = s.orderId AND s.delFlag = '0'
|
||
|
|
WHERE o.delFlag = '0'
|
||
|
|
AND o.orderStatus = 'APPROVED'
|
||
|
|
AND o.deliveryDate BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY)
|
||
|
|
AND (s.quantity - COALESCE(s.deliveredQty, 0)) > 0;
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 10. 状态枚举定义
|
||
|
|
|
||
|
|
### 10.1 单据状态 (status / orderStatus)
|
||
|
|
|
||
|
|
| 状态值 | 说明 |
|
||
|
|
|--------|------|
|
||
|
|
| DRAFT | 草稿 |
|
||
|
|
| SUBMITTED | 已提交 |
|
||
|
|
| APPROVED | 已审批 |
|
||
|
|
| REJECTED | 已驳回 |
|
||
|
|
| CLOSED | 已关闭 |
|
||
|
|
| CANCELLED | 已取消 |
|
||
|
|
|
||
|
|
### 10.2 启用状态 (enableFlag)
|
||
|
|
|
||
|
|
| 状态值 | 说明 |
|
||
|
|
|--------|------|
|
||
|
|
| Y | 启用 |
|
||
|
|
| N | 停用 |
|
||
|
|
|
||
|
|
### 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 |
|