Springcloud连锁超市物资仓储管理系统-计算机毕业设计源码37141
摘 要
随着连锁超市业务的快速发展,物资仓储管理的重要性愈发突出。传统的仓储管理方式已经难以满足高效、实时的数据处理需求,亟需一种现代化的解决方案。本论文旨在设计并实现基于分布式处理的连锁超市物资仓储管理系统,以提升仓储管理的效率和准确性。
在研究过程中,首先分析了现有仓储管理系统的不足之处,并明确了系统的目标与功能需求。该系统通过采用Java语言进行后端开发,结合Spring Cloud微服务架构,实现了各个模块的独立部署与管理,进而提高系统的可扩展性与灵活性。在数据库方面,系统使用MySQL作为主要的数据存储方案,支持数据的高效存取和管理。系统功能模块涵盖了管理员、仓管员、采购员和销售员等多类用户,具体包括用户登录、后台首页的数据统计、商品类型和仓库管理、供应商和客户信息管理、采购及销售订单管理、盘点记录和报废申请管理等。经过系统的测试与优化,最终实现了各功能模块的高效联动,达到了预期的管理效果。
基于分布式处理的连锁超市物资仓储管理系统的部署和实施能够有效提高仓储管理工作效率,降低操作错误率,具备良好的可维护性和扩展性,能够适用于连锁超市的实际应用,同时可以为今后的研究和开发提供借鉴。
关键词:连锁超市物资仓储管理系统;分布式处理;SpringCloud微服务架构;Java;MySQL
Abstract
With the rapid development of chain supermarket business, the importance of material warehousing management has become increasingly prominent. The traditional warehouse management methods are no longer able to meet the efficient and real-time data processing needs, and there is an urgent need for a modern solution. This paper aims to design and implement a distributed processing based material warehousing management system for chain supermarkets, in order to improve the efficiency and accuracy of warehousing management.
In the research process, the shortcomings of the existing warehouse management system were first analyzed, and the system's goals and functional requirements were clarified. The system adopts Java language for backend development, combined with Spring Cloud microservice architecture, to achieve independent deployment and management of each module, thereby improving the scalability and flexibility of the system. In terms of database, the system uses MySQL as the main data storage solution, supporting efficient access and management of data. The system functional modules cover multiple types of users such as administrators, warehouse managers, purchasers, and salespersons, including user login, data statistics on the backend homepage, product type and warehouse management, supplier and customer information management, procurement and sales order management, inventory records, and scrap application management. After systematic testing and optimization, efficient linkage between various functional modules was ultimately achieved, achieving the expected management effect.
The deployment and implementation of a chain supermarket material warehousing management system based on distributed processing can effectively improve the efficiency of warehousing management, reduce operational error rates, have good maintainability and scalability, and can be applied to the practical application of chain supermarkets. At the same time, it can provide reference for future research and development.
Key words: Chain Supermarket Material Storage Management System; Distributed processing; SpringCloud microservice architecture; Java;MySQL
目 录
摘 要
Abstract
第1章 绪 论
1.1 项目背景与意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.2.1 国内研究现状
1.2.2 国外研究现状
1.3 主要研究内容
第2章 开发环境及技术架构
2.1 开发环境与工具
2.2 技术架构
2.2.1 B/S模式
2.2.2 SpringCloud框架
第3章 需求分析
3.1 可行性分析
3.1.1 经济可行性分析
3.1.2 操作可行性分析
3.1.3 技术可行性分析
3.2 功能需求分析
3.3 性能需求分析
3.4 系统流程分析
3.4.1 用户注册流程图
3.4.2 用户登录流程图
第4章 系统设计
4.1 系统功能设计
4.2 数据库设计
4.2.1 概念模型
4.2.2 物理模型
第5章 系统实现
5.1 系统实现概述
5.2 系统功能模块的实现
5.2.1 商品仓库管理模块
5.2.2 采购订单管理模块
5.2.3 盘点记录管理模块
5.2.4 报废申请管理模块
第6章 系统测试
6.1 测试目的
6.2 功能测试
6.3 性能测试
6.4 测试结果
第7章 总结与展望
参考文献
致 谢
第1章绪 论
1.1 项目背景与意义
1.1.1 研究背景
在当今的商业环境中,连锁超市作为一种现代化的零售业态,已成为消费者购买商品的主要渠道之一。然而,连锁超市的仓储管理工作量大、管理复杂,传统的仓储管理方式已无法满足其快速发展的需求。如何有效地管理仓储资源,提高仓储运营效率和管理水平,已经成为连锁超市发展的关键瓶颈之一。随着信息技术的发展,尤其是云计算、分布式处理和大数据分析的进步,采用基于分布式处理的仓储管理系统成为一种趋势。这种系统能够实时监控和管理库存,优化采购、入库、出库和盘点过程,提高仓储效率和降低运营成本。因此,研究并开发一个基于分布式处理的连锁超市物资仓储管理系统,不仅可以提高仓储管理效率和水平,还可以为连锁超市的发展提供强有力的支持。
1.1.2 研究意义
本研究旨在设计和开发一个基于分布式处理的连锁超市物资仓储管理系统,通过对仓储管理业务流程的深入研究和分析,提供一个高效、灵活、安全的仓储管理解决方案。该系统将为连锁超市提供全面的仓储管理功能,包括商品仓库管理、供应商管理、客户信息管理、采购订单管理、销售订单管理等,旨在提高仓储运营效率和管理水平,降低仓储管理成本,促进连锁超市的可持续发展。同时,本研究也将为仓储管理领域提供一个新的研究方向和思路,具有重要的理论和实践价值。
1.2 国内外研究现状
1.2.1 国内研究现状
在国内,仓储管理系统的研究和应用已取得了一定成果。一些研究机构和企业已开发了一些仓储管理系统,但这些系统大多基于传统的集中式架构,无法满足大规模连锁超市的需求。近年来,一些研究机构开始探索基于分布式处理的仓储管理系统,但相关研究仍较为初步,尚需进一步深入研究和开发。
1.2.2 国外研究现状
在国外,仓储管理系统的研究和应用已相对成熟。一些著名的企业,如SAP、Oracle等,已开发了一些基于分布式处理的仓储管理系统,用于支持大规模仓储运营。但这些系统大多基于复杂的软件架构,成本高昂,不适合中小型连锁超市。近年来,一些国外研究机构开始探索基于云计算和物联网技术的仓储管理系统,具有较高的前景和潜力,但相关研究仍需进一步深入研究和开发。
1.3 主要研究内容
在开发连锁超市物资仓储管理系统时,后端采用了Java作为编程语言,并利用了SpringCloud框架,借助分布式架构,实现系统的高可扩展性和高可靠性,确保系统在大规模数据处理时保持稳定运行,使得复杂的业务逻辑和数据操作得以高效完成。与此同时,系统的数据存储和管理通过MySQL数据库实现。在开发工具的选取上,使用了eclipse,它的强大功能和易用性使得编程工作更为高效;而Navicat作为数据库管理工具,使得数据库操作更为方便和快捷。这样的技术选择,确保了管理系统的开发流程既高效又稳定。本系统系统的模块化设计可以满足不同角色(管理员、仓管员、采购员、销售员)的需求,提高用户体验和操作效率。面对对象主要分为普通用户和管理员两大角色,实现了包括登录、后台首页、系统用户、商品类型管理、商品仓库管理、供应商管理、客户信息管理、采购订单管理、采购入库管理、销售订单管理、销售出库管理、盘点记录管理、报废申请管理、报废出库管理等功能,通过优化管理流程,可以显著降低经营成本,提高销售额和扩大经营规模。
第2章开发环境及技术架构
2.1 开发环境与工具
连锁超市物资仓储管理系统使用Java语言作为后端开发语言,基于SpringCloud微服务架构,实现了各个功能模块的独立服务,便于易于扩展与维,采用关系型数据库MySQL,支持复杂查询和事务处理,保证数据的可靠性与一致性。系统所使用的系统开发环境如下表2-1所示。
表2-1系统开发环境
| 操作系统版本: | Win10 |
| 数据库环境: | MySQL5.7 |
| JDK版本: | JDK1.8.0_191 |
| 主要技术: | SpringCloud、IDEA(2020版)、MyEclipse(2017)、Eclipse、vs code、Navicat、apache-maven 3.6.1-bin、Tomcat…… |
| 浏览器: | Chrome |
(1)Java
Java是一种广泛使用的面向对象编程语言,因其平台无关性和丰富的生态系统而受到开发者的青睐。Java通过虚拟机(JVM)运行,使得程序可以在不同操作系统上无缝工作。
(2)MySQL
MySQL是一个开源的关系型数据库管理系统,支持SQL语言,广泛应用于网站和应用程序的数据存储。因其高效的查询性能和强大的事务处理能力,MySQL在系统中主要负责所有的数据存取与管理。
(3)SpringCloud
Spring Cloud提供了一系列用于构建分布式系统的工具,包括服务发现、负载均衡、熔断器、配置管理等。它帮助开发者简化了微服务的开发和管理流程,提高了系统的灵活性和可维护性。通过其微服务架构,实现了各个功能模块的独立服务,便于易于扩展与维护。
(4)分布式处理
分布式处理使得系统可以在多台服务器上并行运行,优化了资源的利用率,提高了数据处理的速度。在该系统中,各个功能模块可以独立扩展和维护,更加适应日益复杂的业务需求。
(5)Tomcat
Tomcat是Apache软件基金会开发的一个开源Web应用服务器和Servlet容器。它支持Java Servlet和JavaServer Pages(JSP)技术,常用于部署Java Web应用。
(6)Tomcat
MyBatis是一个Java持久层框架,封装了JDBC的底层细节,使开发者更方便地访问数据库。它支持自定义SQL、动态SQL和高级映射等功能。。
2.2 技术架构
本系统是基于SpringCloud、MySQL的后台信息管理系统。
2.2.1 B/S模式
B/S架构是一种新型的网络架构,客户端通过浏览器访问服务端,简化了客户端的管理与更新。用户只需关注网页操作,无需安装特定的软件,大大提升了用户体验和系统的访问便捷性。
2.2.2 SpringCloud框架
SpringCloud是一套微服务架构下的框架,提供了一系列工具和服务,帮助开发者构建分布式系统。它包括服务发现、配置管理、断路器、智能路由等多个组件,能够有效地管理和协调微服务。 spring cloud框架每个微服务可独立运行在自己的进程里;一系列独立运行的微服务共同构建起了整个系统;每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。
第3章需求分析
3.1 可行性分析
通过综合考虑经济、操作、技术等因素,可以对基于分布式处理的连锁超市物资仓储管理系统的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。
3.1.1 经济可行性分析
经济可行性在此仅代表平台的开发成本,运维成本不在此考虑。
在项目上使用的工具大部分都是当下流行开源免费的,且所使用的开发工具皆在学校学习过,可以由本人独自开发设计,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响。
所以经济可行性没有问题。
3.1.2 操作可行性分析
此次项目设计参考了几个该模式下系统的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
3.1.3 技术可行性分析
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的JAVA语言能够迎合所有系统的搭建。开发这个连锁超市物资仓储管理系统的时候我采用了JAVA+SpringCloud+MySQL 用以运行整体程序。
综上所述技术可行性也没有问题。
3.2 功能需求分析
在设计基于分布式处理的连锁超市物资仓储管理系统时,功能需求分析是确保系统满足用户需求的关键步骤。本系统采取面对对象和模块化的设计方案,根据系统用户需求,系统的面对对象主要包括管理员、仓管员、采购员、销售员等用户角色,可以将系统划分为管理员模块、仓管员模块、采购员模块、销售员模块等四大模块。
(1)管理员模块
管理员是系统最高权限拥有者,拥有登录、后台首页、系统用户、商品类型管理、商品仓库管理、供应商管理、客户信息管理、采购订单管理、采购入库管理、销售订单管理、销售出库管理、盘点记录管理、报废申请管理、报废出库管理等功能,可增改删查系统各类信息数据,负责维护系统的正常运转。
本连锁超市物资仓储管理系统管理员角色用例图如下所示。

