# 机器人业务系统 - Dataverse 数据模型

## 1. 基础数据表

### 1.1 机器人产品表 (Robot Product)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| ProductId | Auto Number | 产品编号 |
| ProductName | Text | 产品名称 |
| Model | Text | 型号 |
| Category | Choice | 类别（工业机器人/服务机器人/协作机器人/特种机器人） |
| Brand | Text | 品牌 |
| Specification | Multiline Text | 规格参数 |
| UnitPrice | Currency | 单价 |
| ImageUrl | URL | 产品图片 |
| Status | Choice | 状态（在售/停售/预售） |
| MinStockAlert | Whole Number | 最低库存预警值 |

### 1.2 供应商表 (Supplier)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| SupplierId | Auto Number | 供应商编号 |
| SupplierName | Text | 供应商名称 |
| ContactPerson | Text | 联系人 |
| Phone | Phone | 电话 |
| Email | Email | 邮箱 |
| Address | Multiline Text | 地址 |
| Rating | Choice | 评级（A/B/C/D） |
| CooperationStatus | Choice | 合作状态（合作中/暂停/终止） |

### 1.3 客户表 (Customer)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| CustomerId | Auto Number | 客户编号 |
| CustomerName | Text | 客户名称 |
| CustomerType | Choice | 类型（企业/政府/个人/经销商） |
| Industry | Choice | 行业 |
| ContactPerson | Text | 联系人 |
| Phone | Phone | 电话 |
| Email | Email | 邮箱 |
| Address | Multiline Text | 地址 |
| CreditLevel | Choice | 信用等级 |

### 1.4 仓库表 (Warehouse)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| WarehouseId | Auto Number | 仓库编号 |
| WarehouseName | Text | 仓库名称 |
| Location | Text | 位置 |
| Manager | Lookup(User) | 负责人 |
| Capacity | Whole Number | 容量 |

---

## 2. 采购管理表

### 2.1 采购订单表 (Purchase Order)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| PONumber | Auto Number | 采购单号 (PO-20260001) |
| Supplier | Lookup(Supplier) | 供应商 |
| OrderDate | Date | 下单日期 |
| ExpectedDeliveryDate | Date | 预计到货日期 |
| ActualDeliveryDate | Date | 实际到货日期 |
| TotalAmount | Currency | 总金额（汇总计算） |
| Status | Choice | 状态（草稿/待审批/已审批/已下单/部分到货/已到货/已取消） |
| Approver | Lookup(User) | 审批人 |
| ApprovalDate | Date | 审批日期 |
| Remarks | Multiline Text | 备注 |
| CreatedBy | Lookup(User) | 创建人 |

### 2.2 采购订单明细表 (Purchase Order Line)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| PurchaseOrder | Lookup(Purchase Order) | 所属采购单 |
| Product | Lookup(Robot Product) | 产品 |
| Quantity | Whole Number | 采购数量 |
| UnitPrice | Currency | 采购单价 |
| LineTotal | Currency | 行小计（计算字段） |
| ReceivedQuantity | Whole Number | 已到货数量 |
| Warehouse | Lookup(Warehouse) | 目标仓库 |

---

## 3. 库存管理表

### 3.1 库存表 (Inventory)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| Product | Lookup(Robot Product) | 产品 |
| Warehouse | Lookup(Warehouse) | 仓库 |
| Quantity | Whole Number | 当前库存数量 |
| ReservedQuantity | Whole Number | 已预留数量（已售未出库） |
| AvailableQuantity | Whole Number | 可用数量（计算字段） |
| LastUpdated | DateTime | 最后更新时间 |

### 3.2 库存流水表 (Inventory Transaction)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| TransactionId | Auto Number | 流水号 |
| Product | Lookup(Robot Product) | 产品 |
| Warehouse | Lookup(Warehouse) | 仓库 |
| TransactionType | Choice | 类型（采购入库/销售出库/调拨入库/调拨出库/盘盈/盘亏/退货入库） |
| Quantity | Whole Number | 数量（正数入库，负数出库） |
| ReferenceType | Choice | 关联单据类型（采购单/销售单/调拨单） |
| ReferenceId | Text | 关联单据编号 |
| TransactionDate | DateTime | 发生时间 |
| Operator | Lookup(User) | 操作人 |
| Remarks | Multiline Text | 备注 |

---

## 4. 销售管理表

### 4.1 销售订单表 (Sales Order)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| SONumber | Auto Number | 销售单号 (SO-20260001) |
| Customer | Lookup(Customer) | 客户 |
| SalesPerson | Lookup(User) | 销售人员 |
| OrderDate | Date | 订单日期 |
| TotalAmount | Currency | 总金额 |
| DiscountRate | Decimal | 折扣率 |
| FinalAmount | Currency | 最终金额 |
| Status | Choice | 状态（草稿/待审批/已确认/部分发货/已发货/已完成/已取消） |
| PaymentStatus | Choice | 付款状态（未付款/部分付款/已付款） |
| ExpectedDeliveryDate | Date | 预计交付日期 |
| Remarks | Multiline Text | 备注 |
| CreatedBy | Lookup(User) | 创建人 |

### 4.2 销售订单明细表 (Sales Order Line)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| SalesOrder | Lookup(Sales Order) | 所属销售单 |
| Product | Lookup(Robot Product) | 产品 |
| Quantity | Whole Number | 销售数量 |
| UnitPrice | Currency | 销售单价 |
| DiscountRate | Decimal | 行折扣 |
| LineTotal | Currency | 行小计 |
| ShippedQuantity | Whole Number | 已发货数量 |
| Warehouse | Lookup(Warehouse) | 出库仓库 |

### 4.3 收款记录表 (Payment Record)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| PaymentId | Auto Number | 收款编号 |
| SalesOrder | Lookup(Sales Order) | 关联销售单 |
| Customer | Lookup(Customer) | 客户 |
| Amount | Currency | 收款金额 |
| PaymentDate | Date | 收款日期 |
| PaymentMethod | Choice | 方式（银行转账/支票/现金/承兑汇票） |
| Remarks | Multiline Text | 备注 |

---

## 5. 表关系图 (ER Diagram)

```
Supplier ──1:N──> Purchase Order ──1:N──> PO Line
                                            │
Robot Product <── Lookup ───────────────────┘
     │                                      │
     └──── Lookup ──> Inventory <────────── Warehouse
     │                    │
     │              Inventory Transaction
     │
Customer ──1:N──> Sales Order ──1:N──> SO Line
                      │
                      └──1:N──> Payment Record
```

## 6. 关键业务规则

### 采购流程
1. 创建采购单（草稿）→ 提交审批 → 审批通过 → 下单给供应商
2. 供应商发货 → 到货确认 → 自动触发入库（更新库存表 + 生成库存流水）
3. 采购单金额 ≥ 阈值时需要更高级别审批

### 库存规则
1. 库存数量 ≤ 最低预警值时，自动发送通知
2. 可用库存 = 当前库存 - 已预留数量
3. 所有库存变动必须生成流水记录（审计追踪）

### 销售流程
1. 创建销售单 → 检查库存 → 确认订单（预留库存）
2. 发货 → 自动触发出库（更新库存表 + 生成库存流水）
3. 记录收款 → 全部收齐后自动更新付款状态为"已付款"
