Files
smart_management_dev/盘点系统业务对接文档.md

355 lines
9.5 KiB
Markdown
Raw Permalink Normal View History

# 盘点系统业务对接文档
## 项目概述
### 项目背景
盘点系统是用于实现仓库库存自动盘点的系统通过RFID设备自动采集货品信息并与系统库存数据进行比对以实现库存的精确管理。
### 项目目标
- 实现盘点任务的创建和管理
- 通过RFID设备自动采集货品标签信息
- 与系统库存数据进行比对分析
- 生成盘点结果报告
## 盘点系统业务流程
### 1. 任务创建阶段
- **业务内容**:在系统中创建盘点任务,指定盘点范围(仓库、区域、货品类别等)
- **数据准备**:系统获取当前库存数据作为基准数据
- **任务分配**将盘点任务分配给指定的RFID设备
### 2. 设备执行阶段
- **设备连接**RFID设备连接到系统
- **任务下发**系统将盘点任务下发到RFID设备
- **标签采集**RFID设备在指定区域扫描采集货品标签信息
- **数据传输**:将采集到的标签数据实时传输回系统
### 3. 结果采集阶段
- **数据收集**系统收集从RFID设备传回的标签数据
- **数据验证**:验证数据完整性和准确性
- **暂存处理**:将采集到的数据暂存到临时表
### 4. 结果匹配阶段
- **数据比对**:将采集到的标签数据与系统库存数据进行比对
- **状态标识**
- 正常:系统中有记录,且实物存在(标签被扫描到)
- 盘亏:系统中有记录,但实物不存在(标签未被扫描到)
- 盘盈:系统中无记录,但实物存在(标签被扫描到但无对应库存)
- **差异分析**:统计盘点差异情况
### 5. 结果输出阶段
- **报告生成**:生成盘点结果报告,包括正常、盘亏、盘盈等统计
- **结果展示**:通过图表和列表展示盘点结果
- **异常处理**:对盘点异常情况进行标注和处理
- **任务完成**:标记盘点任务为完成状态
## 合作方需要提供的信息
### 1. RFID设备技术信息
- 设备型号和规格
- 网络连接方式IP地址、端口
- 通信协议类型
- 设备API接口文档
- 设备认证和安全机制
### 2. 设备集成接口
- 设备连接接口TCP/UDP/HTTP等
- 标签数据获取接口
- 设备状态查询接口
- 设备控制接口(开始/停止扫描等)
### 3. 数据格式规范
- 标签数据格式
- 数据传输格式JSON/XML等
- 字符编码方式
- 数据字段定义
## 我方执行流程
### 1. 接口对接阶段
- **技术对接**根据合作方提供的API文档开发与RFID设备的接口
- **连接测试**:测试设备连接功能,确保能够正常建立连接
- **数据传输测试**:测试标签数据的获取和传输功能
### 2. 任务管理实现
- **任务创建**:开发盘点任务管理模块,支持任务的创建、分配、状态管理
- **设备绑定**实现盘点任务与RFID设备的绑定关系
- **权限控制**:确保任务的安全性和完整性
### 3. 数据处理实现
- **实时接收**:实现标签数据的实时接收和处理机制
- **WebSocket通信**通过WebSocket将采集到的标签数据实时推送到前端
- **数据存储**:将采集到的数据存储到系统中
### 4. 匹配算法实现
- **数据比对**:开发扫描数据与库存数据的匹配算法
- **差异计算**:计算盘点差异,标识盘盈、盘亏、正常等状态
- **统计分析**:生成盘点统计报告和图表
### 5. 结果展示实现
- **结果展示**:开发盘点结果的展示界面
- **报表生成**:实现盘点报告的生成和导出功能
- **异常处理**:处理盘点过程中的异常情况
## 对外接口规范
### 1. 设备连接接口(/AutoInventory/connect
#### 接口说明
建立RFID设备连接
#### 请求方式
POST
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| deviceId | String | 是 | 设备ID |
| ip | String | 是 | 设备IP地址 |
| port | Integer | 是 | 设备端口号 |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息 |
### 2. 开始盘点接口(/AutoInventory/scan
#### 接口说明
启动RFID设备进行标签扫描
#### 请求方式
GET
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| deviceId | String | 是 | 设备ID |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息 |
### 3. 停止盘点接口(/AutoInventory/stop
#### 接口说明
停止RFID设备扫描
#### 请求方式
GET
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| deviceId | String | 是 | 设备ID |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息 |
### 4. 断开连接接口(/AutoInventory/disconnect
#### 接口说明
断开RFID设备连接
#### 请求方式
GET
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| deviceId | String | 是 | 设备ID |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息 |
### 5. 设备状态查询接口(/AutoInventory/status
#### 接口说明
查询RFID设备连接状态
#### 请求方式
GET
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| deviceId | String | 是 | 设备ID |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息(包含设备连接状态) |
### 6. 开始匹配接口(/AutoInventory/match
#### 接口说明
将扫描数据与系统库存数据进行匹配
#### 请求方式
POST
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| taskId | String | 是 | 盘点任务ID |
| deviceId | String | 是 | 设备ID |
| scanType | Integer | 是 | 扫描类型0=手动盘点1=自动盘点) |
#### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 响应码200表示成功 |
| msg | String | 响应消息 |
### 7. 盘点任务管理接口(/Inventory/task
#### 接口说明
管理盘点任务的增删改查
#### 请求方式
POST/GET/PUT/DELETE
#### 主要功能
- 新增盘点任务
- 查询盘点任务列表
- 修改盘点任务
- 删除盘点任务
- 导出盘点任务
## 系统工作流程
```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. 设备接口开发工作
#### 1.1 RFID设备连接接口开发
- **工作内容**开发RFID设备连接、断开、状态查询接口
- **技术实现**
- TCP连接管理
- 设备状态跟踪
- 连接池管理
- 异常处理机制
- **预计工时**24小时
#### 1.2 盘点控制接口开发
- **工作内容**:开发开始盘点、停止盘点等控制接口
- **技术实现**
- 设备控制指令发送
- 扫描状态管理
- 线程安全控制
- **预计工时**16小时
### 2. 数据处理开发工作
#### 2.1 扫描数据处理开发
- **工作内容**处理RFID设备扫描的标签数据
- **技术实现**
- 实时数据接收
- WebSocket通信
- 数据格式化处理
- 数据存储
- **预计工时**28小时
#### 2.2 数据匹配算法开发
- **工作内容**:开发扫描数据与库存数据的匹配算法
- **技术实现**
- 匹配算法设计
- 数据对比逻辑
- 状态标识处理
- 统计计算
- **预计工时**32小时
### 3. 任务管理开发工作
#### 3.1 盘点任务管理开发
- **工作内容**:开发盘点任务的增删改查功能
- **技术实现**
- 任务数据模型设计
- 任务状态管理
- 任务分配逻辑
- 任务进度跟踪
- **预计工时**24小时
#### 3.2 报告生成开发
- **工作内容**:开发盘点报告生成和统计功能
- **技术实现**
- 数据统计算法
- 图表生成
- 报告导出功能
- 历史数据查询
- **预计工时**20小时
### 4. 系统集成开发工作
#### 4.1 WebSocket通信开发
- **工作内容**:实现实时数据传输功能
- **技术实现**
- WebSocket服务端开发
- 设备标识管理
- 消息推送机制
- **预计工时**20小时
## 项目交付物
1. **技术文档**
- 盘点系统接口规范文档
- 部署手册
- 运维手册
- 用户操作手册
2. **软件系统**
- 盘点系统核心程序
- 数据库脚本
- 配置文件
3. **测试报告**
- 单元测试报告
- 集成测试报告
- 性能测试报告
- 用户验收测试报告
## 服务收费标准
### 盘点系统开发服务
#### 1. 设备接口开发40小时
- RFID设备连接接口24小时
- 盘点控制接口16小时
#### 2. 数据处理开发60小时
- 扫描数据处理28小时
- 数据匹配算法32小时
#### 3. 任务管理开发44小时
- 盘点任务管理24小时
- 报告生成20小时
#### 4. 系统集成开发20小时
- WebSocket通信20小时
**总计开发工时164小时**