更新README
This commit is contained in:
parent
e8b2a9a99c
commit
f15214b160
132
README.md
132
README.md
|
|
@ -1,4 +1,4 @@
|
||||||
# WMS FastAPI 项目
|
# WMS-PY 项目
|
||||||
|
|
||||||
这是一个基于 FastAPI 的仓库管理系统(WMS),采用标准的项目结构,支持多环境配置。
|
这是一个基于 FastAPI 的仓库管理系统(WMS),采用标准的项目结构,支持多环境配置。
|
||||||
|
|
||||||
|
|
@ -16,45 +16,30 @@ wms-py/
|
||||||
│ │ ├── __init__.py
|
│ │ ├── __init__.py
|
||||||
│ │ ├── base_controller.py # 基础接口
|
│ │ ├── base_controller.py # 基础接口
|
||||||
│ │ ├── database_controller.py # 数据库测试接口
|
│ │ ├── database_controller.py # 数据库测试接口
|
||||||
│ │ └── location_controller.py # 库位管理接口 🆕
|
│ │ └── location_controller.py # 库位管理接口
|
||||||
│ ├── services/ # 业务服务层 🆕
|
│ ├── services/ # 业务服务层
|
||||||
│ │ ├── __init__.py
|
│ │ ├── __init__.py
|
||||||
│ │ └── location_service.py # 库位业务逻辑
|
│ │ └── location_service.py # 库位业务逻辑
|
||||||
│ ├── models/ # 数据模型 🆕
|
│ ├── models/ # 数据模型
|
||||||
│ │ ├── __init__.py
|
│ │ ├── __init__.py
|
||||||
│ │ └── location.py # 库位数据模型
|
│ │ └── location.py # 库位数据模型
|
||||||
│ ├── schemas/ # Pydantic模式 🆕
|
│ ├── schemas/ # Pydantic模式
|
||||||
│ │ ├── __init__.py
|
│ │ ├── __init__.py
|
||||||
│ │ ├── common.py # 通用响应模式
|
│ │ ├── common.py # 通用响应模式
|
||||||
│ │ └── location.py # 库位请求/响应模式
|
│ │ └── location.py # 库位请求/响应模式
|
||||||
│ └── utils/ # 工具类
|
│ └── utils/ # 工具类
|
||||||
│ ├── __init__.py
|
│ ├── __init__.py
|
||||||
│ ├── database.py # 数据库工具类
|
│ ├── database.py # 数据库工具类
|
||||||
│ └── string_utils.py # 字符串工具 🆕
|
│ └── string_utils.py # 字符串工具
|
||||||
├── config/ # 环境配置文件
|
├── config/ # 环境配置文件
|
||||||
│ ├── development.yaml # 开发环境配置
|
│ ├── development.yaml # 开发环境配置
|
||||||
│ └── production.yaml # 生产环境配置
|
│ └── production.yaml # 生产环境配置
|
||||||
├── requirements.txt # 依赖包列表
|
├── requirements.txt # 依赖包列表
|
||||||
├── run.py # 启动脚本
|
├── run.py # 启动脚本
|
||||||
├── create_tables.py # 数据库表创建脚本 🆕
|
├── create_tables.py # 数据库表创建脚本
|
||||||
└── README.md # 项目说明
|
└── README.md # 项目说明
|
||||||
```
|
```
|
||||||
|
|
||||||
## 功能特性
|
|
||||||
|
|
||||||
- ✅ 多环境配置支持 (开发/生产)
|
|
||||||
- ✅ YAML 配置文件
|
|
||||||
- ✅ 数据库连接管理
|
|
||||||
- ✅ 标准项目结构
|
|
||||||
- ✅ API 文档自动生成
|
|
||||||
- ✅ 数据库测试接口
|
|
||||||
- ✅ 健康检查接口
|
|
||||||
- ✅ **库位管理模块** 🆕
|
|
||||||
- 批量生成库位
|
|
||||||
- 查询已使用库位数量
|
|
||||||
- 库位信息查询
|
|
||||||
- 库位统计功能
|
|
||||||
|
|
||||||
## 快速开始
|
## 快速开始
|
||||||
|
|
||||||
### 1. 安装依赖
|
### 1. 安装依赖
|
||||||
|
|
@ -77,13 +62,7 @@ database:
|
||||||
database: "wms_ntyc"
|
database: "wms_ntyc"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. 创建数据库表
|
### 3. 运行应用
|
||||||
|
|
||||||
```bash
|
|
||||||
python create_tables.py
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. 运行应用
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 开发环境
|
# 开发环境
|
||||||
|
|
@ -97,7 +76,6 @@ set ENVIRONMENT=production && python run.py
|
||||||
|
|
||||||
### 基础接口
|
### 基础接口
|
||||||
- `GET /` - 系统信息
|
- `GET /` - 系统信息
|
||||||
- `GET /health` - 健康检查
|
|
||||||
- `GET /config` - 配置信息
|
- `GET /config` - 配置信息
|
||||||
|
|
||||||
### 数据库测试接口
|
### 数据库测试接口
|
||||||
|
|
@ -106,87 +84,15 @@ set ENVIRONMENT=production && python run.py
|
||||||
- `GET /database/query?sql=SELECT * FROM table_name` - 执行SQL查询
|
- `GET /database/query?sql=SELECT * FROM table_name` - 执行SQL查询
|
||||||
- `GET /database/table/{table_name}` - 查看指定表数据
|
- `GET /database/table/{table_name}` - 查看指定表数据
|
||||||
|
|
||||||
### 库位管理接口 🆕
|
### 库位管理接口
|
||||||
|
|
||||||
**库位生成**:
|
|
||||||
- `POST /wms/location/genLocations` - 批量生成库位
|
|
||||||
|
|
||||||
请求示例:
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"l_row": 5,
|
|
||||||
"l_col": 8,
|
|
||||||
"l_layer": 6,
|
|
||||||
"l_depth": 2,
|
|
||||||
"sub_area": "A",
|
|
||||||
"area_id": 1
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**库位查询**:
|
**库位查询**:
|
||||||
- `GET /wms/location/getUsedLocations?equipment_id=1&location_type=1` - 获取已使用库位数量
|
- `GET /wms/location/getUsedLocations?equipment_id=1&location_type=1` - 获取已使用库位数量
|
||||||
- `GET /wms/location/location/{location_id}` - 根据ID查询库位信息
|
|
||||||
- `GET /wms/location/locations/area/{area_id}` - 根据区域查询库位列表
|
|
||||||
- `GET /wms/location/locations/stats` - 获取库位统计信息
|
|
||||||
|
|
||||||
### API 文档
|
### API 文档
|
||||||
- `GET /docs` - Swagger UI 文档
|
- `GET /docs` - Swagger UI 文档
|
||||||
- `GET /redoc` - ReDoc 文档
|
- `GET /redoc` - ReDoc 文档
|
||||||
|
|
||||||
## 库位管理功能详解
|
|
||||||
|
|
||||||
### 1. 库位生成逻辑
|
|
||||||
|
|
||||||
库位ID格式:`{子区域}{行号02d}-{列号02d}-{层号02d}-{深度02d}`
|
|
||||||
|
|
||||||
例如:
|
|
||||||
- 子区域: A
|
|
||||||
- 行: 1, 列: 2, 层: 3, 深度: 1
|
|
||||||
- 生成ID: `A01-02-03-01`
|
|
||||||
|
|
||||||
### 2. 数据库表结构
|
|
||||||
|
|
||||||
```sql
|
|
||||||
CREATE TABLE t_app_location (
|
|
||||||
location_id VARCHAR(50) PRIMARY KEY COMMENT '库位ID',
|
|
||||||
location_name VARCHAR(100) DEFAULT '' COMMENT '库位名称',
|
|
||||||
location_type INT DEFAULT 1 COMMENT '库位类型',
|
|
||||||
is_occupy INT DEFAULT 0 COMMENT '是否占用 0-未占用 1-已占用',
|
|
||||||
is_enable INT DEFAULT 0 COMMENT '是否启用',
|
|
||||||
equipment_id INT DEFAULT 0 COMMENT '设备ID',
|
|
||||||
aisle_num_left INT COMMENT '左侧巷道号',
|
|
||||||
aisle_num_right INT COMMENT '右侧巷道号',
|
|
||||||
l_row INT COMMENT '行',
|
|
||||||
l_col INT COMMENT '列',
|
|
||||||
l_layer INT COMMENT '层',
|
|
||||||
l_depth INT COMMENT '深度',
|
|
||||||
remark TEXT DEFAULT '' COMMENT '备注',
|
|
||||||
area_id INT DEFAULT 1 COMMENT '区域ID',
|
|
||||||
sub_area VARCHAR(50) DEFAULT '' COMMENT '子区域'
|
|
||||||
);
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. 使用示例
|
|
||||||
|
|
||||||
**生成库位**:
|
|
||||||
```bash
|
|
||||||
curl -X POST "http://localhost:12315/wms/location/genLocations" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d '{
|
|
||||||
"l_row": 2,
|
|
||||||
"l_col": 3,
|
|
||||||
"l_layer": 4,
|
|
||||||
"l_depth": 1,
|
|
||||||
"sub_area": "A",
|
|
||||||
"area_id": 1
|
|
||||||
}'
|
|
||||||
```
|
|
||||||
|
|
||||||
**查询统计**:
|
|
||||||
```bash
|
|
||||||
curl "http://localhost:12315/wms/location/locations/stats"
|
|
||||||
```
|
|
||||||
|
|
||||||
## 项目架构说明
|
## 项目架构说明
|
||||||
|
|
||||||
### 分层架构
|
### 分层架构
|
||||||
|
|
@ -238,21 +144,5 @@ curl "http://localhost:12315/wms/location/locations/stats"
|
||||||
## 注意事项
|
## 注意事项
|
||||||
|
|
||||||
1. 确保数据库服务已启动
|
1. 确保数据库服务已启动
|
||||||
2. 首次运行前执行 `python create_tables.py` 创建表
|
2. 修改配置文件后需要重启应用
|
||||||
3. 修改配置文件后需要重启应用
|
3. 库位生成前请确认参数,避免重复数据
|
||||||
4. 库位生成前请确认参数,避免重复数据
|
|
||||||
|
|
||||||
## 故障排除
|
|
||||||
|
|
||||||
### 常见问题
|
|
||||||
|
|
||||||
1. **表不存在**
|
|
||||||
- 运行 `python create_tables.py` 创建表
|
|
||||||
|
|
||||||
2. **库位ID重复**
|
|
||||||
- 检查参数是否与已有数据冲突
|
|
||||||
- 清理测试数据后重新生成
|
|
||||||
|
|
||||||
3. **数据库连接失败**
|
|
||||||
- 检查配置文件中的数据库信息
|
|
||||||
- 确认数据库服务状态
|
|
||||||
Loading…
Reference in New Issue
Block a user