图3-1 管理员角色用例图
(2)仓管员模块
仓管员主要负责审核采购和销售订单信息,并确认采购入库和销售出库;管控仓库盘点,提交报废申请;拥有包括登录、后台首页、商品仓库管理、采购订单管理、采购入库管理、销售订单管理、销售出库管理、盘点记录管理、报废申请管理、报废出库管理等功能。
连锁超市物资仓储管理系统仓管员角色用例图如下所示。

图3-2 仓管员角色用例图
(2)采购员模块
采购员主要负责管理和添加供应商信息,提交采购申请;拥有包括登录、后台首页、商品仓库管理、供应商管理、采购订单管理、采购入库管理等功能。
连锁超市物资仓储管理系统采购员角色用例图如下所示。

图3-3 采购员角色用例图
(2)销售员模块
销售员主要负责管理和添加酷虎信息,提交销售订单;拥有包括登录、后台首页、、客户信息管理、销售订单管理、销售出库管理等功能。
连锁超市物资仓储管理系统销售员角色用例图如下所示。

图3-4 销售员角色用例图
以下是对该系统主要功能模块的详细分析说明:
- 登录:管理员可直接使用账号密码登录系统后台,仓管员、采购员、销售员的账号信息由管理员添加,可直接使用添加的账号登录系统,进行管理,可对自己的个人信息和密码信息进行修改。
- 后台首页:管理员登录系统后首先进入后台首页界面,该界面主要展示系统重要信息概览、个人信息和密码信息,以及数据统计图表,包括商品仓库、采购入库、销售出库、报废出库等统计图表。
- 系统用户:管理员可管理系统的所有系统用户信息,包括管理员、仓管员、采购员、销售员等,支持用户权限管理和角色设置,可增改删查系统用户信息。
- 商品类型管理:管理员可管理所有商品类型信息,包括新增、编辑、删除商品类型,提供搜索功能。
- 商品仓库管理:管理员可管理所有商品仓库信息的添加、更新、删除等操作,支持关键字搜索,并提供采购、销售、报废等操作;采购员、仓管员、销售员只有查询和查看商品仓库信息的权限,支持采购员添加采购订单信息(由仓管员审核并确认入库);仓管员主负责添加报废申请信息(由管理员审核并确认出库);销售员负责添加销售订单信息(由仓管员审核并确认出库)。
- 供应商管理:管理员可管理所有供应商信息的添加、更新、删除等操作,支持关键字搜索。采购员可增改删查自己的供应商信息。
- 客户信息管理:管理员可管理所有客户信息的添加、更新、删除等操作,提供搜索功能。销售员可增改删查自己的客户信息。
- 采购订单管理:管理员可管理所有采购订单信息,包括查询、审核、删除采购订单信息,支持确认入库操作。仓管员负责审核采购员提交的采购订单信息,并确认入库。
- 采购入库管理:管理员可管理所有采购入库信息,包括查询、审核、删除采购入库信息。仓管员确认入库后,仓管员,采购员有查询和查看权限。
- 销售订单管理:管理员可管理所有销售订单信息,包括查询、审核、删除销售订单信息,支持确认出库操作。仓管员负责审核销售员提交的销售订单信息,并确认出库。
- 销售出库管理:管理员可管理所有销售出库信息,包括查询、审核、删除销售出库信息。仓管员确认出库后,仓管员,销售员有查询和查看权限。
- 盘点记录管理:管理员可管理所有盘点记录信息的添加、更新、删除等操作,提供搜索功能。仓管员可增改删查自己的盘点记录信息,由管理员审核仓管员添加的盘点记录信息。
- 报废申请管理:管理员可管理所有报废申请信息,包括查询、审核、删除报废申请信息。管理员负责审核报废申请并确认出库;仓管员可查询和查看报废申请信息,确认审核情况。
- 报废出库管理:管理员可管理所有报废出库信息,包括查询、删除采购入库信息。仓管员只有查询和查看权限。
3.3 性能需求分析
用户操作响应时间:系统应保证用户在操作平台时的响应速度,例如浏览、搜索、添加等操作应该迅速响应。
系统稳定性:平台应具备一定的容错能力和稳定性,防止因为意外情况导致系统崩溃。
数据安全:用户信息等敏感数据需要加密存储,确保数据安全性。
系统并发能力:平台应考虑到可能大量用户同时访问的情况,保证系统的并发处理能力。
日志记录:系统需要记录用户操作日志、异常日志等,便于排查问题和分析用户行为。
基于以上性能需求将确保连锁超市物资仓储管理系统能够稳定、高效地运行,能够很好地满足用户和管理员的需求。
3.4 系统流程分析
3.4.1 用户注册流程图
注册的过程,第一部分是账号的注册,第二部分是信息完善。在业务开展过程中,管理员可对用户信息进行修改等管理操作,注册流程如图3-5用户注册流程图所示。

