商超仓库管理系统

news2024/12/21 20:14:13

摘要

随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展,就要紧跟时代的潮流,通过互联网等高新技术找到适合自己的管理模式。商场超市以往大多也应用传统的仓库管理模式,传统的商超仓库的管理模式一般通过人工进行入库、出库记录,缺点比较明显。针对传统仓库管理的缺点,结合自身所学的知识以及相关参考资料,设计了本套商超仓库管理系统。本套系统使仓库管理更加标准化、规范化,可以让仓库的管理人员从之前繁琐的数据录入登记和查询以及数据统计中解脱出来,大大降低管理人员的工作量,提高了管理人员的工作效率。因此,设计商超仓库管理系统具有现实意义。
本套仓库管理系统有八大功能模块,包括资料管理、采购管理、销售管理、库存管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。本系统的开发平台是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.coloradmin.cn/o/1843794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

工业AIoT竞赛

模块一:工业物联环境构建 # 查看节点状态 kubectl get nodes # 查看所有 pods 状态 kubectl get pods --all-namespaces cd /data/script/ ls | grep install_openyurt_manager # ./install_openyurt_manager_v5.sh是搜索到的脚本文件 ./install_openyurt_manager_v…

找不到com.fasterxml.jackson.core.exc.StreamWriteException的类文件

1. 前言: 使用springboot搭建的项目, 需要使用 jackson 更改json文件的内容; maven管理jar包, 导入jar包版本信息如下: <!-- 读写json文件所需依赖 --> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databin…

HarmonyOS最佳实践文档总结汇总(面试题可能会问)

api12 上面来了最佳实现方案&#xff0c;未来面试题有的问了 编号分类内容子类链接 1性能体验设计体验设计概述 文档中心用户体验设计 文档中心流畅评测指标 文档中心交互流畅体验设计 文档中心视觉流畅体验设计 文档中心2性能优化开发高性能ArkUIUI组件性能优化文档中心合…

QT-QPainter实现一个可切换的开关控件

1、效果 2、核心代码 #ifndef SWITCH_H #define SWITCH_H #include <QWidget> #include <QTimer>

前缀和+双指针,CF 131F - Present to Mom

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 131F - Present to Mom 二、解题报告 1、思路分析 很经典的一种把列看作cell 来进行双指针/递推的题型 我们考虑&#xff0c;可以预处理出原矩阵中的所有star 然后我们去枚举矩形的上下边界&#xff0c;把…

【教程】hexo 更换主题后,部署在 Github Page 无 CSS 样式

目录 前言环境hexo 更换主题解决部署到 Github Page 后无 CSS 样式的问题 前言 最近更换了 hexo 的主题后&#xff0c;重新部署到 Github Page 上发现不显示 CSS 样式&#xff0c;但在本地启动时又是正常的效果。此外&#xff0c;检查资源请求&#xff0c;发现多个 .css 文件请…

数据仓库与数据库的区别

在数据管理和分析的过程中&#xff0c;我们常常会听到“数据库”和“数据仓库”这两个术语。 虽然它们看起来相似&#xff0c;但实际上它们在设计目的、结构和使用场景上都有显著的区别。 数据库是什么&#xff1f; 数据库&#xff08;Database&#xff09;是一个用于存储和管…

如何调用讯飞星火认知大模型的API以利用其卓越功能

摘要 讯飞星火认知大模型&#xff0c;作为科大讯飞精心打造的一款人工智能模型&#xff0c;在自然语言理解和生成方面展现出了卓越的能力。这款模型通过深度学习技术和大量数据的训练&#xff0c;具备了强大的语言理解、文本生成和对话交互等功能。 一、模型功能概述 讯飞星…

单木:面试官超爱问的字符串,今天给它彻底讲透

本文已收录于&#xff1a;https://github.com/danmuking/all-in-one&#xff08;持续更新&#xff09; 前言 哈喽&#xff0c;大家好&#xff0c;我是 DanMu。今天这边文章&#xff0c;想和大家聊聊有关字符串的问题&#xff0c;字符串似乎很简单&#xff0c;但其实字符串几乎…

