# java_wms **Repository Path**: zhuxmao/java_wms ## Basic Information - **Project Name**: java_wms - **Description**: 开源框架:https://bladex.cn/ - **Primary Language**: Java - **License**: EPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-03 - **Last Updated**: 2026-04-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java WMS 仓库管理系统 Java WMS 是一个基于 Spring Boot 框架开发的仓库管理系统(WMS),提供了完整的仓库管理功能,包括出入库管理、库存管理、产品管理、合作伙伴管理、仓位管理等模块。 ## 项目简介 本系统是一个企业级的仓库管理解决方案,采用微服务架构设计,支持多租户管理,集成了完整的权限体系和认证机制。系统提供友好的 RESTful API 接口,便于与其他系统集成。 ## 技术栈 - **后端框架**: Spring Boot 2.7.x - **数据库**: MySQL - **ORM框架**: Mybatis-Plus - **权限管理**: Spring Security + JWT - **API文档**: Swagger (Springfox) - **缓存**: Redis - **日志**: Logback ## 主要功能模块 ### 基础管理 - **用户管理**: 系统用户增删改查、密码重置、角色分配 - **角色管理**: 角色权限配置、数据权限控制 - **菜单管理**: 动态菜单、按钮权限 - **部门管理**: 组织架构树形管理 - **租户管理**: 多租户配置 ### 仓库管理 (WMS) - **出入库订单**: 采购入库、销售出库等业务订单管理 - **出入库单据**: 实际出入库操作记录,支持审核/反审核 - **仓库明细**: 库存实时查询,支持批次、仓位、单位等多维度管理 - **仓位管理**: 仓库/库区/货位层级管理 - **产品管理**: 商品信息、产品单位、条码管理 - **产品单位**: 多单位换算管理 - **产品安全库存**: 安全库存预警配置 - **产品拣货位置**: 拣货路径优化配置 - **产品供应商**: 供应商关联管理 ### 合作伙伴 - **往来单位**: 客户、供应商、客商的全面管理 - **配送地址**: 往来单位的多地址配送管理 - **合作伙伴**: 货主信息及配送中心关系 - **装卸队**: 装卸作业团队管理 - **员工管理**: 仓库员工信息维护 ### 源订单 - **原始订单**: 外部订单接入与管理 - **订单明细**: 订单商品明细处理 ### 系统功能 - **字典管理**: 系统通用字典配置 - **参数配置**: 系统参数动态配置 - **日志管理**: API日志、错误日志、日常日志 ### 认证授权 - **用户认证**: JWT Token 认证 - **第三方登录**: OAuth 社交登录支持 - **验证码**: 图形验证码保护 ## 项目结构 ``` src/ ├── main/ │ ├── java/org/springblade/ │ │ ├── Application.java # 启动类 │ │ ├── common/ # 公共配置 │ │ │ ├── cache/ # 缓存配置 │ │ │ ├── config/ # 框架配置 │ │ │ ├── constant/ # 常量定义 │ │ │ ├── launch/ # 启动服务 │ │ │ └── tool/ # 工具类 │ │ ├── core/ # 核心模块 │ │ │ ├── log/ # 日志服务 │ │ │ ├── mp/ # Mybatis-Plus 扩展 │ │ │ ├── secure/ # 安全认证 │ │ │ └── tool/ # 工具类 │ │ ├── modules/ │ │ │ ├── auth/ # 认证模块 │ │ │ ├── desk/ # 桌面模块 │ │ │ ├── develop/ # 开发工具 │ │ │ ├── resource/ # 资源模块 │ │ │ ├── system/ # 系统模块 │ │ │ └── wms/ # WMS 核心模块 │ │ └── develop/ # 代码生成 │ └── resources/ │ ├── application.yml # 主配置 │ ├── config/ # 缓存配置 │ └── log/ # 日志配置 └── test/ # 测试代码 ``` ## 快速开始 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis 5.0+ ### 配置说明 1. 克隆项目 2. 创建数据库并导入 SQL 脚本 (`doc/sql/blade-sword-mysql.sql`) 3. 修改配置文件 `src/main/resources/application.yml` ### 核心配置 ```yaml server: port: 8800 spring: application: name: blade-wms datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/blade_wms?useUnicode=true&characterEncoding=utf-8 username: root password: root redis: host: localhost port: 6379 ``` ### 启动项目 ```bash # 打包 mvn clean package -DskipTests # 运行 java -jar app.jar --spring.profiles.active=test ``` ### Docker 部署 ```bash docker build -t blade-wms:latest . docker run -d -p 8800:8800 blade-wms:latest ``` ## API 文档 项目启动后,访问 Swagger 文档: - Auth API: `/swagger/auth.html` - System API: `/swagger/system.html` - Desk API: `/swagger/desk.html` ## 核心业务逻辑 ### 出入库流程 1. 创建出入库订单 (`IoOrder`) 2. 创建出入库单据 (`IoBill`) 3. 单据审核后自动更新库存 (`DepotDetail`) 4. 库存计算服务支持增量计算和回滚 ### 库存管理 系统通过事件机制监听单据状态变化: - 出库单审核 → 扣减库存 - 入库单审核 → 增加库存 - 反审核 → 回滚库存变动 ### 产品管理 - 支持多单位管理(箱、件、个等) - 支持批次管理 - 支持保质期管理 - 支持安全库存预警 ## 许可证 本项目基于 MIT 许可证开源,详见 LICENSE 文件。 ## 贡献指南 欢迎提交 Issue 和 Pull Request。 ## 联系方式 - 项目地址: https://gitee.com/zhuxmao/java_wms