# 调度系统与盘点系统业务对接文档

## 调度系统业务描述

### 项目背景
调度系统是用于实现仓库自动化作业的核心系统，通过与WCS（仓库控制系统）和AGV（自动导引车）系统的协作，实现货物的自动化入库、出库、移库等操作。

### 项目目标
- 实现与WCS系统的无缝对接
- 实现与AGV系统的协调作业
- 提供标准化接口，确保系统间稳定运行
- 实现出入库、移库等核心业务流程

### 核心功能

#### 1. 入库/上架功能
- 接收WMS系统的入库任务
- 控制立体库设备执行上架操作
- 实时反馈任务执行状态给WMS系统

#### 2. 出库/下架功能
- 接收WMS系统的出库任务
- 控制立体库设备执行下架操作
- 实时反馈任务执行状态给WMS系统

#### 3. 任务调度功能
- 任务队列管理
- 任务优先级调度
- 设备资源分配

### 接口列表
- 入库接口（/API/Ruku）
- 出库接口（/API/Chuku）
- 任务状态回调接口

### 调度系统开发工作内容

#### 1. 接口开发工作
- **入库/上架接口开发**：实现与WCS系统的入库任务下发，预计16小时
- **出库/下架接口开发**：实现与WCS系统的出库任务下发，预计16小时
- **任务状态回调接口开发**：实现任务状态反馈机制，预计24小时

#### 2. 业务逻辑开发工作
- **货物上架逻辑实现**：实现完整的货物上架业务流程，预计32小时
- **货物下架逻辑实现**：实现完整的货物下架业务流程，预计32小时
- **任务调度与排队机制**：实现多任务排队调度算法，预计24小时

#### 3. 系统集成开发工作
- **与WMS系统接口对接**：确保调度系统与WMS系统稳定通信，预计20小时
- **与AGV系统协调机制**：实现调度系统与AGV系统的任务协调，预计16小时

---

## 盘点系统业务描述

### 项目背景
盘点系统是用于实现仓库库存自动盘点的系统，通过RFID设备自动采集货品信息，并与系统库存数据进行比对，以实现库存的精确管理。

### 项目目标
- 实现盘点任务的创建和管理
- 通过RFID设备自动采集货品标签信息
- 与系统库存数据进行比对分析
- 生成盘点结果报告

### 核心功能

#### 1. 盘点任务管理
- 创建盘点任务（设置任务名称、仓库ID、场景ID、执行人、完成时间等）
- 任务类型：手持盘点（0）和自动盘点（1）
- 任务状态：待执行（0）、已完成（1）、已超时（2）

#### 2. 自动盘点功能
- 设备连接管理：通过RFID设备IP和端口建立TCP连接
- 标签扫描：启动RFID设备进行标签扫描
- 数据传输：通过WebSocket将扫描到的EPC标签数据发送给前端
- 扫描控制：支持开始、停止、断开连接等操作

#### 3. 数据匹配功能
- 将扫描数据与系统库存数据进行匹配
- 生成匹配结果（正常、未扫到、误扫）
- 统计盘点结果并生成图表

#### 4. 报告管理功能
- 生成盘点统计图表
- 导出盘点报告
- 提供历史盘点记录查询

### 盘点任务创建详细流程

#### 1. 任务规划阶段
- 确定盘点范围（指定仓库、库区、货位等）
- 确定盘点类型（全盘、抽盘、专项盘点等）
- 确定盘点时间安排
- 分配盘点人员

#### 2. 基础数据准备
- 获取指定范围内的库存数据作为基准
- 验证库存数据完整性
- 生成任务清单

#### 3. 任务创建阶段
- 在系统中创建盘点任务记录
- 设置任务基本信息（名称、仓库、时间等）
- 绑定盘点设备（如适用）
- 分配执行人员

#### 4. 任务下发阶段
- 将任务信息同步到相关设备或人员
- 准备盘点所需的辅助数据
- 启动任务状态监控

### 接口列表
- 设备连接接口（/AutoInventory/connect）
- 开始盘点接口（/AutoInventory/scan）
- 停止盘点接口（/AutoInventory/stop）
- 断开连接接口（/AutoInventory/disconnect）
- 设备状态查询接口（/AutoInventory/status）
- 开始匹配接口（/AutoInventory/match）
- 盘点任务管理接口（/Inventory/task）

### 盘点系统开发工作内容

#### 1. 设备接口开发工作
- **RFID设备连接接口开发**：开发RFID设备连接、断开、状态查询接口，预计24小时
- **盘点控制接口开发**：开发开始盘点、停止盘点等控制接口，预计16小时

#### 2. 数据处理开发工作
- **扫描数据处理开发**：处理RFID设备扫描的标签数据，预计28小时
- **数据匹配算法开发**：开发扫描数据与库存数据的匹配算法，预计32小时

#### 3. 任务管理开发工作
- **盘点任务管理开发**：开发盘点任务的增删改查功能，预计24小时
- **报告生成开发**：开发盘点报告生成和统计功能，预计20小时

#### 4. 系统集成开发工作
- **WebSocket通信开发**：实现实时数据传输功能，预计20小时

---

## 系统与设备对接流程

### 调度系统设备对接流程

#### 1. 我方提供服务
- **任务调度服务**：根据业务需求生成调度任务
- **接口服务**：提供标准化的HTTP接口，供WCS和AGV系统调用
- **状态监控服务**：实时监控任务执行状态
- **协调控制服务**：协调WCS和AGV系统的任务执行顺序

