商超仓库管理系统

news/2024/10/18 12:20:59/

摘要

随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展,就要紧跟时代的潮流,通过互联网等高新技术找到适合自己的管理模式。商场超市以往大多也应用传统的仓库管理模式,传统的商超仓库的管理模式一般通过人工进行入库、出库记录,缺点比较明显。针对传统仓库管理的缺点,结合自身所学的知识以及相关参考资料,设计了本套商超仓库管理系统。本套系统使仓库管理更加标准化、规范化,可以让仓库的管理人员从之前繁琐的数据录入登记和查询以及数据统计中解脱出来,大大降低管理人员的工作量,提高了管理人员的工作效率。因此,设计商超仓库管理系统具有现实意义。
本套仓库管理系统有八大功能模块,包括资料管理、采购管理、销售管理、库存管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。本系统的开发平台是IntelliJ IDEA,前端页面部分主要通过Vue框架实现,后端数据库使用的是MySQL数据库,开发出的是一个基于JavaWeb技术的B/S结构的仓库管理系统,具体框架方面使用的是SpringBoot+MybatisPlus集成框架。
本系统具有开发成本低、易用性高等特点。考虑到系统的安全性,系统添加了日志管理功能,用以记录操作人员和操作时间,防止出现系统信息被恶意篡改却难以追责的情况发生。为了防止用户密码被破解,本系统还在密码上设计了DH5加密,考虑到当下DH5加密破解难度不高,本系统还在DH5加密的基础上增加了盐,大大提高了密码的安全性。在系统设计实现后对本系统进行了测试,确定了该系统符合预定目标,能够满足使用者的需求。

关键词:商超仓库管理;B/S架构;SpringBoot;MybatisPlus;Vue

章节安排

论文共分五部分。
第一部分:绪论,主要介绍了本论文的背景与意义、国内外相关技术的发展状况及未来趋势、论文所做工作及思路以及论文各章节的安排。
第二部分:相关技术介绍,对实现系统的核心技术进行了介绍。主要介绍了SpringBoot、MybatisPlus、vue和MySql数据库等技术。
第三部分:系统分析,包括可行性分析、需求分析、功能分析等。
第四部分:系统设计与实现,包括总体设计、数据库设计、详细设计。数据库设计包括概念结构设计、E_R图、表设计。详细设计包括主要功能模块的时序图、运行结果图。
第五部分:系统测试,包括测试方法、测试过程、测试结果。对系统的主要功能模块进行测试并画出测试结果表。

用例分析

仓库管理信息系统其实就是将仓库业务管理流程信息化的过程,这个系统的建立既要满足仓库工作人员的真正需求,同时也要满足仓库管理员的真正需求,要能够解决他们的实际问题。需求用例图如图3-1所示,具体功能需求解析如下:
1、仓库中货物数据量多,信息量大且十分繁杂,数据需要保证绝对的安全,所以,操作起来相对麻烦。因为系统中有多个角色,所以,需要给不同类型的用户设置不同的操作权限。
2、仓库管理系统主要是针对日常库存信息的管理,主要是要实现出入库管理、仓库剩余库存的查询和对仓库里物品基本情况的操作。
图3-1 需求用例图
在这里插入图片描述

功能性需求分析

