From f15214b160a530e83d74d1fcd15247ee6fafa3a0 Mon Sep 17 00:00:00 2001 From: liyuqi Date: Wed, 4 Jun 2025 10:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 132 +++++------------------------------------------------- 1 file changed, 11 insertions(+), 121 deletions(-) diff --git a/README.md b/README.md index c9c005f..9c95621 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# WMS FastAPI 项目 +# WMS-PY 项目 这是一个基于 FastAPI 的仓库管理系统(WMS),采用标准的项目结构,支持多环境配置。 @@ -16,45 +16,30 @@ wms-py/ │ │ ├── __init__.py │ │ ├── base_controller.py # 基础接口 │ │ ├── database_controller.py # 数据库测试接口 -│ │ └── location_controller.py # 库位管理接口 🆕 -│ ├── services/ # 业务服务层 🆕 +│ │ └── location_controller.py # 库位管理接口 +│ ├── services/ # 业务服务层 │ │ ├── __init__.py │ │ └── location_service.py # 库位业务逻辑 -│ ├── models/ # 数据模型 🆕 +│ ├── models/ # 数据模型 │ │ ├── __init__.py │ │ └── location.py # 库位数据模型 -│ ├── schemas/ # Pydantic模式 🆕 +│ ├── schemas/ # Pydantic模式 │ │ ├── __init__.py │ │ ├── common.py # 通用响应模式 │ │ └── location.py # 库位请求/响应模式 │ └── utils/ # 工具类 │ ├── __init__.py │ ├── database.py # 数据库工具类 -│ └── string_utils.py # 字符串工具 🆕 +│ └── string_utils.py # 字符串工具 ├── config/ # 环境配置文件 │ ├── development.yaml # 开发环境配置 │ └── production.yaml # 生产环境配置 ├── requirements.txt # 依赖包列表 ├── run.py # 启动脚本 -├── create_tables.py # 数据库表创建脚本 🆕 +├── create_tables.py # 数据库表创建脚本 └── README.md # 项目说明 ``` -## 功能特性 - -- ✅ 多环境配置支持 (开发/生产) -- ✅ YAML 配置文件 -- ✅ 数据库连接管理 -- ✅ 标准项目结构 -- ✅ API 文档自动生成 -- ✅ 数据库测试接口 -- ✅ 健康检查接口 -- ✅ **库位管理模块** 🆕 - - 批量生成库位 - - 查询已使用库位数量 - - 库位信息查询 - - 库位统计功能 - ## 快速开始 ### 1. 安装依赖 @@ -77,13 +62,7 @@ database: database: "wms_ntyc" ``` -### 3. 创建数据库表 - -```bash -python create_tables.py -``` - -### 4. 运行应用 +### 3. 运行应用 ```bash # 开发环境 @@ -97,7 +76,6 @@ set ENVIRONMENT=production && python run.py ### 基础接口 - `GET /` - 系统信息 -- `GET /health` - 健康检查 - `GET /config` - 配置信息 ### 数据库测试接口 @@ -106,87 +84,15 @@ set ENVIRONMENT=production && python run.py - `GET /database/query?sql=SELECT * FROM table_name` - 执行SQL查询 - `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/location/{location_id}` - 根据ID查询库位信息 -- `GET /wms/location/locations/area/{area_id}` - 根据区域查询库位列表 -- `GET /wms/location/locations/stats` - 获取库位统计信息 ### API 文档 - `GET /docs` - Swagger UI 文档 - `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. 确保数据库服务已启动 -2. 首次运行前执行 `python create_tables.py` 创建表 -3. 修改配置文件后需要重启应用 -4. 库位生成前请确认参数,避免重复数据 - -## 故障排除 - -### 常见问题 - -1. **表不存在** - - 运行 `python create_tables.py` 创建表 - -2. **库位ID重复** - - 检查参数是否与已有数据冲突 - - 清理测试数据后重新生成 - -3. **数据库连接失败** - - 检查配置文件中的数据库信息 - - 确认数据库服务状态 \ No newline at end of file +2. 修改配置文件后需要重启应用 +3. 库位生成前请确认参数,避免重复数据 \ No newline at end of file