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

300 lines
8.5 KiB
Markdown
Raw Normal View History

2025-12-19 10:12:59 +08:00
# 入库管理系统使用说明
## 一、功能概述
基于若依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版