1、登录登出功能:登录时用户需凭借账号密码登录,系统进行验证,如账号密码不正确,则提示输入正确的账号密码。可以通过id修改密码。
2、资料管理功能:管理供应商和客户资料,实现按照输入的供应商名称、经营范围动态查询供应商,根据id查询供应商信息,根据供应商id修改供应商负责人名字和电话号码,供应商添加要实现可以普通添加和批量添加。客户管理亦要实现如供应商管理一样的功能。
3、采购管理:要实现查询所有的供应商,查询当前采购员采购车的信息,通过id修改采购价格、数量,通过采购车id移除商品,添加商品。将采购商品入库,根据供应商id或者名称入库。实现采购信息查询,动态分页查询订单,通过输入的条件动态查询采购订单,返回分页对象。通过订单id查询订单信息及明细信息。
4、销售管理:要实现销售出库和销售信息查询功能,销售出库要实现查询所有的客户、通过销售员查询即将出库的物品、通过输入的商品名称、类别动态条件分页查询销售价,将需要出库的物品添加到销售车的功能。销售信息查询功能要实现通过输入的客户名称,起始日期,结束日期动态查询出库订单表、通过销售订单id查询详情功能。
5、库存管理:实现库存一览功能,根据输入的条件动态的查询库存信息。通过库存id查询库存商品对象,通过库存id修改销售价格。
6、销售统计:根据指定的时间段统计每个类别的销售额,输入起始结束日期,根据起始日期,结束日期统计每个类别的销售额,输出销售统计对象(name,value)。根据指定的时间段统计每个品牌每个类别的销售额。统计指定年份,每个类别商品每个月的销售数量。
7、权限管理:根据用户名动态分页查询用户表,添加用户时,用户名不能重复,添加用户信息,同时添加该用户拥有的角色信息,删除用户同时删除角色信息,查询用户时通过id查询用户信息,同时查询该用户拥有的角色集合,权限集合(四表来联,用户表,角色表,用户角色中间表,权限表,权限角色)。通过角色id数组查询角色权限,去除重复权限。可以实现用户角色的修改。
8.角色管理:需实现分页查询角色表集合、通过角色id删除角色、添加角色、修改角色权限、查看角色信息、查询所有的权限信息。

总体设计

在架构选择上,本系统选择了B/S架构,之所以选择B/S架构,首先考虑的是使用便捷性,与C/S架构相比,B/S架构无需安装任何专门的客户端应用程序,电脑上有浏览器就可以远程使用系统。在B/S架构下,客户端只是电脑上的浏览器,无需专门进行维护。如果后期使用客户规模扩大,也不用担心维护升级工作的工作量会大大增加。其次,B/S架构是建立在广域网上,面向不同地域、不同用户群体的,这是C/S架构不具备的优点。B/S架构还具有与操作平台关系较小的特点,系统的功能扩展非常容易。从商超仓库管理系统的扩展性和维护成本以及仓库本身的规模来说,本系统采用B/S(浏览器/服务器)的软件系统架构体系最为合适。
使用B/S模式的系统,服务器维护升级方便而且客户端无需专门下载应用程序,同时具有较好的网络扩展性,可以支持TCP/IP协议直接连接Internet。对于该模式而言,数据和程序的物理位置的重要性已经大幅度降低,使用者只需要知道它的网址即可,所以可以相信B/S模式能够满足该系统的设计需求。
本套仓库管理系统有八大功能模块,包括:销售管理、资料管理、库存管理、采购管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。资料管理下有供应商管理和客户端管理两个子功能,采购管理下有采购入库和采购信息管理两个子功能,销售管理下有销售出库和销售信息查询两个子功能,库存管理下有库存一览一个子功能,统计管理下有销售统计、月销售统计两个子功能,权限管理下有用户管理、角色管理两个子功能、个人信息管理下有修改密码一个子功能、日志信息管理下有日志一览一个子功能。总体功能图如图4-1所示。
在这里插入图片描述

E_R图

E_R图是数据库设计中必不可少的部分,它关系着数据是否具有完整性。E_R图是否完整决定着实体是否具有完整性,实体是否完整又决定着数据是否完整。实体的完整性是用来对照虚拟操作和现实业务的。实体关系图标示着各数据库间的关联关系。
系统的总体E_R图如图4-2所示,共4个对象,分别是供应商、货物、仓库和用户管理员。供应商有供应商名称、负责人、联系方式、地址、经营范围等属性,货物有商品编号、商品名称、品牌、类别、采购价等属性。用户管理员有角色、用户名、密码、真实姓名、权限等属性,仓库有库存、出库、入库等属性。供应商和货物的关系是供应商供应货物,供应商和用户管理员的关系是用户管理员需要供应商供货,仓库和货物的关系是仓库储存货物。
在这里插入图片描述

系统实现

