8.5 KiB
8.5 KiB
入库管理系统使用说明
一、功能概述
基于若依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:导入数据库
-- 在MySQL中执行
mysql -u root -p your_database < ruoyi-fastapi-backend/sql/warehouse_management.sql
或者在数据库管理工具中手动执行SQL文件内容。
步骤2:更新依赖(如需要)
# 后端
cd ruoyi-fastapi-backend
pip install bcrypt==4.0.1 # 确保bcrypt版本正确
# 前端(如果之前没有安装)
cd ruoyi-fastapi-frontend
npm install
步骤3:启动后端
cd ruoyi-fastapi-backend
python app.py
步骤4:启动前端
cd ruoyi-fastapi-frontend
npm run serve
步骤5:访问系统
- 打开浏览器访问:http://localhost:8080
- 使用admin/admin123登录
- 在菜单中找到"入库管理"模块
四、功能使用说明
4.1 创建入库单
- 点击"入库管理" > "入库单管理"
- 点击"新增"按钮
- 系统自动生成入库单号(可点击刷新按钮重新生成)
- 填写以下信息:
- 必填:入库单号、收样日期
- 选填:委托单位、委托人、来源地、送样人等
- 选择收样方式(专人/小运/快递/货拉拉/交本框)
- 选择来样目的(标准化测试/开发验证/故障验证/实验)
- 点击"确定"保存
4.2 管理样品
方式一:从入库单进入
- 在入库单列表中,点击某个入库单的"查看样品"按钮
- 进入该入库单的样品列表页面
- 点击"新增"添加样品
方式二:直接进入样品管理
- 点击"入库管理" > "样品管理"
- 查看所有样品
- 可按入库单号、样品型号、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) | 备注 |
八、注意事项
- 数据关联:删除入库单会级联删除其下所有样品,请谨慎操作
- 权限配置:需要给相应用户角色分配入库管理权限
- 入库单号:格式为"年份+类型+序号",如:2025内检001
- bcrypt版本:后端需要bcrypt==4.0.1版本才能正常工作
- 数据库:使用MySQL,字符集为utf8mb4
九、扩展功能建议
如需进一步扩展,可以考虑:
- 导出Excel功能
- 批量导入样品
- 样品流转记录
- 测试报告上传
- 统计报表功能
- 消息提醒(测试截止提醒)
- 二维码标签打印
开发完成日期:2025-11-03 技术栈:FastAPI + Vue.js + Element UI + MySQL + SQLAlchemy 基于框架:若依FastAPI版