当前位置: 首页 > news >正文

商超仓库管理系统

摘要

随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展,就要紧跟时代的潮流,通过互联网等高新技术找到适合自己的管理模式。商场超市以往大多也应用传统的仓库管理模式,传统的商超仓库的管理模式一般通过人工进行入库、出库记录,缺点比较明显。针对传统仓库管理的缺点,结合自身所学的知识以及相关参考资料,设计了本套商超仓库管理系统。本套系统使仓库管理更加标准化、规范化,可以让仓库的管理人员从之前繁琐的数据录入登记和查询以及数据统计中解脱出来,大大降低管理人员的工作量,提高了管理人员的工作效率。因此,设计商超仓库管理系统具有现实意义。
本套仓库管理系统有八大功能模块,包括资料管理、采购管理、销售管理、库存管理、统计信息、权限管理、个人信息管理、以及日志信息管理,在各模块下还有相应的子功能。本系统的开发平台是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所示。
在这里插入图片描述
在这里插入图片描述
采购管理模块
采购管理模块主要是完成商品采购入库功能,具体操作步骤如下:首先选择已有供应商,其次输入商品信息,如商品名称、品牌、采购价和采购数量等,然后系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则提交信息到数据库,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
销售出库模块
销售出库模块主要是完成商品销售出库功能,出库功能具体操作步骤如下:首先选择已有客户,其次输入商品信息,如商品名称、建议零售价、出库数量等,然后点击出库,由系统判断信息是否合法,如果不合法则提示异常,需重新输入,合法则系统会操作数据库减少该种商品的数量,最后给出数据提交结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
权限管理模块
权限管理模块主要是用来区分不同用户的不同权限,通过判定账号的权限确定该账号可以使用系统的那些功能。该模块有用户管理和角色管理两个子功能。
在这里插入图片描述
在这里插入图片描述
库存管理模块
库存管理模块的主要功能是查看整个仓库的库存,从而能更清晰的做出采购和销售的决策,该模块下有库存一览一个子功能,库存一览中可以修改商品单价,还可以通过商品名称和商品数量范围搜索仓库中的商品。
在这里插入图片描述
在这里插入图片描述
由于时间有限,没有细描述。如需要参考,可以联系!下方有联系方式!

相关文章:

商超仓库管理系统

摘要 随着全球经济和互联网技术的快速发展,依靠互联网技术的各种管理系统逐渐应用到社会的方方面面。各行业的有识之士都逐渐开始意识到过去传统的人工管理模式已经逐渐成为企业发展的绊脚石,不再适应现代企业的发展需要。企业想要得到更好的发展&#…...

校园疫情防控健康打卡系统

摘 要 自疫情出现以来,全世界人民的生命安全和健康都面临着严重威胁。高校是我国培养人才的重要基地,其安全和稳定影响着社会的发展和进步。因此,各高校高度重视疫情防控工作,并在校园疫情防控中引入了健康打卡系统。本论文主要研…...

关于阿里云效流水线自动部署项目教程

1、登录阿里云效:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 2、点击左侧流水线: 3、在流水线界面,新建流水线 4、我的是php代码,因此选择php模版 5、创建之后添加流程线源,如下图 6、选择相应的源头。比…...

食品快消品进销存+门店批发+零售商城整体代码输出

食品快消品行业在当今信息化和数字化浪潮中,建立批发零售的信息化系统已成为一种迫切的必要性。通过信息化,食品快消品企业能够实现从生产到销售的全面优化,提高供应链效率,降低运营成本,增强市场竞争力。通过有效的信…...

cocosCreator获取手机剪切板内容

