# ModernWMS **Repository Path**: modernwms/ModernWMS ## Basic Information - **Project Name**: ModernWMS - **Description**: 开源的简易完整的仓库管理系统,源自我们多年的erp项目实施经验,我们将原有商业系统wms功能剥离出来,免费开放,希望能够帮助到广大的中小企业。目前该系统支持跨平台,一处编码多处使用! - **Primary Language**: C# - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://modernwms.ikeyly.com/ - **GVP Project**: No ## Statistics - **Stars**: 1794 - **Forks**: 707 - **Created**: 2022-12-13 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: erp **Tags**: WMS, 仓储, 进销存, 仓库, 仓库管理 ## README # ModernWMS - 仓库管理系统
ModernWMS logo

ModernWMS

开源的简易完整的仓库管理系统

[![License: Apache2.0](https://img.shields.io/badge/license-Apache2.0-orange.svg)](https://opensource.org/license/apache-2-0/) ![Release Version (latest Version)](https://img.shields.io/github/v/release/fjykTec/ModernWMS?color=orange&include_prereleases) ![QR Code Support](https://img.shields.io/badge/QR--Code-Support-orange.svg) ![Docker Support](https://img.shields.io/badge/Docker-Support-orange.svg) ![i18n Support](https://img.shields.io/badge/i18n-Support-orange.svg) [![MySQL8](https://img.shields.io/badge/MySQL8.0%2B-Support-orange)](https://www.mysql.com/downloads/) [![SQL Server](https://img.shields.io/badge/SQL%20Server2017%2B-Support-orange)](https://www.mysql.com/downloads/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL12-Support-orange)](https://www.mysql.com/downloads/) ![repo size](https://img.shields.io/github/repo-size/fjykTec/ModernWMS) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/fjykTec/ModernWMS) ![GitHub Org's stars](https://img.shields.io/github/stars/fjykTec/ModernWMS?style=social) ![GitHub Follows](https://img.shields.io/github/followers/ModernWMS?style=social) ![GitHub Forks](https://img.shields.io/github/forks/fjykTec/ModernWMS?style=social) ![GitHub Watch](https://img.shields.io/github/watchers/fjykTec/ModernWMS?style=social) ![Gitee Stars](https://gitee.com/modernwms/ModernWMS/badge/star.svg?theme=social) ![Gitee Forks](https://gitee.com/modernwms/ModernWMS/badge/fork.svg?theme=social) ![.NET](https://img.shields.io/badge/.NET-7.0.0-green) ![Vuetify Cli](https://img.shields.io/badge/Vuetify/cli-3.0.4-green) ![Vue](https://img.shields.io/badge/Vue-3.2.45-green) ![TypeScript](https://img.shields.io/badge/TypeScript-4.1.2-green) ![VXE Table](https://img.shields.io/badge/VXETable-4.3.7-green) ![Vite](https://img.shields.io/badge/Vite-4.0.0-green) ![NodeJS](https://img.shields.io/badge/NodeJS-16.13.1-green)

English Document

官网首页

# 目录 - [ModernWMS - 仓库管理系统](#modernwms---仓库管理系统) - [目录](#目录) - [介绍](#介绍) - [必要条件](#必要条件) - [Linux OS](#linux-os) - [Windows OS](#windows-os) - [安装](#安装) - [Linux shell](#linux-shell) - [Windows PowerShell](#windows-powershell) - [常见问题](#常见问题) - [使用方法](#使用方法) - [联系我们](#联系我们) - [版权信息](#版权信息) - [特别声明](#特别声明) - [捐赠](#捐赠) ## 介绍 该库存管理系统是,我们从多年ERP系统研发中总结出来的一套针对小型物流仓储供应链流程。 在工作过程中我们很多的中小企业,由于IT预算有限,所以无法用上适合他们的系统,却又实实在在存在仓储管理方面的需求,以此我们开始了这个项目。 为了帮助一些有需要的用户。 ## 必要条件 ### Linux OS + Ubuntu 18.04(LTS),20.04(LTS),22.04(LTS) + CentOS Stream 8,9 + RHEL 8(8.7),9(9.1) + Debian 10,11 + openSUSE 15 ### Windows OS + Windows 10 版本 1607 或更高版本 + Windows Server 2012 或更高版本 ## 安装 ### Linux shell + 下载源码后编译 + 第一步,下载源码 ```bash cd /tmp/ && wget https://gitee.com/modernwms/ModernWMS/repository/archive/master.zip ``` + 第二步,安装.NET SDK 和 NodeJS ```bash wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update && sudo apt-get install -y dotnet-sdk-7.0 curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs sudo apt-get install gcc g++ make sudo npm install -g yarn ``` + 第三步,编译前端和后端 ```bash sudo apt install unzip cd /tmp/ && unzip master.zip && cd ./ModernWMS-master sudo mkdir -p /ModernWMS/frontend/ /ModernWMS/backend/ cd /tmp/ModernWMS-master/frontend/ sed -i 's#http://127.0.0.1#http://当前部署服务器的IP地址#g' ./.env.production sudo yarn && sudo yarn build && sudo cp -rf /tmp/ModernWMS-master/frontend/dist/* /ModernWMS/frontend/ cd /tmp/ModernWMS-master/backend/ && sudo dotnet publish && sudo cp -rf /tmp/ModernWMS-master/backend/ModernWMS/bin/Debug/net7.0/publish/* /ModernWMS/backend/ ``` + 第四步,初始化数据库 1) 修改后端目录`/ModernWMS/backend/appsettings.json`文件,参考 修改配置文件操作流程 ,连接池配置时注意修改数据库IP地址、端口、账号、密码,确保可以正确连接数据库 2) 下载数据库脚本,初始化数据库,提供 MySqlSQLServerPostgresql + 第五步,安装nginx ```bash cd /tmp/ && wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz && cd nginx-1.18.0 sudo ./configure --prefix=/etc/nginx --with-http_secure_link_module --with-http_stub_status_module --with-http_realip_module --without-http_rewrite_module --without-http_gzip_module sudo make && sudo make install sudo cp -rf /ModernWMS/frontend/* /etc/nginx/html/ nohup sudo /etc/nginx/sbin/nginx -g 'daemon off;' & cd /ModernWMS/backend/ && nohup sudo dotnet ModernWMS.dll --urls http://0.0.0.0:20011 & ``` ### Windows PowerShell + 下载源码后编译部署 + 第一步,下载源码 ```PowerShell cd C:\ wget -Uri https://gitee.com/modernwms/ModernWMS/repository/archive/master.zip -OutFile master.zip Expand-Archive -Path C:\master.zip -DestinationPath C:\ ``` + 第二步,安装.NET SDK 和 NodeJS ```PowerShell wget -Uri https://download.visualstudio.microsoft.com/download/pr/35660869-0942-4c5d-8692-6e0d4040137a/4921a36b578d8358dac4c27598519832/dotnet-sdk-7.0.101-win-x64.exe -OutFile dotnet-sdk-7.0.101-win-x64.exe .\dotnet-sdk-7.0.101-win-x64.exe /install /quiet /norestart wget -Uri https://nodejs.org/dist/v16.13.1/node-v16.13.1-x64.msi -OutFile node-v16.13.1-x64.msi msiexec /i .\node-v16.13.1-x64.msi /passive /norestart npm install -g yarn ``` + 第三步,编译前端和后端 ```PowerShell md C:\ModernWMS\frontend\ md C:\ModernWMS\backend\ cd C:\ModernWMS-master\backend dotnet publish copy-item -path "C:\ModernWMS-master\backend\ModernWMS\bin\Debug\net7.0\publish\*" -destination "C:\ModernWMS\backend\" -recurse copy-Item "C:\ModernWMS-master\backend\ModernWMS\wms.db" -Destination "C:\ModernWMS\backend\" cd C:\ModernWMS-master\frontend yarn yarn build copy-item -path "C:\ModernWMS-master\frontend\dist\*" -destination "C:\ModernWMS\frontend\" -recurse ``` + 第四步,初始化数据库 1) 修改后端目录`C:\ModernWMS\frontend\appsettings.json`文件, 参考 修改配置文件操作流程 ,连接池配置时注意修改数据库IP地址、端口、账号、密码,确保可以正确连接数据库 2) 下载数据库脚本,初始化数据库,提供 MySqlSQLServerPostgresql + 第五步,安装nginx ```PowerShell cd C:\ wget -Uri http://nginx.org/download/nginx-1.16.1.zip -OutFile nginx-1.16.1.zip Expand-Archive -Path C:\nginx-1.16.1.zip -DestinationPath C:\ copy-item -path "C:\ModernWMS\frontend\*" -destination "C:\nginx-1.16.1\html\" -recurse cd C:\nginx-1.16.1\ start nginx.exe cd C:\ModernWMS\backend\ Start-Process -WindowStyle hidden -FilePath "dotnet" "ModernWMS.dll --urls http://0.0.0.0:20011" ``` ## 业务流程 ### 1. 系统初始化和基础数据配置流程 #### 用户权限管理流程 **用户管理系统**: - 用户注册、登录、密码管理 - 角色创建和权限分配 - 多租户用户隔离机制 - 菜单权限动态配置 #### 基础数据配置流程 **仓库结构配置**: - 仓库基本信息设置 - 仓库区域层级配置 - 货位管理和定位设置 - 货位属性配置(长宽高、容量、载重等) **商品信息管理**: - 商品分类设置 - SPU/SKU商品信息管理 - 供应商和客户信息维护 - 货主信息配置 ### 2. 入库业务流程 #### ASN完整工作流程 **预到货通知管理**: - **创建ASN单据** - 供应商或采购部门创建预到货通知 - **到货确认** - 仓库接收货物并确认到货状态 - **卸货作业** - 进行货物卸载和初步检查 - **分拣作业** - 按照商品类型和规格进行分拣 - **上架作业** - 将商品放置到指定货位 #### ASN状态管理 系统提供完整的ASN状态跟踪和错误处理机制: - 状态验证和转换控制 - 数量验证和差异处理 - 操作确认和撤销功能 ### 3. 仓内作业管理流程 #### 库存移动作业流程 **仓库移动操作** : - 选择源商品和货位信息 - 选择目标货位 - 数量验证(不能超过可用库存) - 生成二维码支持移动端操作 - 确认移动并更新库存记录 #### 库存加工作业流程 **仓库加工操作**: - **拆分作业**- 将一个商品拆分为多个商品 - **组合作业** - 将多个商品组合为一个商品 - **加工确认** - **调整确认** #### 库存调整作业流程 **仓库调整操作** : - 选择调整类型(盘点、加工、移库等) - 商品和货位选择 - 数量输入和原因记录 - 提交调整申请和审核确认 #### 库存冻结作业流程 **仓库冻结操作**: - 冻结操作 - 将库存标记为不可用状态 - 解冻操作 - 恢复库存的可用状态 - 冻结原因管理和记录 #### 库存盘点作业流程 **仓库盘点操作**: - 创建盘点计划和任务分配 - 从现有库存或商品目录选择盘点 - 执行实地盘点和数据记录 - 系统自动计算差异数量 - 处理盘点差异和结果确认 ### 4. 出库业务流程 (发货管理) #### 发货管理完整流程 **订单确认阶段** : - 接收出库订单和商品确认 - 库存可用性检查 - 拣货数量分配和批次管理 - 有效期和价格信息确认 **包装处理阶段**: - 待包装商品管理 - 包装规格配置 - 包装确认操作 #### 发货状态流转管理 **状态转换控制**: - 预发货 (Status 0) → 新发货 (Status 1) - 新发货 → 待拣货 (Status 2) - 待拣货 → 已拣货 (Status 3) - 已拣货 → 已包装 (Status 4) - 已包装 → 已称重 (Status 5) - 已称重 → 出库 (Status 6) - 出库 → 已签收 (Status 7) ### 5. 库存管理和监控流程 #### 实时库存监控 - 库存数量实时查询 - 批次库存追踪 - 库存预警设置 - 安全库存监控 ### 库存分析和报表 - 库存周转分析 - 库存账龄统计 - 库存异常监控 - 库存成本分析 ### 6. 系统集成和数据流转 #### API接口调用流程 - 前端发起API请求 - 后端控制器处理和验证 - 业务服务层执行逻辑 - 数据库操作和事务管理 - 返回处理结果和状态更新 #### 权限控制和安全流程 - JWT身份验证机制 - 角色权限检查 - 菜单权限分配 - 操作权限控制 - 多租户数据隔离 ## 常见问题 1) 打开部署服务器的80 和 20011 端口,如果采用的是云服务器,需开放防火墙对这两个端口的访问限制 :bangbang: :bangbang: :bangbang: 2) 采用必要条件中之外其他版本的操作系统,安装dotnet-sdk-7.0时报错,请更换dpkg包的下载路径 3) sudo yarn && sudo yarn build 时报错,注意更改源,建议采用淘宝源 ## 使用方法 ```shell 打开浏览器,进入:http://127.0.0.1 或者http://当前部署服务器的IP地址 初始账号: admin 密码: 1 ```

体验地址入口

  image0 image1 image2 ## 联系我们

提交一个Bug

提交一个建议

## 版权信息 该项目使用的是 [Apache2.0](https://opensource.org/license/apache-2-0/) 协议. 详情查阅[LICENSE.txt](https://gitee.com/modernwms/ModernWMS/blob/master/LICENSE).必须遵守此协议。 ## 特别声明 本项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组织。
![dotnetchina](https://gitee.com/dotnetchina/home/raw/master/assets/dotnetchina-raw.png "dotNET China LOGO") ## 捐赠 如果您觉得我的开源库可以帮到您,请我们的作者喝杯咖啡吧,您的支持将鼓励我们继续创作。 image3 image4