ETest-Vue-FastAPI/入库管理系统使用说明.md

300 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 入库管理系统使用说明
## 一、功能概述
基于若依FastAPI+Vue框架实现了完整的样品入库管理功能包括
### 1. 入库单管理
- 入库单创建、修改、删除、查询
- 自动生成入库单号格式2025内检001
- 记录委托单位、委托人、收样信息等
- 支持多种来样目的(标准化测试、开发验证、故障验证、实验)
- 状态管理(正常、已完成、已取消)
### 2. 样品管理
- 样品的增删改查
- 关联入库单(一对多关系)
- 记录样品型号、SN号、硬件版本等信息
- 测试项目管理(计划测试项、实际测试项)
- 出库信息管理(交样日期、交样人、接样人等)
- 状态跟踪(待测试、测试中、已完成、已退回)
## 二、已创建的文件清单
### 后端文件FastAPI
#### 1. 数据库
```
ruoyi-fastapi-backend/sql/warehouse_management.sql
```
- 包含3张表入库单表、样品表、入库单序号表
- 包含示例数据
- 包含完整的菜单权限SQL
#### 2. 实体层Entity/DO
```
ruoyi-fastapi-backend/module_admin/entity/do/warehouse_receipt_do.py
ruoyi-fastapi-backend/module_admin/entity/do/warehouse_sample_do.py
```
#### 3. 视图对象层VO
```
ruoyi-fastapi-backend/module_admin/entity/vo/warehouse_receipt_vo.py
ruoyi-fastapi-backend/module_admin/entity/vo/warehouse_sample_vo.py
```
#### 4. 数据访问层DAO
```
ruoyi-fastapi-backend/module_admin/dao/warehouse_receipt_dao.py
ruoyi-fastapi-backend/module_admin/dao/warehouse_sample_dao.py
```
#### 5. 业务逻辑层Service
```
ruoyi-fastapi-backend/module_admin/service/warehouse_receipt_service.py
ruoyi-fastapi-backend/module_admin/service/warehouse_sample_service.py
```
#### 6. 控制器层Controller
```
ruoyi-fastapi-backend/module_admin/controller/warehouse_receipt_controller.py
ruoyi-fastapi-backend/module_admin/controller/warehouse_sample_controller.py
```
#### 7. 路由注册
```
ruoyi-fastapi-backend/server.py (已修改)
```
### 前端文件Vue
#### 1. API接口
```
ruoyi-fastapi-frontend/src/api/warehouse/receipt.js
ruoyi-fastapi-frontend/src/api/warehouse/sample.js
```
#### 2. 页面组件
```
ruoyi-fastapi-frontend/src/views/warehouse/receipt/index.vue
ruoyi-fastapi-frontend/src/views/warehouse/sample/index.vue
```
## 三、部署步骤
### 步骤1导入数据库
```sql
-- 在MySQL中执行
mysql -u root -p your_database < ruoyi-fastapi-backend/sql/warehouse_management.sql
```
或者在数据库管理工具中手动执行SQL文件内容。
### 步骤2更新依赖如需要
```bash
# 后端
cd ruoyi-fastapi-backend
pip install bcrypt==4.0.1 # 确保bcrypt版本正确
# 前端(如果之前没有安装)
cd ruoyi-fastapi-frontend
npm install
```
### 步骤3启动后端
```bash
cd ruoyi-fastapi-backend
python app.py
```
### 步骤4启动前端
```bash
cd ruoyi-fastapi-frontend
npm run serve
```
### 步骤5访问系统
- 打开浏览器访问http://localhost:8080
- 使用admin/admin123登录
- 在菜单中找到"入库管理"模块
## 四、功能使用说明
### 4.1 创建入库单
1. 点击"入库管理" > "入库单管理"
2. 点击"新增"按钮
3. 系统自动生成入库单号(可点击刷新按钮重新生成)
4. 填写以下信息:
- **必填**:入库单号、收样日期
- **选填**:委托单位、委托人、来源地、送样人等
5. 选择收样方式(专人/小运/快递/货拉拉/交本框)
6. 选择来样目的(标准化测试/开发验证/故障验证/实验)
7. 点击"确定"保存
### 4.2 管理样品
#### 方式一:从入库单进入
1. 在入库单列表中,点击某个入库单的"查看样品"按钮
2. 进入该入库单的样品列表页面
3. 点击"新增"添加样品
#### 方式二:直接进入样品管理
1. 点击"入库管理" > "样品管理"
2. 查看所有样品
3. 可按入库单号、样品型号、SN号等条件搜索
#### 添加样品信息
- 样品型号:如 DSM
- 样品SN号如 240212SG
- 硬件版本号:如 DSM_V4.1.2
- 外测状态PCBA/点板板/建板板
- 计划测试项:描述测试内容
- 测试截止日期YYYY-MM-DD
- 状态:待测试/测试中/已完成/已退回
### 4.3 出库管理
在样品详情中填写出库信息:
- 出库交样日期
- 出库交样方式
- 出库交样人
- 出库接样人
- 出库记录人
- 实际测试项
### 4.4 数据查询
#### 入库单查询
- 按入库单号
- 按委托单位
- 按委托人
- 按来样目的
- 按状态
#### 样品查询
- 按入库单号
- 按样品型号
- 按样品SN号
- 按外测状态
- 按状态
## 五、API接口说明
### 入库单接口
| 接口 | 方法 | 说明 |
|------|------|------|
| /warehouse/receipt/list | GET | 获取入库单列表(分页) |
| /warehouse/receipt/{id} | GET | 获取入库单详情 |
| /warehouse/receipt | POST | 新增入库单 |
| /warehouse/receipt | PUT | 修改入库单 |
| /warehouse/receipt/{ids} | DELETE | 删除入库单 |
| /warehouse/receipt/generate/receiptNo | GET | 生成入库单号 |
### 样品接口
| 接口 | 方法 | 说明 |
|------|------|------|
| /warehouse/sample/list | GET | 获取样品列表(分页) |
| /warehouse/sample/{id} | GET | 获取样品详情 |
| /warehouse/sample | POST | 新增样品 |
| /warehouse/sample | PUT | 修改样品 |
| /warehouse/sample/{ids} | DELETE | 删除样品 |
## 六、权限配置
系统已自动创建以下权限:
### 入库单权限
- `warehouse:receipt:list` - 查询入库单
- `warehouse:receipt:query` - 查看入库单详情
- `warehouse:receipt:add` - 新增入库单
- `warehouse:receipt:edit` - 修改入库单
- `warehouse:receipt:remove` - 删除入库单
- `warehouse:receipt:export` - 导出入库单
### 样品权限
- `warehouse:sample:list` - 查询样品
- `warehouse:sample:query` - 查看样品详情
- `warehouse:sample:add` - 新增样品
- `warehouse:sample:edit` - 修改样品
- `warehouse:sample:remove` - 删除样品
- `warehouse:sample:export` - 导出样品
## 七、数据库设计
### 入库单表warehouse_receipt
| 字段 | 类型 | 说明 |
|------|------|------|
| receipt_id | bigint | 主键 |
| receipt_no | varchar(50) | 入库单号(唯一) |
| commission_no | varchar(100) | 样品委托单号 |
| client_unit | varchar(200) | 委托单位 |
| client_contact | varchar(100) | 委托人 |
| receipt_date | date | 收样日期 |
| source_location | varchar(200) | 来源地 |
| delivery_person | varchar(100) | 送样人 |
| receipt_method | varchar(50) | 收样方式 |
| receipt_method_detail | varchar(200) | 收样方式详情 |
| receiver | varchar(100) | 收样人 |
| recorder | varchar(100) | 入库记录人 |
| purpose | varchar(50) | 来样目的 |
| purpose_detail | varchar(500) | 来样目的详情 |
| status | char(1) | 状态(0正常 1已完成 2已取消) |
| remark | varchar(500) | 备注 |
### 样品表warehouse_sample
| 字段 | 类型 | 说明 |
|------|------|------|
| sample_id | bigint | 主键 |
| receipt_id | bigint | 入库单ID外键 |
| receipt_no | varchar(50) | 入库单号 |
| sample_model | varchar(100) | 样品型号 |
| sample_sn | varchar(100) | 样品SN号 |
| hardware_version | varchar(100) | 硬件版本号 |
| external_status | varchar(50) | 外测状态 |
| test_items | varchar(500) | 计划测试项 |
| test_deadline | date | 测试截止日期 |
| actual_test_items | varchar(500) | 实际测试项 |
| delivery_date | date | 出库交样日期 |
| delivery_method | varchar(50) | 出库交样方式 |
| delivery_person | varchar(100) | 出库交样人 |
| receive_person | varchar(100) | 出库接样人 |
| delivery_recorder | varchar(100) | 出库记录人 |
| status | char(1) | 状态(0待测试 1测试中 2已完成 3已退回) |
| remark | varchar(500) | 备注 |
## 八、注意事项
1. **数据关联**:删除入库单会级联删除其下所有样品,请谨慎操作
2. **权限配置**:需要给相应用户角色分配入库管理权限
3. **入库单号**:格式为"年份+类型+序号"2025内检001
4. **bcrypt版本**后端需要bcrypt==4.0.1版本才能正常工作
5. **数据库**使用MySQL字符集为utf8mb4
## 九、扩展功能建议
如需进一步扩展,可以考虑:
- 导出Excel功能
- 批量导入样品
- 样品流转记录
- 测试报告上传
- 统计报表功能
- 消息提醒(测试截止提醒)
- 二维码标签打印
---
**开发完成日期**2025-11-03
**技术栈**FastAPI + Vue.js + Element UI + MySQL + SQLAlchemy
**基于框架**若依FastAPI版