图3-5 用户注册流程图
3.4.2 用户登录流程图
登录时,用户填写用户名、密码、选择身份进行登录,在登录过程中后端会对发送过来的信息进行验证和判断,具体的登录流程如图3-6用户登录流程图所示。

图3-6 用户登录流程图
第4章系统设计
4.1 系统功能设计
基于分布式处理的连锁超市物资仓储管理系统程序采用模块化设计方案,可以划分为管理员、仓管员、采购员、销售员等四大模块,下面又细分不同的分支,各自功能有所交叉相似但又职能各有不同,主要包括登录、后台首页、系统用户、商品类型管理、商品仓库管理、供应商管理、客户信息管理、采购订单管理、采购入库管理、销售订单管理、销售出库管理、盘点记录管理、报废申请管理、报废出库管理等分支功能。系统前台功能模块图如下图所示。

图4-1系统前台功能模块图
4.2 数据库设计
数据库的设计是系统的设计中比较重要的一部分内容,数据库设计是一切系统设计的基础,首先需要进行概念模型E-R图的设计,然后进行关系模型物理模型的建立。
4.2.1 概念模型
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。连锁超市物资仓储管理系统总体E-R图如下图所示。
图4-2 系统总体E-R图
4.2.2 物理模型
本系统采MySQL数据库管理系统对数据进行管理。下面是对各个表中的表中各个字段数据类型、大小等做简短描述。连锁超市物资仓储管理系统所需要的部分数据结构表如下表所示。
表access_token (登陆访问时长)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | token_id | int | 10 | 0 | N | Y |
| 临时访问牌ID |
| 2 | token | varchar | 64 | 0 | Y | N |
| 临时访问牌 |
| 3 | info | text | 65535 | 0 | Y | N |
|
|
| 4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表auth (用户权限管理)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | auth_id | int | 10 | 0 | N | Y |
| 授权ID: |
| 2 | user_group | varchar | 64 | 0 | Y | N |
| 用户组: |
| 3 | mod_name | varchar | 64 | 0 | Y | N |
| 模块名: |
| 4 | table_name | varchar | 64 | 0 | Y | N |
| 表名: |
| 5 | page_title | varchar | 255 | 0 | Y | N |
| 页面标题: |
| 6 | path | varchar | 255 | 0 | Y | N |
| 路由路径: |
| 7 | parent | varchar | 64 | 0 | Y | N |
| 父级菜单 |
| 8 | parent_sort | int | 10 | 0 | N | N | 0 | 父级菜单排序 |
| 9 | position | varchar | 32 | 0 | Y | N |
| 位置: |
| 10 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
| 11 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
| 12 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
| 13 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
| 14 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
| 15 | field_add | text | 65535 | 0 | Y | N |
| 添加字段: |
| 16 | field_set | text | 65535 | 0 | Y | N |
| 修改字段: |
| 17 | field_get | text | 65535 | 0 | Y | N |
| 查询字段: |
| 18 | table_nav_name | varchar | 500 | 0 | Y | N |
| 跨表导航名称: |
| 19 | table_nav | varchar | 500 | 0 | Y | N |
| 跨表导航: |
| 20 | option | text | 65535 | 0 | Y | N |
| 配置: |
| 21 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 22 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表buyer (采购员)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | buyer_id | int | 10 | 0 | N | Y |
| 采购员ID |
| 2 | employee_id | varchar | 64 | 0 | N | N |
| 员工工号 |
| 3 | employee_name | varchar | 64 | 0 | Y | N |
| 员工姓名 |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表code_token
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | code_token_id | int | 10 | 0 | N | Y |
|
|
| 2 | token | varchar | 255 | 0 | Y | N |
|
|
| 3 | code | varchar | 255 | 0 | Y | N |
| 验证码 |
| 4 | expire_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 失效时间 |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表commodity_warehouse (商品仓库)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | commodity_warehouse_id | int | 10 | 0 | N | Y |
| 商品仓库ID |
| 2 | product_code | varchar | 64 | 0 | N | N |
| 商品编号 |
| 3 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 4 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 5 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 6 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 7 | product_inventory | double | 9 | 2 | Y | N | 0.00 | 商品库存 |
| 8 | product_details | longtext | 2147483647 | 0 | Y | N |
| 商品详情 |
| 9 | purchase_order_limit_times | int | 10 | 0 | N | N | 0 | 采购限制次数 |
| 10 | sales_order_limit_times | int | 10 | 0 | N | N | 0 | 销售限制次数 |
| 11 | scrap_application_limit_times | int | 10 | 0 | N | N | 0 | 报废限制次数 |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表customer_information (客户信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | customer_information_id | int | 10 | 0 | N | Y |
| 客户信息ID |
| 2 | customer_name | varchar | 64 | 0 | N | N |
| 客户名称 |
| 3 | customer_phone_number | varchar | 64 | 0 | Y | N |
| 客户电话 |
| 4 | customer_address | varchar | 64 | 0 | Y | N |
| 客户地址 |
| 5 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 6 | business_scope | text | 65535 | 0 | Y | N |
| 营业范围 |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hits (用户点击)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | hits_id | int | 10 | 0 | N | Y |
| 点赞ID: |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
| 3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 5 | source_table | varchar | 255 | 0 | Y | N |
| 来源表: |
| 6 | source_field | varchar | 255 | 0 | Y | N |
| 来源字段: |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表inventory_records (盘点记录)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | inventory_records_id | int | 10 | 0 | N | Y |
| 盘点记录ID |
| 2 | inventory_number | varchar | 64 | 0 | Y | N |
| 盘点编号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | physical_inventory | double | 9 | 2 | Y | N | 0.00 | 盘点数量 |
| 9 | warehouse_keeper | int | 10 | 0 | Y | N | 0 | 仓管员 |
| 10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 11 | examine_reply | varchar | 16 | 0 | Y | N |
| 审核回复 |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表product_type (商品类型)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | product_type_id | int | 10 | 0 | N | Y |
| 商品类型ID |
| 2 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表purchase_inventory (采购入库)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | purchase_inventory_id | int | 10 | 0 | N | Y |
| 采购入库ID |
| 2 | purchase_order_number | varchar | 64 | 0 | N | N |
| 采购单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | buyer | int | 10 | 0 | Y | N | 0 | 采购员 |
| 9 | purchase_quantity | double | 9 | 2 | Y | N | 0.00 | 采购数量 |
| 10 | purchase_unit_price | double | 9 | 2 | Y | N | 0.00 | 采购单价 |
| 11 | purchase_amount | double | 9 | 2 | Y | N | 0.00 | 采购金额 |
| 12 | supplier_name | varchar | 64 | 0 | N | N |
| 供应商名称 |
| 13 | suppliers_phone_number | varchar | 64 | 0 | Y | N |
| 供应商电话 |
| 14 | supplier_address | varchar | 64 | 0 | Y | N |
| 供应商地址 |
| 15 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 16 | purchase_date | date | 10 | 0 | Y | N |
| 采购日期 |
| 17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 19 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 20 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 21 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表purchase_order (采购订单)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | purchase_order_id | int | 10 | 0 | N | Y |
| 采购订单ID |
| 2 | purchase_order_number | varchar | 64 | 0 | Y | N |
| 采购单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | buyer | int | 10 | 0 | Y | N | 0 | 采购员 |
| 9 | purchase_quantity | double | 9 | 2 | Y | N | 0.00 | 采购数量 |
| 10 | purchase_unit_price | double | 9 | 2 | Y | N | 0.00 | 采购单价 |
| 11 | purchase_amount | double | 9 | 2 | Y | N | 0.00 | 采购金额 |
| 12 | supplier_name | varchar | 64 | 0 | N | N |
| 供应商名称 |
| 13 | suppliers_phone_number | varchar | 64 | 0 | Y | N |
| 供应商电话 |
| 14 | supplier_address | varchar | 64 | 0 | Y | N |
| 供应商地址 |
| 15 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 16 | purchase_date | date | 10 | 0 | Y | N |
| 采购日期 |
| 17 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 18 | examine_reply | varchar | 16 | 0 | Y | N |
| 审核回复 |
| 19 | purchase_inventory_limit_times | int | 10 | 0 | N | N | 0 | 确认入库限制次数 |
| 20 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 21 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 22 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 23 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 24 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表salesperson (销售员)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | salesperson_id | int | 10 | 0 | N | Y |
| 销售员ID |
| 2 | employee_id | varchar | 64 | 0 | N | N |
| 员工工号 |
| 3 | employee_name | varchar | 64 | 0 | Y | N |
| 员工姓名 |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表sales_order (销售订单)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | sales_order_id | int | 10 | 0 | N | Y |
| 销售订单ID |
| 2 | sales_order_number | varchar | 64 | 0 | Y | N |
| 销售单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | salesperson | int | 10 | 0 | Y | N | 0 | 销售员 |
| 9 | sales_volumes | double | 9 | 2 | Y | N | 0.00 | 销售数量 |
| 10 | sales_unit_price | double | 9 | 2 | Y | N | 0.00 | 销售单价 |
| 11 | sales_amount | double | 9 | 2 | Y | N | 0.00 | 销售金额 |
| 12 | customer_name | varchar | 64 | 0 | N | N |
| 客户名称 |
| 13 | customer_phone_number | varchar | 64 | 0 | Y | N |
| 客户电话 |
| 14 | customer_address | varchar | 64 | 0 | Y | N |
| 客户地址 |
| 15 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 16 | sales_date | date | 10 | 0 | Y | N |
| 销售日期 |
| 17 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 18 | examine_reply | varchar | 16 | 0 | Y | N |
| 审核回复 |
| 19 | sales_outbound_limit_times | int | 10 | 0 | N | N | 0 | 确认出库限制次数 |
| 20 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 21 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 22 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 23 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 24 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表sales_outbound (销售出库)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | sales_outbound_id | int | 10 | 0 | N | Y |
| 销售出库ID |
| 2 | sales_order_number | varchar | 64 | 0 | N | N |
| 销售单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | salesperson | int | 10 | 0 | Y | N | 0 | 销售员 |
| 9 | sales_volumes | double | 9 | 2 | Y | N | 0.00 | 销售数量 |
| 10 | sales_unit_price | double | 9 | 2 | Y | N | 0.00 | 销售单价 |
| 11 | sales_amount | double | 9 | 2 | Y | N | 0.00 | 销售金额 |
| 12 | customer_name | varchar | 64 | 0 | N | N |
| 客户名称 |
| 13 | customer_phone_number | varchar | 64 | 0 | Y | N |
| 客户电话 |
| 14 | customer_address | varchar | 64 | 0 | Y | N |
| 客户地址 |
| 15 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 16 | sales_date | date | 10 | 0 | Y | N |
| 销售日期 |
| 17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 19 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 20 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 21 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表score (评分)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | score_id | int | 10 | 0 | N | Y |
| 评分ID: |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 评分人: |
| 3 | nickname | varchar | 64 | 0 | Y | N |
| 昵称: |
| 4 | score_num | double | 5 | 2 | N | N | 0.00 | 评分: |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 7 | source_table | varchar | 255 | 0 | Y | N |
| 来源表: |
| 8 | source_field | varchar | 255 | 0 | Y | N |
| 来源字段: |
| 9 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表scrap_application (报废申请)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | scrap_application_id | int | 10 | 0 | N | Y |
| 报废申请ID |
| 2 | scrap_order_number | varchar | 64 | 0 | Y | N |
| 报废单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | warehouse_keeper | int | 10 | 0 | Y | N | 0 | 仓管员 |
| 9 | scrap_date | date | 10 | 0 | Y | N |
| 报废日期 |
| 10 | scrap_quantity | double | 9 | 2 | Y | N | 0.00 | 报废数量 |
| 11 | reason_for_scrapping | text | 65535 | 0 | Y | N |
| 报废原因 |
| 12 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 13 | examine_reply | varchar | 16 | 0 | Y | N |
| 审核回复 |
| 14 | scrap_out_of_storage_limit_times | int | 10 | 0 | N | N | 0 | 确认出库限制次数 |
| 15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 17 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 18 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 19 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表scrap_out_of_storage (报废出库)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | scrap_out_of_storage_id | int | 10 | 0 | N | Y |
| 报废出库ID |
| 2 | scrap_order_number | varchar | 64 | 0 | N | N |
| 报废单号 |
| 3 | product_code | varchar | 64 | 0 | Y | N |
| 商品编号 |
| 4 | product_name | varchar | 64 | 0 | Y | N |
| 商品名称 |
| 5 | product_type | varchar | 64 | 0 | Y | N |
| 商品类型 |
| 6 | product_specifications | varchar | 64 | 0 | Y | N |
| 商品规格 |
| 7 | manufacturer | varchar | 64 | 0 | Y | N |
| 生产厂商 |
| 8 | warehouse_keeper | int | 10 | 0 | Y | N | 0 | 仓管员 |
| 9 | scrap_date | date | 10 | 0 | Y | N |
| 报废日期 |
| 10 | scrap_quantity | double | 9 | 2 | Y | N | 0.00 | 报废数量 |
| 11 | reason_for_scrapping | text | 65535 | 0 | Y | N |
| 报废原因 |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
| 14 | source_table | varchar | 255 | 0 | Y | N |
| 来源表 |
| 15 | source_id | int | 10 | 0 | Y | N |
| 来源ID |
| 16 | source_user_id | int | 10 | 0 | Y | N |
| 来源用户 |
表supplier (供应商)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | supplier_id | int | 10 | 0 | N | Y |
| 供应商ID |
| 2 | supplier_name | varchar | 64 | 0 | N | N |
| 供应商名称 |
| 3 | suppliers_phone_number | varchar | 64 | 0 | Y | N |
| 供应商电话 |
| 4 | supplier_address | varchar | 64 | 0 | Y | N |
| 供应商地址 |
| 5 | person_in_charge | varchar | 64 | 0 | Y | N |
| 负责人 |
| 6 | scope_of_supply | text | 65535 | 0 | Y | N |
| 供应范围 |
| 7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表upload (文件上传)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | upload_id | int | 10 | 0 | N | Y |
| 上传ID |
| 2 | name | varchar | 64 | 0 | Y | N |
| 文件名 |
| 3 | path | varchar | 255 | 0 | Y | N |
| 访问路径 |
| 4 | file | varchar | 255 | 0 | Y | N |
| 文件路径 |
| 5 | display | varchar | 255 | 0 | Y | N |
| 显示顺序 |
| 6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
| 7 | dir | varchar | 255 | 0 | Y | N |
| 文件夹 |
| 8 | type | varchar | 32 | 0 | Y | N |
| 文件类型 |
表user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | user_id | mediumint | 8 | 0 | N | Y |
| 用户ID:[0,8388607]用户获取其他与用户相关的数据 |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
| 3 | user_group | varchar | 32 | 0 | Y | N |
| 所在用户组:[0,32767]决定用户身份和权限 |
| 4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
| 5 | phone | varchar | 11 | 0 | Y | N |
| 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 |
| 6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
| 7 | username | varchar | 16 | 0 | N | N |
| 用户名:[0,16]用户登录时所用的账户名称 |
| 8 | nickname | varchar | 16 | 0 | Y | N |
| 昵称:[0,16] |
| 9 | password | varchar | 64 | 0 | N | N |
| 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 |
| 10 | | varchar | 64 | 0 | Y | N |
| 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 |
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
| 12 | avatar | varchar | 255 | 0 | Y | N |
| 头像地址:[0,255] |
| 13 | open_id | varchar | 255 | 0 | Y | N |
| 针对获取用户信息字段 |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | group_id | mediumint | 8 | 0 | N | Y |
| 用户组ID:[0,8388607] |
| 2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
| 3 | name | varchar | 16 | 0 | N | N |
| 名称:[0,16] |
| 4 | description | varchar | 255 | 0 | Y | N |
| 描述:[0,255]描述该用户组的特点或权限范围 |
| 5 | source_table | varchar | 255 | 0 | Y | N |
| 来源表: |
| 6 | source_field | varchar | 255 | 0 | Y | N |
| 来源字段: |
| 7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
| 8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表warehouse_keeper (仓管员)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | warehouse_keeper_id | int | 10 | 0 | N | Y |
| 仓管员ID |
| 2 | employee_id | varchar | 64 | 0 | N | N |
| 员工工号 |
| 3 | employee_name | varchar | 64 | 0 | Y | N |
| 员工姓名 |
| 4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 5 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
| 6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
第5章系统实现
5.1 系统实现概述
本文研究的连锁超市物资仓储管理系统基于SpringCloud框架开发,旨在为用户提供一个便捷、高效、安全的仓储管理平台。系统支持用户登录,仓管员、采购员、销售员可搜索和浏览商品仓库信息;采购员主负责管理添加采购订单、管理供应商信息;销售员主负责添加销售订单、管理客户信息;仓管员主负责管理盘点记录、审核采购员提交的采购订单并确认入库,审核销售员提交的销售订单并确认出库,还可提交报废申请,查询报废出库信息。平台还包括管理员功能,用于管理用户、商品、类型、供应商、客户、采购及销售订单、出入库、盘点、报废等各类系统信息,保证信息数据的更新,和系统正常运转,提高工作效率。整体设计追求简洁高效,以提升用户体验和平台运行效率为目标。
本设计的前端系统每个页面都具备必要的交互设计,较好地呈现了连锁超市物资仓储管理系统的基础功能。组件的构建上思路清晰,易于理解,扁平风格突出简洁,配色清新。游客注册成为系统用户即可登录系统实现各项操作。
系统登录界面布局如下图:
图5-1 系统登录UI界面
系统登录关键代码如下:
| /** * 登录 * @param data * @param httpServletRequest * @return */ @PostMapping("login") public Map log.info("[执行登录接口]"); String username = data.get("username"); String email = data.get("email"); String phone = data.get("phone"); String password = data.get("password");
List resultList = null; Map if(username != null && "".equals(username) == false){ map.put("username", username); resultList = service.selectBaseList(service.select(map, new HashMap<>())); } else if(email != null && "".equals(email) == false){ map.put("email", email); resultList = service.selectBaseList(service.select(map, new HashMap<>())); } else if(phone != null && "".equals(phone) == false){ map.put("phone", phone); resultList = service.selectBaseList(service.select(map, new HashMap<>())); }else{ return error(30000, "账号或密码不能为空"); } if (resultList == null || password == null) { return error(30000, "账号或密码不能为空"); } |
后台首页模块是系统的主入口,为用户提供系统功能导航和重要信息展示、用户个人信息展示,以及数据统计图表,包括商品仓库、采购入库、销售出库、报废出库等统计图表;页面整体呈左右布局,设计简洁明晰,以便用户能够快速上手使用。
后台首页界面布局如下图:
图5-2 后台首页UI界面
5.2 系统功能模块的实现
5.2.1 商品仓库管理模块
管理员可管理所有商品仓库信息的添加、更新、删除等操作,支持关键字搜索,并提供采购、销售、报废等操作;采购员、仓管员、销售员只有查询和查看商品仓库信息的权限,支持采购员添加采购订单信息(由仓管员审核并确认入库);仓管员主负责添加报废申请信息(由管理员审核并确认出库);销售员负责添加销售订单信息(由仓管员审核并确认出库)。
商品仓库管理界面布局如下图:
图5-3 商品仓库管理UI界面
采购员可查询和查看商品仓库信息,并可点击“采购”操作,输入并提交采购信息,添加采购订单信息界面布局如下图:
图5-4添加采购信息UI界面
添加采购信息关键代码如下所示:
| @PostMapping("/add") @Transactional public Map service.insert(service.readBody(request.getReader())); return success(1); } public Map service.insert(map); return success(1); }
|
5.2.2 采购订单管理模块
管理员可管理所有采购订单信息,包括查询、审核、删除采购订单信息,支持确认入库操作。仓管员负责审核采购员提交的采购订单信息,并确认入库。采购员只可添加、查询自己的采购订单信息。
采购订单管理界面布局如下图:
图5-5 采购订单管理UI界面
采购员提交的采购订单由仓管员进行审核,仓管员在采购订单管理界面,选择需审核的采购订单,进行其详情页即可进行审核,审核通过后,可点击“确认入库”操作。审核采购订单界面布局如下图:
图5-6 审核采购订单UI界面
审核采购订单关键代码如下所示:
| @PostMapping("/set") @Transactional public Map service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader())); return success(1); }
|
5.2.3 盘点记录管理模块
管理员可管理所有盘点记录信息的添加、更新、删除等操作,提供搜索功能。仓管员可增改删查自己的盘点记录信息,由管理员审核仓管员添加的盘点记录信息。
添加盘点记录界面布局如下图:
图5-7 添加盘点记录UI界面
添加盘点关键代码如下所示:
| @PostMapping("/add") @Transactional public Map service.insert(service.readBody(request.getReader())); return success(1); } public Map service.insert(map); return success(1); }
|
5.2.4 报废申请管理模块
管理员可管理所有报废申请信息,包括查询、审核、删除报废申请信息。管理员负责审核报废申请并确认出库;仓管员可查询和查看报废申请信息,确认审核情况。
管理员审核预约信息界面布局如下图:
图5-8 审核报废申请UI界面
管理员审核报废申请关键代码如下:
| @PostMapping("/set") @Transactional public Map service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader())); return success(1); }
|
第6章系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对连锁超市物资仓储管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。系统测试的目的在于确保软件正常运作,并实现其应有的功能,促进行中出现的错误和逻辑问题。系统测试不但可以找见程序运行中的系统错误,还可以找见程序运行的需要改进的地方,并去协助改良程序运行使其获得最高幅度的完备。世界一流的安装测试员可以增加软件品质,将软件系统错误概率降至最少。
6.2 功能测试
- 登录模块功能测试
用户登录前首先需注册成为系统用户,使用账号和密码可进行登录。用户登录功能测试用例设计如下表所示:
表6-1 用户登录功功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证有效登录 | 1. 输入正确的用户名和密码 2. 点击登录按钮 | 显示登录成功,跳转至用户首页 | 登录成功,跳转至用户首页 | 通过 |
| TC002 | 验证空用户名登录 | 1. 不输入用户名,输入正确密码 2. 点击登录按钮 | 显示用户名不能为空提示信息 | 显示用户名不能为空提示信息 | 通过 |
| TC003 | 验证空密码登录 | 1. 输入正确用户名,不输入密码 2. 点击登录按钮 | 显示密码不能为空提示信息 | 显示密码不能为空提示信息 | 通过 |
| TC004 | 验证错误用户名登录 | 1. 输入错误的用户名和正确密码 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
| TC005 | 验证错误密码登录 | 1. 输入正确用户名和错误密码 2. 点击登录按钮 | 显示用户名或密码错误提示信息 | 显示用户名或密码错误提示信息 | 通过 |
- 商品仓库模块功能测试
商品仓库模块测试包括商品仓库展示功能测试、商品仓库添加功能测试、商品仓库搜索、商品仓库采购功能测试。商品仓库模块测试用例如表6.2-6.5所示。
商品仓库展示功能测试用例设计如下表所示:
表6-2 商品仓库展示功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证正常展示商品仓库 | 1. 进入商品仓库展示页面 2. 浏览展示的商品仓库内容 | 能够正常显示商品仓库内容 | 商品仓库内容正常显示 | 通过 |
| TC002 | 验证商品仓库链接跳转 | 1. 进入商品仓库展示页面 2. 点击商品仓库链接 | 能够跳转至相应商品仓库详情页面 | 成功跳转至商品仓库详情页面 | 通过 |
| TC003 | 验证搜索功能 | 1. 进入商品仓库展示页面 2. 使用搜索功能搜索商品仓库 | 显示符合搜索条件的商品仓库列表 | 显示符合搜索条件的商品仓库列表 | 通过 |
商品仓库添加功能测试用例设计如下表所示:
表6-3 商品仓库添加功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证添加商品仓库 | 1. 进入商品仓库添加界面 2. 输入商品仓库信息 3. 点击添加按钮 | 商品仓库成功添加到系统页面中 | 商品仓库成功添加到系统页面中 | 通过 |
| TC002 | 验证商品仓库内容输入 | 1. 进入商品仓库添加界面 2. 输入正确商品仓库内容和答案 3. 点击添加按钮 | 商品仓库内容成功录入系统 | 商品仓库内容成功录入系统 | 通过 |
商品仓库搜索功能测试用例设计如下表所示:
表6-4 商品仓库搜索功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证商品仓库输入商品编号搜索 | 1. 进入商品仓库搜索界面 2. 输入商品编号 3. 确认并搜索 | 根据选择的商品编号关键词显示相关商品仓库信息 | 根据选择的商品编号关键词成功显示相关商品仓库信息 | 通过 |
| TC002 | 验证商品仓库输入商品名称搜索 | 1. 进入商品仓库搜索界面 2. 输入商品名称 3. 确认并搜索 | 根据选择的商品名称关键词显示相关商品仓库信息 | 根据选择的商品名称关键词成功显示相关商品仓库信息 | 通过 |
| TC002 | 验证商品仓库输入商品类型搜索 | 1. 进入商品仓库搜索界面 2. 输入商品类型 3. 确认并搜索 | 根据选择的商品类型关键词显示相关商品仓库信息 | 根据选择的商品类型关键词成功显示相关商品仓库信息 | 通过 |
商品仓库采购功能测试用例设计如下表所示:
表6-5 商品仓库采购功能测试用例
| 测试编号 | 测试目的 | 测试步骤 | 预期结果 | 实际结果 | 是否通过 |
| TC001 | 验证添加商品仓库采购信息 | 1. 进入商品仓库采购信息添加界面 2. 输入商品仓库采购信息信息 3. 点击添加按钮 | 商品仓库采购信息成功添加到系统页面中 | 商品仓库采购信息成功添加到系统页面中 | 通过 |
| TC002 | 验证商品仓库采购信息内容输入 | 1. 进入商品仓库采购信息添加界面 2. 输入正确商品仓库采购信息内容和答案 3. 点击添加按钮 | 商品仓库采购信息内容成功录入系统 | 商品仓库采购信息内容成功录入系统 | 通过 |
| TC003 | 验证审核商品仓库采购信息 | 1. 管理员进入商品仓库采购订单详情界面 2. 更新审核状态并编辑审核回复内容 3. 点击提交按钮 | 商品仓库采购信息审核内容成功录入系统 | 商品仓库采购信息审核内容成功录入系统 | 通过 |
6.3 性能测试
- 兼容性测试
表6-6 兼容性测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 兼容性_01 | 设备兼容性 | 测试系统在不同设备上的表现 | 在多种设备上访问系统并记录表现 | 系统在各种设备上都能正常加载和显示页面 |
| 兼容性_02 | 浏览器兼容性 | 测试系统在不同浏览器上的表现 | 在多种浏览器中访问系统并记录表现 | 系统在各种主流浏览器上都能正常加载和显示页面 |
| 兼容性_03 | 分辨率兼容性 | 测试系统在不同分辨率下的显示效果 | 在不同分辨率的设备上访问系统并记录表现 | 系统在各种分辨率下都能适应并正常显示内容 |
| 兼容性_04 | 操作系统兼容性 | 测试系统在不同操作系统上的运行情况 | 在不同操作系统上访问系统并记录表现 | 系统能够在常用操作系统上正常运行和显示 |
- 性能测试
表6-7 性能测试用例
| 用例编号 | 测试类型 | 测试目标 | 操作过程 | 预期结果 |
| 性能_01 | 负载测试 | 测试系统在正常负载下的性能 | 逐步增加用户数来模拟不同的负载情况 | 系统能够稳定处理并响应不同数量的用户请求 |
| 性能_02 | 压力测试 | 测试系统在极端负载下的性能 | 以超过系统承受极限的用户数来测试系统 | 系统能够在高负载情况下仍然保持正常运行 |
| 性能_03 | 并发测试 | 测试系统能同时处理多少并发用户请求 | 同时发送多个并发用户请求来测试系统性能 | 系统能够有效地处理多个并发请求 |
| 性能_04 | 数据量测试 | 测试系统在大数据量下的性能 | 向系统添加大量数据并测试系统响应时间 | 系统能够在大数据量情况下保持较快的响应时间 |
6.4 测试结果
全部测试用例都已通过,且不存在漏洞,实现了本论文开始时所作要求和期望。本系统运行稳定,使用流畅,可以满足客户需求。试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。
简而言之,经过严格的测试,可以发现该系统的功能和性能非常出色,它的精度、可靠性、稳健性都达到了极高的水平,而且它还支持快速、精细的点击操作,使用者的使用感受更加良好。此外,它还支持各种主流浏览器,满足不同的使用要求。
第7章总结与展望
在基于SpringCloud框架下的连锁超市物资仓储管理系统设计与实现中,基于分布式处理架构,采用Java语言和Spring Cloud框架,结合MySQL数据库,实现了多种功能模块,以满足不同用户角色的需求,包括管理员、仓管员、采购员和销售员,实现了多层次的用户管理和权限控制,并通过身份验证机制确保系统安全性和数据安全性。通过系统提供数据统计和实时监控,帮助管理层及时掌握运营状况。实现有效的商品及供应链管理,包括对商品及类型、供应商及客户、订单、出入库等信息的集中管理,优化库存管理、采购、销售、盘点、报废流程。支持采购和销售订单的全生命周期管理,包括入库和出库操作,提升工作效率,简化物资盘点和报废申请流程,降低人为错误和损失风险。总体而言,通过采用分布式架构,系统具有良好的扩展性和可靠性,能够满足连锁超市大规模运营的需求。同时,系统实现了各个角色在物资管理中的协调配合,提高了整体运作效率。
在未来的发展中,可以进一步优化系统的响应速度和用户体验,开发移动端应用,方便用户在异地进行系统操作,提升用户体验和灵活性。同时,可以结合大数据技术,对历史数据进行深度分析,提供决策支持,提升平台的智能化水平,为用户提供更加智能化、便捷化的服务。此外,加强对安全性的防护和隐私保护,是平台未来发展的重要方向之一,保障用户信息的安全与私密性,维护良好的用户体验。以保证连锁超市物资仓储管理系统能够继续发挥其优势,适应市场变化,实现更高效的资源配置和管理,为连锁超市企业的可持续发展提供有力支撑。
通过不断优化和创新, 基于分布式处理的连锁超市物资仓储管理系统将更好地满足用户的多样化需求,成为用户信赖和选择的首要平台之一。通过本次项目,我不仅深入理解了SpringCloud框架的应用和连锁超市物资仓储管理系统的设计思路,也积累了丰富的实际开发经验。未来,我将进一步优化系统的稳定性和安全性,引入更多智能化和个性化的功能,以更好地满足用户需求和市场变化。
参考文献
[1]Daria M .A review and research agenda for recent socially and environmentally sustainable practices for warehouse management systems[J].The International Journal of Logistics Management,2024,35(7):60-98.
[2]王春来.基于供应链管理的流通企业仓储物流优化研究[J].中国储运,2024,(10):163-164.DOI:10.16301/j.cnki.cn12-1204/f.2024.10.142.
[3]王玉魁,李峰,乔彦超,等.基于Springboot与Vue框架的仓储管理系统设计与实现[J].河南科技,2024,51(18):29-33.DOI:10.19968/j.cnki.hnkj.1003-5168.2024.18.006.
[4]曾祁.基于物联网技术的智慧仓储管理研究[J].中国物流与采购,2024,(17):110-112.DOI:10.16079/j.cnki.issn1671-6663.2024.17.002.
[5]王伊侬.物流企业仓储管理的数字化转型与效果分析[J].中国储运,2024,(09):194-195.DOI:10.16301/j.cnki.cn12-1204/f.2024.09.119.
[6]Maleshkov V ,Valchanov H ,Aleksieva V .Blockchain-Based Model for Warehouse Management Systems for Artworks and Collectibles †[J].Engineering Proceedings,2024,70(1):39-39.
[7]靳超,师昊煜,贾祥宇,等.基于微服务架构的零售企业门店商品库存管理系统设计[J].数字通信世界,2024,(07):37-39.
[8]叶成.基于微服务架构的企业库存管理系统设计与实现[D].长江大学,2024.
[9]邹鑫渝.分布式计算仓库在大数据处理中的应用与实践[C]//河南省民办教育协会.2024年高等教育发展论坛论文集(下册).安顺学院数计学院;,2024:2.DOI:10.26914/c.cnkihy.2024.009308.
[10]雷希媛,李晓龙.大规模图数据处理系统的分布式算法设计与性能优化[J].信息记录材料,2024,25(03):133-135.DOI:10.16009/j.cnki.cn13-1295/tq.2024.03.028.
[11]曹芳芳,李兰兰,邹茜薇,等.一种轻量化高可靠分布式数据处理架构[J].航天控制,2023,41(06):50-56.DOI:10.16804/j.cnki.issn1006-3242.2023.06.004.
[12]刘争光.基于微服务架构的进销存管理信息系统的研究[D].北京建筑大学,2023.DOI:10.26943/d.cnki.gbjzc.2023.000590.
[13]司小龙.基于Java和SQL Server的仓库管理系统的设计与开发[J].科技创新与生产力,2023,(01):71-74+77.
[14]Yang Y .Design and Implementation of Online Food Ordering System Based on Springcloud[J].Information Systems and Economics,2022,3(4):
[15]倪顺康,郑蕴欣,张云,等.基于SpringCloud微服务的医疗耗材管理系统设计与实现[J].中国医学装备,2022,19(10):102-106.
[16]张静,胡宁玉,冯丽萍.基于Java的超市进销存管理系统的设计与实现[J].信息与电脑(理论版),2022,34(18):124-127+131.
[17]邹春杰.基于微服务架构的农产品溯源系统优化[D].南京邮电大学,2021.DOI:10.27251/d.cnki.gnjdc.2021.001038.
[18]李楚贞,曾琳,余育文.华润万家超市进销存管理系统的设计与实现[J].计算机产品与流通,2020,(11):274.
[19]李迪禹.超市管理信息系统设计与实现[J].北方经贸,2020,(01):63-66.
[20]唐芳芳.基于Java的仓库管理系统的设计与实现[J].数码世界,2020,(01):230.
致 谢
在完成本论文的研究与写作过程中,我深切感受到了来自各方的帮助和支持。在此,我衷心地向所有给予我帮助的人表示最诚挚的感谢。
首先,我要特别感谢我的导师,不仅在学术上给予我无私的指导,而且在生活上给予我关怀和支持。是您严谨的学术态度和勤奋的工作精神将永远激励我不断前进。
其次,我要感谢所有教导过我的老师们,是你们精彩课堂和深入的指导为我的研究工作提供了宝贵的知识和灵感。
我还要感谢我的家人,他们的理解和支持是我完成学业的坚强后盾。在我遇到困难和挑战时,他们总是给予我鼓励和力量。
此外,我也要感谢我的朋友和同学们,你们的陪伴和帮助使我的研究生活更加丰富多彩。我们共同度过的时光将成为我一生中宝贵的回忆。
最后,我要感谢所有支持本项目,为本项目提供建设性意见的人员,没有他们的协助,本论文无法顺利完成。
再次感谢所有帮助和支持我的人,是你们的帮助使我的研究之路不再孤单
点赞+收藏+关注 → 私信领取本源代码、数据库








