wms-py/README.md
2025-06-04 10:55:05 +08:00

4.0 KiB
Raw Blame History

WMS-PY 项目

这是一个基于 FastAPI 的仓库管理系统(WMS),采用标准的项目结构,支持多环境配置。

项目结构

wms-py/
├── app/                          # 应用核心代码
│   ├── __init__.py
│   ├── main.py                   # 主应用文件
│   ├── config/                   # 配置模块
│   │   ├── __init__.py
│   │   └── settings.py           # 配置管理
│   ├── controllers/              # 控制器(路由)
│   │   ├── __init__.py
│   │   ├── base_controller.py    # 基础接口
│   │   ├── database_controller.py # 数据库测试接口
│   │   └── location_controller.py # 库位管理接口 
│   ├── services/                 # 业务服务层 
│   │   ├── __init__.py
│   │   └── location_service.py   # 库位业务逻辑
│   ├── models/                   # 数据模型 
│   │   ├── __init__.py
│   │   └── location.py           # 库位数据模型
│   ├── schemas/                  # Pydantic模式 
│   │   ├── __init__.py
│   │   ├── common.py             # 通用响应模式
│   │   └── location.py           # 库位请求/响应模式
│   └── utils/                    # 工具类
│       ├── __init__.py
│       ├── database.py           # 数据库工具类
│       └── string_utils.py       # 字符串工具 
├── config/                       # 环境配置文件
│   ├── development.yaml          # 开发环境配置
│   └── production.yaml           # 生产环境配置
├── requirements.txt              # 依赖包列表
├── run.py                        # 启动脚本
├── create_tables.py              # 数据库表创建脚本 
└── README.md                     # 项目说明

快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置数据库

根据需要修改配置文件:

开发环境 (config/development.yaml):

database:
  host: "localhost"
  port: 3306
  username: "root"
  password: "root"
  database: "wms_ntyc"

3. 运行应用

# 开发环境
python run.py

# 生产环境
set ENVIRONMENT=production && python run.py

API接口

基础接口

  • GET / - 系统信息
  • GET /config - 配置信息

数据库测试接口

  • GET /database/test - 测试数据库连接
  • GET /database/tables - 获取所有表名
  • GET /database/query?sql=SELECT * FROM table_name - 执行SQL查询
  • GET /database/table/{table_name} - 查看指定表数据

库位管理接口

库位查询:

  • GET /wms/location/getUsedLocations?equipment_id=1&location_type=1 - 获取已使用库位数量

API 文档

  • GET /docs - Swagger UI 文档
  • GET /redoc - ReDoc 文档

项目架构说明

分层架构

  1. Controller层 (app/controllers/)

    • 处理HTTP请求
    • 参数验证
    • 路由定义
  2. Service层 (app/services/)

    • 业务逻辑处理
    • 事务管理
    • 数据操作
  3. Model层 (app/models/)

    • 数据库表映射
    • ORM模型定义
  4. Schema层 (app/schemas/)

    • 请求/响应数据验证
    • API文档生成

依赖注入

项目使用FastAPI的依赖注入系统

  • 数据库会话注入
  • 服务类注入
  • 配置注入

对应关系

Java概念 Python/FastAPI概念 文件位置
@RestController APIRouter app/controllers/
@Service Service类 app/services/
@Entity SQLAlchemy Model app/models/
DTO Pydantic Schema app/schemas/
@Autowired Depends() 依赖注入

IDE 配置

PyCharm 配置

创建运行配置:

  • Name: WMS Development
  • Script path: run.py
  • Environment variables: ENVIRONMENT=development

注意事项

  1. 确保数据库服务已启动
  2. 修改配置文件后需要重启应用
  3. 库位生成前请确认参数,避免重复数据