最近游戏中需要加上复制粘贴的功能,这个时候就涉及到安卓原生层的东西。步骤如下: 公开文章地址,见个人博客 复制功能 ts代码 调用代码,在需要复制的地方调用即可。 public static copyToClipBoard(str) {if (sys.platform sy…...

SAP Web IDE 安装使用

For training SAP Web IDE 是基于 Eclipse 内核的在线开发 IDE,可以使用在线的试用版本,但服务器在德国,访问的网速特别慢。也可以使用 Personal Edition,在本机启动和编写代码。 打开官网下载WEBIDE工具包,包含 Tri…...

Excel 常用技巧(六)

Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件,可以用来制作电子表格、完成许多复杂的数据运算,进行数据的分析和预测,并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能&am…...

微软修复Wi-Fi驱动高危漏洞 影响Windows所有版本 可通过局域网发起攻击

微软修复 WiFi 驱动程序中的高危安全漏洞,该漏洞影响 Windows 所有版本,可以通过公共 WiFi 等发起攻击。如果攻击者能够接入到目标设备所处的网络中,则可以悄无声息完成攻击,不需要用户进行任何交互。 在本月例行安全更新中微软修…...

喜马拉雅项目调整

文章目录 1 频道部分下标旋转频道列表平移 2 渐变按钮搜索放大镜登录按钮径向渐变 3 左右图片缩小左边右边 4 猜你喜欢区域播放按钮和遮罩图片缩放 1 频道部分 下标旋转 .x-header-nav .nav-item:hover .icon-down {transform: rotate(-180deg); }频道列表平移 .channel-lay…...

【C++】基础知识--inline(内联)关键字以及与宏的区别

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…...

opencv的RGB 颜色表

RGB(255,23,140)是光的三原色,也即是红绿蓝Red,Green,Blue,它们的最大值是255,相当于100%。 白色:rgb(255,255,255) 黑色:rgb(0,0,0) 红色:rgb(255,0,0) …...

__autoload 函数和sql_autoload_register函数

目录 __autoload定义 __autoload使用 sql_autoload_registe定义 sql_autoload_registe使用 __autoload定义 __autoload 函数在 PHP 5.1.0 版本中引入,用于在尝试使用尚未被定义的类时自动加载该类。 当 PHP 解释器遇到一个未定义的类时,如果存在 __…...

Python 中国象棋游戏【含Python源码 MX_011期】

简介: 中国象棋是一种古老而深受喜爱的策略棋类游戏,也被称为中国的国粹之一。它在中国有着悠久的历史,起源可以追溯到几个世纪以前。Python 中国象棋游戏是一个用Python编程语言编写的软件程序,旨在模拟和提供中国象棋的游戏体验…...

wps要会员才能把pdf分开,这不纯属智商税吗

我有一个文档 然后 我给你们写好了一个代码 from PyPDF2 import PdfReader, PdfWriterdef split_pdf(file_path, ranges, output_names):# Open the input PDF filewith open(file_path, rb) as pdf_file:reader PdfReader(pdf_file)total_pages len(reader.pages)if len(r…...

springBoot+mongoDB项目中,使用MongoFactory、MongoTemplate分页条件查询,增删查改

MongoDB:CRUD 添加删除修改条件查询分页条件查询 只展示实现类代码 添加 Autowiredprivate MongoTemplate mongoTemplate;Autowiredprivate MongoFactory mongoFactory;Overridepublic boolean saveEntity(entityForm form) {try {实体类 en new 实体类();en.setName(form.ge…...

Leetcode236 二叉树两节点的最近公共祖先

问题描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个…...

Web的UI自动化基础知识

目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…...

【我是产品经理_注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …...

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息;

Java智慧工地源码 5G智慧工地系统源码 使用SAAS部署 三维可视化管理,与一线生产过程相融合,集成数据后台,统一前端入口,呈现多方项目信息; 智慧工地是指运用信息化手段,通过三维设计平台对工程项目进行精确设计和施工…...

lock_wait_timeout

lock_wait_timeout 是 MySQL 中的一个重要参数,它用于控制当一个 MySQL 会话在等待锁时的等待时间。以下是关于 lock_wait_timeout 的详细解释: 定义与功能 定义:lock_wait_timeout 是一个会话或线程级别的参数,用于指定 MySQL …...

【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2

【可控图像生成系列论文(一)】简要介绍了论文的整体流程和方法,本文则将就整体方法、模型结构、训练数据和纹理迁移进行详细介绍。 1.整体方法 MimicBrush 的整体框架如下图所示。为了实现模仿编辑,作者设计了一种具有双扩散模型…...

Linux时间子系统6:NTP原理和Linux NTP校时机制

一、前言 上篇介绍了时间同步的基本概念和常见的时间同步协议NTP、PTP,本篇将详细介绍NTP的原理以及NTP在Linux上如何实现校时。 二、NTP原理介绍 1. 什么是NTP 网络时间协议(英语:Network Time Protocol,缩写:NTP&a…...

边缘微型AI的宿主?—— RISC-V芯片

一、RISC-V技术 RISC-V(发音为 "risk-five")是一种基于精简指令集计算(RISC)原则的开放源代码指令集架构(ISA)。它由加州大学伯克利分校在2010年首次发布,并迅速获得了全球学术界和工…...

MySQL—navicat创建数据库表

-- 创建学生表(列,字段) 使用SQL创建 -- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datetime),家庭住址,email -- 注意点:使用英文括号(),表的名称 …...

html做一个画柱形图的软件

你可以使用 HTML、CSS 和 JavaScript 创建一个简单的柱形图绘制软件。为了方便起见,我们可以使用一个流行的 JavaScript 图表库,比如 Chart.js,它能够简化创建和操作图表的过程。 以下是一个完整的示例,展示如何使用 HTML 和 Cha…...

Pyshark——安装、解析pcap文件

1、简介 PyShark是一个用于网络数据包捕获和分析的Python库,基于著名的网络协议分析工具Wireshark和其背后的libpcap/tshark库。它提供了一种便捷的方式来处理网络流量,适用于需要进行网络监控、调试和研究的场景。以下是PyShark的一些关键特性和使用方…...

java中的Random

Random 是 Java 中的一个内置类,它位于 java.util 包中,主要用于生成伪随机数。伪随机数是指通过一定算法生成的、看似随机的数,但实际上这些数是由确定的算法生成的,因此不是真正的随机数。然而,由于这些数在统计上具…...

PyMuPDF 操作手册 - 01 从PDF中提取文本

文章目录 一、打开文件二、从 PDF 中提取文本2.1 文本基础操作2.2 文本进阶操作2.2.1 从任何文档中提取文本2.2.2 如何将文本提取为 Markdown2.2.3 如何从页面中提取键值对2.2.4 如何从矩形中提取文本2.2.5 如何以自然阅读顺序提取文本2.2.6 如何从文档中提取表格内容2.2.6.1 提…...

ResNet——Deep Residual Learning for Image Recognition(论文阅读)

论文名:Deep Residual Learning for Image Recognition 论文作者:Kaiming He et.al. 期刊/会议名:CVPR 2016 发表时间:2015-10 ​论文地址:https://arxiv.org/pdf/1512.03385 1.什么是ResNet ResNet是一种残差网络&a…...

java基础·小白入门(五)

目录 内部类与Lambda表达式内部类Lambda表达式 多线程 内部类与Lambda表达式 内部类 在一个类中定义另外一个类,这个类就叫做内部类或内置类 (inner class) 。在main中直接访问内部类时,必须在内部类名前冠以其所属外部类的名字才能使用;在…...

怎么百度做网站/百度账号24小时人工电话

两种方式的区别 一、 # coding:utf-8 定义源代码的编码. 如果没有定义, 改源码中是不可以包含中文字符串的. 官方链接:https://www.python.org/dev/peps/pep-0263/ 二、sys.getdefaultencoding() 是设置默认的string的编码格式。 另外: 在python2…...

免费婚庆网站模板/做一个网站需要多少钱

方法一: 思路:使用group by分组,再用count计算每组的个数,最后用having比较计算后的值大于1的数据。 select PRODUCT_CODE from TM_CIS_REQ_PRD_HIS_COUNT group by PRODUCT_CODE,CREDIT_ORG_CODE,REQ_DATE …...

做网站找哪家好熊掌号/2022最火营销方案

DSpace 1.5版本对统计功能做了比较多的更新。 配置好config目录下的dstat.dat文件 # the year and month to start creating reports from # - year as four digits (e.g. 2005) 开始统计的年份 # - month as a number (e.g. January is 1, December is 12)开始统计的月份 st…...

吉祥物设计网站/快速提升网站关键词排名

各位程序开发者 大家好。 我是joshiniti。这是我一贯网名,在全球各大社交网站上,我都会使用该网名。感兴趣的开发者我们可以成为朋友,一起谈论开发过程中的点点滴滴。 还是先吐槽一下我的学习经历吧。 本人由于偏科偏的过于厉害(高…...

wordpress tag_id/网页制作工具

1 问题 问题 E: 【递归入门】出栈序列统计 时间限制: 1 Sec 内存限制: 128 MB 提交: 424 解决: 327 [提交][状态][讨论版][命题人:外部导入] 题目描述 栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操…...

icp网站域名怎么填写/百度搜索历史记录

如果我们有多个通知想要在同一连接点执行,那执行顺序如何确定呢?Spring AOP使用AspectJ的优先级规则来确定通知执行顺序。总共有两种情况:同一切面中通知执行顺序、不同切面中的通知执行顺序。 首先让我们看下 1) 同一切面中通知执…...