登录模块实现
用户在登录页面输入账号密码,点击登录后,系统会在数据库中先比对账号是否存在,如果不存在就会提示异常信息,如果账号存在则继续判断密码是否正确,错误就会提示异常信息,正确则登录成功,运行结果如图4-4、4-5所示。
在这里插入图片描述
在这里插入图片描述
采购管理模块
采购管理模块主要是完成商品采购入库功能,具体操作步骤如下:首先选择已有供应商,其次输入商品信息,如商品名称、品牌、采购价和采购数量等,然后系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则提交信息到数据库,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
销售出库模块
销售出库模块主要是完成商品销售出库功能,出库功能具体操作步骤如下:首先选择已有客户,其次输入商品信息,如商品名称、建议零售价、出库数量等,然后点击出库,由系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则系统会操作数据库减少该种商品的数量,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
权限管理模块
权限管理模块主要是用来区分不同用户的不同权限,通过判定账号的权限确定该账号可以使用系统的那些功能。该模块有用户管理和角色管理两个子功能。
在这里插入图片描述
在这里插入图片描述
库存管理模块
库存管理模块的主要功能是查看整个仓库的库存,从而能更清晰的做出采购和销售的决策,该模块下有库存一览一个子功能,库存一览中可以修改商品单价,还可以通过商品名称和商品数量范围搜索仓库中的商品。
在这里插入图片描述
在这里插入图片描述
由于时间有限,没有细描述。如需要参考,可以联系!下方有联系方式!


http://www.ppmy.cn/news/1470483.html

相关文章

贪吃蛇——c语言版

文章目录 演示效果实现的基本功能技术要点源代码实现功能GameStart打印欢迎界面和功能介绍绘制地图创建蛇创建食物 GameRun打印提示信息蛇每走一步 GameEnd蛇死亡后继续游戏 演示效果 贪吃蛇1.0演示视频 将终端应用程序改为控制台主机 实现的基本功能 贪吃蛇地图绘制蛇吃食物的…

Spring AI 调用 openAI 进行语音识别

Spring AI支持语音识别功能,目前仅支持OpenAI的Transcription模型。 项目搭建: 参考 Spring AI 介绍以及与 Spring Boot 项目整合 源码示例: RestController RequestMapping("/openai") public class OpenAiIAudioTranscriptionC…

SpingBoot快速入门下

响应HttpServietResponse 介绍 将ResponseBody 加到Controller方法/类上 作用:将方法返回值直接响应,如果返回值是 实体对象/集合,将会自动转JSON格式响应 RestController Controller ResponseBody; 一般响应 统一响应 在实际开发中一般…

Mybatis中BaseEntity作用

新建各种对象的时候,一般来说,有几个属性是所有对象共有的,比如说id,is_del,is_enable这些,然后设置一个基础对象,以后新建所有对象的时候都继承它,就省的每次都要写这些共有的属性了

【运维项目经历|033】高性能LBC负载均衡集群优化项目

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目…

celery使用 Zookeeper 或 kafka 作为broker,使用 mysql 作为 backend

背景介绍: 先贴上celery官方文档:Celery - Distributed Task Queue — Celery 5.4.0 documentation xxx项目中单点环境运行celery + redis,使用流畅,不做过多介绍。 切换高可用环境时,客户redis使用的是cluster集群,官方文档中并没有对redis cluster的支持,查看githu…

查询SQL 人大金仓 与MySQL的区别

查询SQL 人大金仓 与MySQL的区别&#xff0c;以若依为例 最常见 时间范围 1.人大金仓 Kingbase <select id"selectUserListByOrgIds" parameterType"SysUser" resultMap"SysUserResult">select u.user_id, u.dept_id, u.nick_name,u.tj_…

前端面试题日常练-day78 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备&#xff0c;答案在文末 在Sass中&#xff0c;以下哪个功能用于创建一个循环&#xff1f; a) extend b) for c) import d) include Sass中的混合器&#xff08;Mixins&#xff09;可以包含以下哪些内容&#xff1f; a) 样式规…