一、系统概述
系统名称:GreaterWMS 开源仓储管理系统
系统简介:GreaterWMS 是一款Apache2.0 协议完全开源的专业 WMS 仓储管理平台,基于福特亚太售后物流真实仓储业务流程开发。采用 Django+Vue (Quasar) 前后端分离架构,支持电脑 Web 端、安卓 /iOS 移动端、桌面端 Electron 多端使用,适配多仓库、波次拣货、循环盘点、PDA 扫码作业,适合制造业、第三方物流、电商仓库使用,也是毕业设计非常热门的开源仓储项目CSDN博...。
技术栈:Python Django 后端 + Quasar (Vue) 前端;默认 SQLite,生产支持 PostgreSQL/MySQL;支持 RESTful API,可对接 ERP、MES 系统。
适用场景:工厂原料 / 成品仓、第三方物流仓、电商发货仓库、零配件售后仓库 核心目标:标准化仓库收货、上架、拣货、复核、出库、盘点全流程,用 PDA 扫码替代手工台账,实现库存账实一致,单据全程可追溯。
二、系统主要功能
1. 基础资料管理(系统初始化模块)
· 仓库库位管理:多仓库维护,库区、库位编码自定义,库位属性划分(收货区、存储区、拣选区、不良品区)
· 商品物料档案:物料编码、名称、规格、重量、长宽高、分类、安全库存,支持批次、序列号管理
· 往来单位:供应商、客户档案维护
· 用户与角色权限管理:多角色(仓库管理员、拣货员、盘点员、只读用户),精细化菜单权限与数据权限
· 系统参数配置:单据编码规则、库存策略、系统日志、API 接口文档管理,支持国际化多语言
2. 收货入库管理
· 采购收货入库:对接采购订单,PDA 扫码收货,支持质检流程,质检通过后上架入库
· 退货入库:客户退回商品,区分良品 / 不良品入库
· 调拨入库:跨仓库物料调入
· 入库单据管理:入库单查看、打印、导出,自动生成库存增加流水
3. 出库发货管理(特色波次拣货)
· 销售出库:销售订单导入,支持波次拣货、合并拣货、巡货拣货(Milk-run)等专业仓储模式
· 生产领料出库:车间物料申领出库
· 调拨出库:物料调出到其他仓库
· 拣货 + 复核双流程:PDA 扫码拣货,复核校验,复核完成才扣减库存,减少错发漏发
· 出库单据查询、打印导出
4. 库存管理(核心模块)
· 实时库存查询:按仓库、库位、物料、批次 / 序列号查询库存
· 安全库存预警:低于安全库存自动提醒补货
· 库内移库:仓库内部物料库位转移,生成移库单据
· 循环盘点(周期盘点):支持动态盘点、循环盘点,PDA 扫码盘点;系统自动对比账面与实物,生成盘盈盘亏单,审核后调整库存
· 库存冻结:锁定库存,防止超量出库
5. PDA 移动端管理(系统亮点)
· 独立移动端 APP(安卓 /iOS),支持手持扫码作业
· 移动端功能:收货、上架、拣货、复核、盘点、库存查询,仓库现场离线作业(弱网适配)
· 支持条码、二维码扫描识别物料与库位
6. 单据中心 & 报表统计
· 单据统一管理:入库、出库、盘点、调拨单据检索、导出、打印
· 库存台账:每一笔收发存流水记录,物料流向全程追溯
· 收发存汇总报表、库存明细报表、出入库统计报表,支持 Excel 导出
· 可视化数据看板,展示仓库作业总量、出入库趋势、库存占比
7. 接口与集成模块
· RESTful API 接口,提供 Swagger 接口文档,方便对接 ERP、MES、订单管理系统
· 支持二次开发,模块化架构,可以按需开启关闭功能模块
三、系统优点 & 缺点
✅ 优点
1. 完全开源免费,Apache2.0 协议,支持商用、二次开发,代码规范,非常适合毕业设计研究与改造;
2. 源自福特亚太真实物流业务,仓储流程专业,自带波次拣货、循环盘点等企业级 WMS 高级功能,区别于简易教学 WMS;
3. 多端适配:Web 网页、安卓 /iOS 移动端 PDA、Electron 桌面端一套代码全部支持;
4. 前后端分离模块化架构,扩展性强,API 完善,易于对接外部业务系统;
5. 支持多仓库、批次、序列号管理,PDA 扫码作业,满足真实仓库落地需求;
6. 部署灵活,支持 Docker 一键部署,快速搭建演示环境。
❌ 缺点
1. 原生 UI 界面简约,大屏可视化能力弱,缺少炫酷的仓储大屏;
2. 默认使用 SQLite 数据库,大量并发单据场景性能差,生产环境需要切换 PostgreSQL;
3. 对使用者仓储业务知识有一定门槛,波次拣货等高级功能配置复杂;
4. 报表自定义能力弱,复杂财务报表需要二次开发;
5. 缺少 WCS、立体库、AGV 设备原生对接能力,不适合大型自动化立体仓库;
6. 离线 PDA 缓存能力有限,断网下大批量作业会有数据同步风险。
四、保姆级部署教程
推荐环境:Ubuntu 20.04,最低 2 核 4G,推荐 4 核 8G,磁盘≥20G 两种部署方式:Docker 一键部署(推荐毕设演示) / 手动源码部署(开发二次修改)
方式一:Docker Compose 一键部署(推荐,最简单)
步骤 1:安装基础环境
sudo apt update && sudo apt upgrade -y
sudo apt install git curl -y
# 安装docker与docker-compose
curl -fsSL https://get.docker.com | sh
sudo apt install docker-compose -y
sudo systemctl start docker
sudo systemctl enable docker
步骤 2:拉取 GreaterWMS 源码
git clone https://gitee.com/Singosgu/GreaterWMS.git
cd GreaterWMS
步骤 3:修改前端请求地址(关键!服务器部署必须改)
# 修改baseurl,把127.0.0.1改为你的服务器公网IP
vim templates/public/statics/baseurl.js
const baseurl = 'http://你的服务器IP:8008/' const wsurl = 'ws://你的服务器IP:8008/'
步骤 4:启动容器
docker-compose up -d
等待 2~3 分钟自动拉取镜像并启动
· 前端访问地址:http://服务器IP:8080
· 后端 API 地址:http://服务器IP:8008
· 默认账号密码:admin / admin
步骤 5:验证容器状态
docker-compose ps
# 查看日志排查错误
docker-compose logs -f
方式二:手动源码部署(适合二次开发、毕设修改代码)
步骤 1:安装 Python3.11、Node.js
sudo apt install python3.11 python3.11-pip python3.11-venv -y
sudo apt install nodejs npm yarn -y
# 安装quasar前端脚手架
npm install -g @quasar/cli
步骤 2:克隆代码,创建 Python 虚拟环境
git clone https://gitee.com/Singosgu/GreaterWMS.git
cd GreaterWMS
python3 -m venv venv
source venv/bin/activate
# 安装后端依赖
pip install -r requirements.txt
步骤 3:数据库迁移
python manage.py makemigrations
python manage.py migrate
# 创建管理员账号(按需)
python manage.py createsuperuser
步骤 4:编译前端 Quasar 项目
cd templates
yarn install
quasar build
步骤 5:启动后端服务
# 启动Django后端
daphne -p 8008 greaterwms.asgi:application
Nginx 配置托管前端 dist 静态资源,反向代理后端 8008 端口。
五、系统基础操作流程
1. 系统初始化:登录后台,新增仓库、库区库位;录入商品物料档案;维护供应商客户;新建操作员账号分配权限。
2. 采购入库:新建收货单,PDA 扫码采集物料条码、批次,提交质检;质检通过,执行上架操作,库存自动增加。
3. 销售出库:导入销售订单,创建拣货任务,可选择波次拣货;仓管员 PDA 扫码拣货,完成复核;复核完成库存扣减。
4. 库存盘点:创建盘点任务,PDA 扫描库位和物料录入实盘数量;系统对比账面库存,生成盘盈盘亏单据,管理员审核确认调整库存。
5. 库存查询:库存页面查看实时库存,安全库存告警。
6. 报表导出:进入报表模块,选择时间范围导出收发存 Excel 报表。
六、常见部署问题排查
1. 前端空白,接口请求报错:检查baseurl.jsIP 地址是否修改,防火墙放行 8080、8008 端口;
2. websocket 连接失败:Nginx 配置缺少 websocket 代理配置,部署公网时 ws/wss 地址需要对应;
3. 容器启动失败:查看docker-compose logs日志,端口被占用就修改端口映射;
4. PDA 移动端无法连接:服务器 IP 可访问,确认前后端 baseurl 地址为公网 IP,不是 127.0.0.1;
5. 数据库报错:手动部署注意 Python 版本,推荐 3.11;生产环境建议更换 PostgreSQL。