# kasa-wms **Repository Path**: gx9702/kasa-wms ## Basic Information - **Project Name**: kasa-wms - **Description**: 仓储物流WMS管理系统,商用多年,服务的货主客户有:金六福酒业、格力空调、红牛饮品、小肥羊、肯德基、麦当劳、必胜客等等,系统运行稳定,性能也因经过多次的版本迭代得到优化,C/S + B/S 双架构混合运行,具备代码生成器,使用方便,极大简化普通的crud操作,能快速提高开发效率。 由于公司业务转型,现开源出来,供大家学习! - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 25 - **Created**: 2024-01-03 - **Last Updated**: 2024-01-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 卡萨物流系统 ## [生产部署文档](https://gzhou.gitee.io/kasa-wms/deploy/) ## [演示视频](https://gzhou.gitee.io/kasa-wms/video/) ## 版权 * 本系统基本已开源, 打包部署的程序已涵盖源代码所有功能, 且能正常执行, 因公司业务转型, 开源出来给有兴趣的朋友学习. * 本系统虽已开源,但版权仍属于武汉卡萨科技有限公司,依法独立享有该软件的所有权利,未经公司授权,不得将之用于盈利的任何用途. * 物流公司如需使用本系统, 请联系作者进行授权, 同时在确定使用本系统前, 请认真评估系统的业务流程是否适合自己, 又或者是否具备一定的开发能力, 本系统虽然适用于大部分仓储管理的场景, 但在使用时,避免不了一些业务流程的调整, 或者对报表格式的修改,因此物流公司需要具备一定的开发能力! ## 功能列表 本系统支持大多数自有仓库的仓储管理,通过系统打印入库、出库的单据,仓库工作人员通过客户端(Swing/浏览器/PDA)的操作,进行仓库作业,极大提高现场的作业效率,同时支持低温环境下冻品作业,已在零下18度的仓库环境下进行过实操验证(武汉山绿冷链物流有限公司) ```tex ┏━EDI(电子数据接口):可通过电子文档导入订单、基础数据、库存初始化等,也可作为线上数据对接的入口 ┣━AMS(权限管理系统):通用权限管理+业务权限管理 ┣━OMS(订单管理系统):入库/出库单管理,提供审核功能,审核通过的订单才能进入WMS系统 ┃ ┣━入库订单 ┃ ┗━出库订单 ┣━WMS(仓储管理系统) ┃ ┣━收货 ┃ ┃ ┣━收货单管理 ┃ ┃ ┣━生成统一收货单 ┃ ┃ ┗━打印收货库存码 ┃ ┣━发货 ┃ ┃ ┣━发货单管理 ┃ ┃ ┣━拣货计算 ┃ ┃ ┣━列印拣货单(选) ┃ ┃ ┣━生成拣货任务 ┃ ┃ ┣━任务调度 ┃ ┃ ┣━任务调整 ┃ ┃ ┣━发货确立 ┃ ┃ ┣━出货集货储位(选) ┃ ┃ ┣━出货集货栈板(选) ┃ ┃ ┣━拣货还原 ┃ ┃ ┗━拣货波次 ┃ ┣━出货回单 ┃ ┃ ┣━出货回单确认 ┃ ┃ ┗━出货回单查询 ┃ ┣━返单作业 ┃ ┃ ┣━进货单返单 ┃ ┃ ┗━出货单返单 ┃ ┣━库内管理 ┃ ┃ ┣━栈板调整 ┃ ┃ ┣━储位调整 ┃ ┃ ┣━商品状态调整 ┃ ┃ ┣━报废 ┃ ┃ ┣━库存调整 ┃ ┃ ┣━特殊调整 ┃ ┃ ┗━商品控制 ┃ ┣━库内查询/统计 ┃ ┃ ┣━储位库存查询 ┃ ┃ ┣━商品库存查询 ┃ ┃ ┣━储位库存状态 ┃ ┃ ┣━储位库存分组统计 ┃ ┃ ┣━商品库存状态统计 ┃ ┃ ┣━商品进出库统计 ┃ ┃ ┣━货物进出查询 ┃ ┃ ┣━储位进出查询 ┃ ┃ ┣━查询当日异动 ┃ ┃ ┣━入库单明细查询 ┃ ┃ ┣━统一收货单明细查询 ┃ ┃ ┣━出库单明细查询 ┃ ┃ ┣━处理中拣货单明细查询 ┃ ┃ ┣━已出货拣货单明细查询 ┃ ┃ ┣━储位调整明细查询 ┃ ┃ ┣━库存调整明细查询 ┃ ┃ ┣━特殊调整明细查询 ┃ ┃ ┣━强制进货验收查询 ┃ ┃ ┣━商品进货最新制造日期 ┃ ┃ ┣━商品出货最新制造日期 ┃ ┃ ┣━拣货位剩余库存盘点表 ┃ ┃ ┣━订单->任务明细 ┃ ┃ ┗━拣货任务->出货单->任务明细 ┃ ┣━日结作业 ┃ ┃ ┣━库存日结 ┃ ┃ ┣━列印日结报表 ┃ ┃ ┣━取消日结 ┃ ┃ ┣━查询日结异动 ┃ ┃ ┣━日结储位库存 ┃ ┃ ┣━日结商品库存 ┃ ┃ ┗━库存日结明细 ┃ ┣━仓库盘点(正常) ┃ ┃ ┣━宣告盘点作业 ┃ ┃ ┣━列印盘点表 ┃ ┃ ┣━登录实际盘点值 ┃ ┃ ┣━盘点值更新 ┃ ┃ ┣━列印盘点报告书 ┃ ┃ ┗━取消盘点 ┣━TMS(运输管理系统):客户用的不多,后期就没怎么维护了,功能列表省略 ┣━FMS(财务管理系统):客户用的不多,后期就没怎么维护了,功能列表省略 ┗━基础数据(太多,不一一列举,见系统) ``` ## 软件历史 本套系统从2006年孕育,到2007年有客户上线正式运营,到目前已有17个年头。 #### `本系统服务的物流公司有:` 1. 武汉宝沃勤物流有限公司(最初客户,现改为卓尔宝沃勤) 2. 九裕物流-金六福酒业集团下属的物流企业:长沙仓(家电配送)、南昌仓(红牛集团饮品配送,有线上数据对接,通过红牛sop系统推送订单数据,仓库处理完后,返结果给红牛sop系统) 3. 武汉山绿冷链物流有限公司-武汉市供销社直属企业:仓库是冻仓, 零下18度, 使用PDA作业, 主配送百胜餐饮的华中地区,有线上数据对接,通过百胜系统推送订单数据,仓库处理完后,返结果给百胜系统,另还管理其它货主的物品。 4. 其它小客户就不一一说明了 #### `本系统服务的货主客户有:` 1. 华润万家 2. 沃尔玛 3. 家乐福 4. 海尔家电 5. 九阳电器 6. 格力家电 7. 金六福酒业 8. 红牛饮品 9. 肯德基冻品 10. 麦当劳冻品 11. 小肥羊冻品 12. 双汇集团 13. 其它小客户就不一一说明了 #### `迭代说明` * 由于系统陆陆续续开发了很多年,经历过多次版本迭代升级,可以说是一个大杂烩,融合了很多技术及框架,因此避免不了架构上有一定的混乱及代码风格差异大,但系统在运营的所用客户中,稳定性和效率性还是没问题的。 * 本系统最初是C/S架构的,通讯使用的数据包协议是公司自研开发的(好处是大大减少传输层的数据量,提高通讯性能,这在当年机器性能和网络带宽低下的情况下还是非常有用的),然后改成现在的C/S+B/S混合运行(原通讯协议还是保留,同时增加转换协议,将原数据转换成json数据),原因是随着物流公司的业务变化,需要与货主公司进行线上数据对接,因此采用springboot框架,这样就导致原主要的仓储业务逻辑使用hibernate持久层(代码在server_storage项目文件夹里),线上数据对接部分使用mybatis作为持久层(代码在kasa_webserver_springboot项目文件夹里) * 原通讯使用的数据包协议封装在zto.jar包中,源代码没开放,因为当前硬件设备和网络环境比起当初开发系统时,有了质的飞跃,导致目前软件公司几乎不用了,所以开源无意义,如果现在还有感兴趣的朋友,可找我索取。 * 前端最初只有java swing版本,随着web的流行,先加了react版本的客户端,前后端分离,后来改成vue2版本,进而改成目前的vue3版本,ui框架使用element-plus。 * 因swing版本的客户端是最初版本,功能完全且性能还不错,客户觉得也挺好用,加上现场作业已支持PDA, web版就不那么重要了, 而且web版在大数据的表格展现, 性能远低于swing版, 客户也就不太愿意花钱买,故web版本的客户端一直没上心开发,所以功能不完整,我估计以后也不会再投入精力开发web版客户端,有兴趣的朋友可自己试试! * 2021年,因百胜集团货主的规范化要求,现场必须采用pda扫码作业,所以采用uniapp技术,新开发了手持终端的客户端,安装包见 pda/kasa-pda-release.apk #### `系统虽然老旧,但也不断尝试使用新技术,相信也有一定值得学习的地方,比如:` 1. 权限管理,大多通用的权限管理只能做到对角色分配功能权限,然后把用户添加到这个角色中,而本系统不仅支持这种赋权模式外,还允许给用户单独赋予某个功能的权限 2. 普通crud操作,支持使用工具生成代码和配置文件,而且对常用功能做了深度封装的组件,大大提高普通数据的开发效率 3. 业务流程是10几年来的经验累积,同时对现场的作业尽量做到精简和优化,使作业效率更高,以后有时间会抽出专题进行讲解 4. 有些业务逻辑的复杂度很高,比如拣货计算,经过多次版本迭代,代码运行效率也做到尽可能的优化,当然还有再优化的可能行,有兴趣的朋友可以提出来,一起探讨! ## 软件架构 ### B/S + C/S 混合架构,也可单独C/S简单部署 * 后端采用java swing+mina+springboot+hibernate+mybatis-plus+...... * 前端采用java swing+iReport+vue3(Element plus)+uniapp+...... ## 演示图
## 目录介绍 ```tex ┏━━assets: README需要用到的图片,非项目文件,略过 ┣━━jekyll: 该目录废弃!!! ┣━━kasa_runtime:C/S架构的运行环境 ┃ ┗━━client:客户端运行环境 ┃ ┗━━server:服务端运行环境 ┃ ┗━━WWW:Vue客户端编译后文件 ┃ ┗━━kasa-server:springboot后端部署环境 ┣━━workspace_kasa:源代码工作空间目录 ┃ ┗━━client_storage:swing客户端源码 ┃ ┗━━server_storage:swing服务端源码(可不用界面console运行),是kasa_webserver_springboot编译时必须用到的依赖项目 ┃ ┗━━kasa_webserver_springboot:springboot版后台源码,主要做在线数据对接功能,必须依赖server_storage的代码 ┃ ┗━━kasa-vue-element-plus:vue3(element-plus)web版前端源码 ┃ ┗━━kasa-pda:pda源码( 需付费获取, 详情: https://gzhou.gitee.io/kasa-wms/vip ) ┣━━pda:PDA安装程序 ┣━━sql:建库、建表脚本及演示数据脚本 ┣━━vuepress:非项目文件, 忽略 ┣━━tools:内部开发工具 ┃ ┗━━license:后台服务license生成工具及密码生成工具 ┗ ┗━━schemas:建表工具,能生成开发用的代码及脚本 ``` ## 交流群

QQ技术交流群(610332850):卡萨物流系统交流群