#### 2. WCS系统对接要求
- **接口调用**：WCS系统需支持我方提供的入库/出库接口调用
- **数据格式**：WCS系统需按照我方定义的数据格式进行数据交互
- **状态反馈**：WCS系统需通过回调接口实时反馈任务执行状态
- **异常处理**：WCS系统需支持异常情况的处理和重试机制

#### 3. AGV系统对接要求
- **接口调用**：AGV系统需支持我方提供的搬运任务接口调用
- **数据格式**：AGV系统需按照我方定义的数据格式进行数据交互
- **状态反馈**：AGV系统需实时反馈任务执行状态
- **任务协调**：AGV系统需与WCS系统任务进行协调执行

#### 4. 对接执行流程
- **任务生成**：WMS系统创建任务后，通过接口下发到调度系统
- **任务分发**：调度系统根据任务类型，将任务分发给WCS或AGV系统
- **执行监控**：实时监控WCS和AGV系统的任务执行状态
- **状态同步**：WCS和AGV系统通过回调接口同步任务执行状态
- **完成确认**：任务完成后，调度系统更新任务状态并通知WMS系统

#### 5. 执行流程
```mermaid
graph TD
    A[WMS创建任务] --> B{判断任务类型}
    B -->|入库/上架| C[WMS调用WCS /API/Ruku接口]
    B -->|出库/下架| D[WMS调用WCS /API/Chuku接口]
    
    C --> E[WCS接收任务请求]
    D --> E
    
    E --> F[WCS验证任务参数]
    F --> G{参数验证结果}
    G -->|验证失败| H[WCS返回错误信息给WMS]
    G -->|验证成功| I[WCS创建内部任务]
    
    I --> J[WCS控制立体库设备执行任务]
    J --> K[设备执行中...]
    K --> L{任务执行结果}
    L -->|执行成功| M[WCS更新任务状态]
    L -->|执行失败| N[WCS记录异常并重试]
    
    M --> O[WCS回调WMS状态更新]
    N --> P{重试次数达到上限}
    P -->|是| Q[WCS回调WMS失败状态]
    P -->|否| J
    
    O --> R[WMS接收状态更新]
    Q --> R
    H --> R
    
    R --> S{是否需要AGV配合}
    S -->|是| T[WMS调度AGV]
    S -->|否| U[任务完成]
    T --> U
```

### 盘点系统设备对接流程

#### 1. 我方提供服务
- **设备管理服务**：提供设备连接、状态监控、任务下发等服务
- **数据处理服务**：实时接收设备数据，进行格式转换和处理
- **WebSocket通信服务**：提供实时数据传输通道
- **数据匹配服务**：将采集数据与库存数据进行比对分析

#### 2. 第三方设备对接要求
- **网络连接**：设备需支持TCP/IP协议，能够与我方系统建立稳定连接
- **数据格式**：设备需按照我方定义的数据格式传输标签信息
- **接口调用**：设备需支持我方提供的控制接口（开始/停止扫描等）
- **心跳机制**：设备需定期向我方系统发送心跳包，确保连接状态

#### 3. 对接执行流程
- **连接建立**：设备通过TCP/IP连接到我方系统，建立通信链路
- **设备注册**：设备向我方系统注册，获取设备ID和认证信息
- **任务获取**：设备从我方系统获取当前盘点任务信息
- **数据采集**：设备开始扫描，将采集到的标签数据实时传输给我方系统
- **状态同步**：设备定期向我方系统同步工作状态
- **任务完成**：设备完成任务后，向我方系统报告完成状态

#### 4. 执行流程
```mermaid
graph TD
    A[创建盘点任务] --> B[RFID设备连接]
    B --> C[下发盘点任务到设备]
    C --> D[设备开始标签扫描]
    D --> E[实时收集标签数据]
    E --> F{是否完成扫描?}
    F -->|是| G[停止扫描]
    F -->|否| D
    G --> H[数据比对分析]
    H --> I[生成盘点结果]
    I --> J[输出盘点报告]
    J --> K[任务完成]
```

## 项目交付物

### 调度系统
1. **技术文档**
   - 调度系统接口规范文档
   - 部署手册
   - 运维手册
   - 用户操作手册

2. **软件系统**
   - 调度系统核心程序
   - 数据库脚本
   - 配置文件

3. **测试报告**
   - 单元测试报告
   - 集成测试报告
   - 性能测试报告
   - 用户验收测试报告

### 盘点系统
1. **技术文档**
   - 盘点系统接口规范文档
   - 部署手册
   - 运维手册
   - 用户操作手册

2. **软件系统**
   - 盘点系统核心程序
   - 数据库脚本
   - 配置文件

3. **测试报告**
   - 单元测试报告
   - 集成测试报告
   - 性能测试报告
   - 用户验收测试报告

## 服务收费标准

### 调度系统开发服务

#### 1. 接口开发服务（56小时）
- 入库/上架接口：16小时
- 出库/下架接口：16小时
- 任务状态回调接口：24小时

#### 2. 业务逻辑开发（88小时）
- 货物上架逻辑：32小时
- 货物下架逻辑：32小时
- 任务调度机制：24小时

#### 3. 系统集成服务（36小时）
- 与WMS系统对接：20小时
- 与AGV系统协调：16小时

### 盘点系统开发服务

#### 1. 设备接口开发（40小时）
- RFID设备连接接口：24小时
- 盘点控制接口：16小时

#### 2. 数据处理开发（60小时）
- 扫描数据处理：28小时
- 数据匹配算法：32小时

#### 3. 任务管理开发（44小时）
- 盘点任务管理：24小时
- 报告生成：20小时

#### 4. 系统集成开发（20小时）
- WebSocket通信：20小时

**调度系统总计：180小时**
**盘点系统总计：164小时**
**项目总计：344小时**