算法训练与程序竞赛题目集合(L2)

目录 L2-001 城市间紧急救援 输入格式: 输出格式: 输入样例: 输出样例: L2-002 链表去重 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; L2-003 月饼 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; …

“开放”的大模型到底有多“开放”?!

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技&#xff08;Mamba,xLSTM,KAN&#xff09;则…

线程池的简介

定义 线程池就是使用多线程的方式&#xff0c;将任务添加到队列中任务都是runnable或者callable的实现类 优点 线程和任务分离&#xff0c;任务可以复用线程池统一管理线程&#xff0c;线程可以复用避免因为开启和销毁线程造成的资源浪费 官方线程池的参数分析 深度理解 线程池…

Spring Security+Spring Boot实现登录认证以及权限认证

基本概念 “Authentication(认证)”是spring security框架中最重要的功能之一&#xff0c;所谓认证&#xff0c;就是对当前访问系统的用户给予一个合法的身份标识&#xff0c;用户只有通过认证才可以进入系统&#xff0c;在物理世界里&#xff0c;有点类似于“拿工卡刷门禁”的…

百度安全X盈科全球数据合规服务中心:推进数据安全及合规智能化创新领域深化合作

6月19日&#xff0c;百度安全与盈科全球数据合规服务中心举行合作签约仪式&#xff0c;双方将充分发挥各自优势&#xff0c;在数据安全及合规智能化创新领域深化合作&#xff0c;在遵守国家法律法规和顺应市场规则的前提下&#xff0c;推动地方经济社会发展&#xff0c;促进企业…

2-11 基于matlab的BP-Adaboost的强分类器分类预测

基于matlab的BP-Adaboost的强分类器分类预测&#xff0c;Adaboost是一种迭代分类算法&#xff0c;其在同一训练集采用不同方法训练不同分类器&#xff08;弱分类器&#xff09;&#xff0c;并根据弱分类器的误差分配不同权重&#xff0c;然后将这些弱分类器组合成一个更强的最终…

20240620每日后端---------Spring Boot中的 5 大设计模式最佳实践和示例 这些是我经常使用的设计模式并且非常喜欢

在本文中&#xff0c;我们将深入探讨五种基本设计模式&#xff0c;并探讨在 Spring Boot 项目中有效应用它们的最佳实践。每个模式都将附有一个实际示例来演示其实现。 单例模式 Singleton 模式确保一个类只有一个实例&#xff0c;并提供对它的全局访问点。这对于管理资源&am…

PhotoShop批量生成存储jpg

1、说明 根据之前自动批量生成psd格式的文件。打印一般都是jpg格式的&#xff0c;那如果将这些psd的文件&#xff0c;生成jpg&#xff0c;本文采用ps的动作 2、生成动作 点击窗口-动作 录屏存储jpg动作 3、根据动作生成 选择相应动作之后选择需要处理的文件夹

java读取wps嵌入式图片思路

这个只写了思路具体代码在文章最后&#xff0c;不想了解得直接去拿代码 了解Excel数据结构 Excel 文件格式后缀xls,xlsx 其实是一个压缩文件&#xff0c;是由多个文件夹以及xml 文件组合为一个文件&#xff0c;xml文件记录了Excel得内容以及样式等信息。加入在桌面新建一个xls…

怎么缩小pdf文件大小

在数字化时代&#xff0c;pdf文件已经成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;随着pdf文件内容的增多&#xff0c;其大小也会相应增加&#xff0c;这给文件的传输、存储和共享带来了诸多不便。因此&#xff0c;如何有效地压缩pdf文件大小&#xff0c;成为了…

Java 8 Stream API介绍

Java 8引入了Stream API&#xff0c;这是对集合框架的一种增强&#xff0c;它允许你以一种声明式的方式处理数据集合。Stream API的核心在于将数据的操作分为两个主要阶段&#xff1a;中间操作和终端操作。中间操作返回的是一个新的Stream&#xff0c;可以链式调用多个中间操作…