# 机器人业务系统 - Power Apps 实施指南

## 一、环境准备

### 1.1 所需许可证
- **Power Apps per user 计划**（每用户/月）— 几十人规模推荐此方案
- 包含 Dataverse 数据库、Power Automate 基础流
- 如需 Power BI 报表，额外需要 Power BI Pro 许可证

### 1.2 环境搭建步骤
1. 登录 [Power Platform Admin Center](https://admin.powerplatform.microsoft.com)
2. 创建新环境：`RobotBusiness-Prod`（生产）和 `RobotBusiness-Dev`（开发）
3. 环境类型选择 **Production**，区域选最近的数据中心
4. 启用 Dataverse 数据库

---

## 二、Dataverse 建表步骤

### 2.1 在 Power Apps 中创建表
1. 进入 https://make.powerapps.com
2. 选择开发环境
3. 左侧导航 → **Tables** → **New table**
4. 按 database-schema.md 中的设计依次创建表

### 2.2 建表顺序（先基础表，再业务表）
```
第一批（无依赖）：
  ① Robot Product（机器人产品）
  ② Supplier（供应商）
  ③ Customer（客户）
  ④ Warehouse（仓库）

第二批（依赖第一批）：
  ⑤ Purchase Order（采购订单）
  ⑥ Purchase Order Line（采购明细）
  ⑦ Sales Order（销售订单）
  ⑧ Sales Order Line（销售明细）
  ⑨ Inventory（库存）

第三批（依赖第二批）：
  ⑩ Inventory Transaction（库存流水）
  ⑪ Payment Record（收款记录）
```

### 2.3 关键配置
- **Auto Number 格式**：采购单 `PO-{SEQNUM:6}`，销售单 `SO-{SEQNUM:6}`
- **业务规则**：在 Dataverse 表设计器中添加字段验证
- **计算字段**：LineTotal = Quantity × UnitPrice

---

## 三、App 设计方案

### 3.1 推荐：Model-driven App（模型驱动应用）
适合你的场景，原因：
- 自动生成表单和视图，开发速度快
- 内置权限体系（安全角色）适合几十人团队
- 支持业务流程流（Business Process Flow）
- 移动端自动适配

### 3.2 App 模块划分
```
机器人业务管理系统
├── 📦 采购管理
│   ├── 采购订单列表（视图：全部/待审批/进行中）
│   ├── 采购订单表单（含明细子表格）
│   └── 供应商管理
├── 🏭 库存管理
│   ├── 库存总览（按产品/仓库查看）
│   ├── 库存预警（低于安全库存的产品）
│   ├── 库存流水查询
│   └── 仓库管理
├── 💰 销售管理
│   ├── 销售订单列表（视图：全部/待确认/待发货）
│   ├── 销售订单表单（含明细子表格）
│   ├── 收款管理
│   └── 客户管理
├── 📊 数据看板（嵌入 Power BI）
│   ├── 采购分析（按月/供应商/产品）
│   ├── 库存分析（库存周转率/库龄）
│   ├── 销售分析（按月/客户/产品/销售人员）
│   └── 财务概览（应收账款/采购支出）
└── ⚙️ 基础数据
    ├── 产品管理
    ├── 供应商管理
    ├── 客户管理
    └── 仓库管理
```

---

## 四、Power Automate 自动化流程

### 4.1 采购入库流程
```
触发：采购订单状态变更为"已到货"
  → 遍历采购明细
  → 更新库存表（增加数量）
  → 生成库存流水记录（类型=采购入库）
  → 发送通知给仓库管理员
```

### 4.2 销售出库流程
```
触发：销售订单状态变更为"已发货"
  → 遍历销售明细
  → 更新库存表（减少数量，释放预留）
  → 生成库存流水记录（类型=销售出库）
  → 发送通知给客户
```

### 4.3 库存预警流程
```
触发：定时（每天早上9点）
  → 查询所有库存 ≤ 产品最低预警值的记录
  → 汇总生成预警报告
  → 发送邮件/Teams消息给采购负责人
```

### 4.4 审批流程
```
触发：采购单提交审批
  → 判断金额区间
  → 金额 < 5万：部门经理审批
  → 金额 5-20万：总监审批
  → 金额 > 20万：总经理审批
  → 审批通过 → 更新状态为"已审批"
  → 审批拒绝 → 退回并通知
```

### 4.5 收款状态自动更新
```
触发：新建收款记录时
  → 汇总该销售单所有收款金额
  → 对比销售单最终金额
  → 全额到账 → 更新为"已付款"
  → 部分到账 → 更新为"部分付款"
```

---

## 五、安全角色设计

| 角色 | 产品 | 采购 | 库存 | 销售 | 收款 | 报表 |
|------|------|------|------|------|------|------|
| 系统管理员 | 全部 | 全部 | 全部 | 全部 | 全部 | 全部 |
| 采购经理 | 读 | 全部 | 读 | — | — | 采购报表 |
| 采购员 | 读 | 创建/编辑自己的 | 读 | — | — | — |
| 仓库管理员 | 读 | 读 | 全部 | 读 | — | 库存报表 |
| 销售经理 | 读 | — | 读 | 全部 | 全部 | 销售报表 |
| 销售员 | 读 | — | 读 | 创建/编辑自己的 | 读 | — |
| 财务 | 读 | 读 | 读 | 读 | 全部 | 全部 |
| 管理层 | 读 | 读 | 读 | 读 | 读 | 全部 |

---

## 六、实施步骤与时间规划

### Phase 1：基础搭建（第1-2周）
- [ ] 创建 Power Platform 环境
- [ ] 在 Dataverse 中创建所有表和关系
- [ ] 配置字段验证和业务规则
- [ ] 创建 Model-driven App 框架

### Phase 2：核心功能（第3-5周）
- [ ] 完成产品/供应商/客户/仓库基础表单和视图
- [ ] 完成采购订单表单（含子表格）
- [ ] 完成销售订单表单（含子表格）
- [ ] 完成库存管理视图

### Phase 3：流程自动化（第6-7周）
- [ ] 配置采购审批流程（Power Automate）
- [ ] 配置入库/出库自动化流程
- [ ] 配置库存预警通知
- [ ] 配置收款状态自动更新

### Phase 4：报表与优化（第8-9周）
- [ ] 创建 Power BI 报表（采购/库存/销售/财务）
- [ ] 嵌入 Power BI 到 App
- [ ] 配置安全角色和权限
- [ ] 导入初始数据

### Phase 5：上线（第10周）
- [ ] 用户培训
- [ ] UAT 测试
- [ ] 从开发环境部署到生产环境
- [ ] 正式上线

---

## 七、进阶功能（可后续扩展）

1. **条码/二维码管理** — 给每台机器人贴码，扫码出入库
2. **电子签章** — 采购合同、销售合同在线签署
3. **AI Builder** — 自动识别采购发票、预测销售趋势
4. **Power Pages** — 建客户门户，让客户自助查询订单状态
5. **与财务系统集成** — 通过 API 对接金蝶/用友等 ERP
