计算机毕业设计 | SpringBoot+vue仓库管理系统(附源码)
1,绪论
1.1 项目背景
随着电子计算机技术和信息网络技术的发明和应用,使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里,仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由:一个由人和计算机之间能而且够进行信息一些管理。
例如数据的收集、存储、加工以及维护。它是一种新的学科,跨越了许多个领域,例如管理科学、信息工程学、运筹学、会计学和计算机科学等。它在企业当中起到了越来越重要的作用,例如对企业的基础数据进行采集并保管,对企业的物料流、资金流、信息流进行综合并且为企业决策的提供服务等。
1.2 选题意义
我国的中小型企业非常多,它在我国经济发展当中占有非常重要地位。在目前中国的很多的中小企业有着数量较多以及地区分布广阔和行业分布跨度很大的特点。它将面临着许多国内大型生产企业及国外的商品和服务的严峻挑战。
一方面,我国内大型企业以及许多外资企业具有更加雄厚的资金实力、更丰富的管理经验和更加先进的技术手段。但是国内的中小型企业不具备以上那些条件。为此,许多中小企业必须借助更先进的管理思想、并且转变经营理念、加上使用信息化手段来提高中小企业的管理水平以及工作效率。在另一方面,我国内外的很多大型企业并且包括国有企业、私营企业以及大多数外资合资企业中,管理信息系统已经被广泛的应用。比如很大型的ERP管理系统、财务管理软件、MRPI系统及其它的很多的先进的系统,这些都给大型的企业带来了很多的信息化的好处。
为此中小型企业在竞争当中处于不利的地位。要想改变这种状况,对于很多中小型企业来说就要找到摆脱传统的管理方式的现代管理方法。而应用一种比较符合该企业实际情况的仓库管理系统就是一个很不错的选择。
2,系统设计
功能权限结构图
3,需求分析
凌云仓库管理系统,致力于给予用户最极致最完整的仓库管理体验。凌云仓库管理系统会提供给用户,集客户管理、订单管理、生产、暂存、入库、出库、发货于一体的仓储管理体验。
3.1 用户管理
- 用户信息管理:超级管理员可对系统用户的账号信息实行增删改查操作
- 用户角色管理:超级管理员在添加用户或修改用户时,可设置用户的权限角色,根据设定不同的角色权限:超级管理员可自由快捷的设置,不同角色用户进入系统后可访问的页面范围
3.2 权限管理
- 角色列表:用户在此页面可以查看每种角色的菜单权限,并可点击“x”按钮删除某一菜单权限。管理员也可以点击“分配权限”按钮,进行更细致的菜单权限分配。管理员也可以在该页面增删改查角色名称
- 权限列表:该页面罗列了系统内所有的菜单权限,管理员可在此设置菜单状态和权限信息
3.3 客户管理
- 新建客户:客户不同于用户,用户可登录该系统有所操作。客户列表只记录了客户的信息和备注,用以方便后续的订单建立,订单发货。
- 客户列表:在此列表,管理员可以看到客户的所有信息,也可以选择对客户信息进行增删改查,或拉黑该客户
- 黑名单:对于不想合作的客户,可以拉至黑名单,当然也可以随时将客户从黑名单中移出
- 查看订单:管理员可查看客户的订单列表
3.4 订单管理
- 新建订单:管理员可以根据客户信息创建新订单,并记录商品名、订购数量、订购价格
- 订单列表:管理员在订单列表可以查看所有的历史订单、修改订单(包括订单信息和支付状态)、进度跟踪、删除订单
- 订单进度查看如下图,系统会根据订单状态实时变化进度
3.5 生产管理
- 生产线管理:
- 新建生产线:管理员可新建生产线,来保证客户订单中的物品生产
- 生产线管理:管理员可对已有生产线进行信息修改和删除操作
- 生产日志查看:管理员可查看此生产线所有的生产日志和生产记录
- 生产线状态:管理员通过设置生产线状态来调整生产线是否可用
- 新建生产:对于已有生产线,管理员可选择新建生产,在选择“ 订单生产” 或“ 自主生产 ” ,填写订单号、商品名称、生产数量后,即可开始生产(注:自主生产请勿填写订单号)
- 工作进度:管理员可自主更新每日生产进度。在更改生产数量后,生产线的进度条也会自动变化
- 完成生产:在生产进度达到100%后,即可点击“完成生产”按钮来结束生产
- 生产档案
- 档案查看:此页面会展示生产信息列表
- 暂存:管理员可将生产出来的商品暂存在系统仓库,这一批商品会暂时处于待检状态,当后续通过检查后,方可正式入库
- 存放位置查看
3.6 仓库管理
-
我的仓库
- 新建仓库:管理员在填写仓库编号、仓库类型、仓库地址和占地面积后可完成仓库新建操作
- 新建库区:在一个仓库内会有好多个库区。管理员在填写库区编号、类型、面积后可完成库区添加
- 新建货架:在一个库区内会有好多个货架。管理员在填写货架编号、类型、面积后可完成货架添加
- 仓库操作:管理员可修改仓库信息、删除仓库、矫正仓库容量、暂存生产货物
- 库区操作:管理员可修改库区信息、删除库区、矫正库区容量
-
入库管理:
- 入库列表:在此可查看所有的入库记录,并可查看该货物的存储位置
- 新建存储:生产的货物在经过上一轮暂存后,即可来到此处进行检查。通过选择生产成品,填写合格数量、废品面积、占用面积、仓库选择和存储位置选择后,即可正式入库
-
出库操作
- 在上一步入库后的商品会在此处显示,管理员可以在此填写物流单号后发货
3.7 数据统计
- 系统会统计系统内仓库容量的使用量,并用柱状图展示出来
3.8 系统监控
- 系统预留了druid连接池的sql监控接口,管理员可随时查看
4,技术分析
后端技术
技术 | 说明 | 官网 |
---|---|---|
SpringBoot | Web应用开发框架 | https://spring.io/projects/spring-boot |
SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatisGenerator | 数据层代码生成器 | http://www.mybatis.org/generator/index.html |
Druid | 数据库连接池 | https://github.com/alibaba/druid |
JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
Lombok | Java语言增强库 | https://github.com/rzwitserloot/lombok |
PageHelper | MyBatis物理分页插件 | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | API文档生成工具 | https://github.com/swagger-api/swagger-ui |
前端技术
技术 | 说明 | 官网 |
---|---|---|
Vue | 前端框架 | https://vuejs.org/ |
Vue-router | 路由框架 | https://router.vuejs.org/ |
Vuex | 全局状态管理框架 | https://vuex.vuejs.org/ |
Element | 前端UI框架 | https://element.eleme.io |
Axios | 前端HTTP框架 | https://github.com/axios/axios |
v-charts | 基于Echarts的图表框架 | 📣 有源码 获取源码 |
5,系统页面展示
5.1 登录
5.2 首页
5.3 用户管理
5.3.1 添加用户
5.3.2 分配角色
根据设定不同的角色权限:超级管理员可自由快捷的设置,不同角色用户进入系统后可访问的页面范围
5.4 角色列表
用户在此页面可以查看每种角色的菜单权限,并可点击“x”按钮删除某一菜单权限。管理员也可以点击“分配权限”按钮,进行更细致的菜单权限分配
5.4.1 添加角色
5.4.2 分配权限
5.5 订单管理
管理员在订单列表可以查看所有的历史订单、修改订单(包括订单信息和支付状态)、进度跟踪、删除订单
5.5.1 新建订单
5.5.2查看订单进度
系统会根据订单状态实时变化进度
5.5.3 修改订单
5.6 我的生产线
功能按钮说明
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
5.6.1 新建生产线
5.6.2 生产线新建生产
5.6.3 生产线 工作进度修改
在管理员修改记录工作进度后,生产线的进度条会根据订单进度进行自主更改
5.6.4 完成生产
在生产彻底完成前,提前点击完成按钮会弹出相关提示
在生产彻底完成后,点击完成按钮会弹出如下提示
5.6.5 生产日志查看
5.7 生产档案管理
管理员可将生产出来的商品暂存在系统仓库,这一批商品会暂时处于待检状态,当后续通过检查后,方可正式入库
5.7.1 暂存登记
5.7.2 暂存地址查看
5.8 我的仓库
在一个仓库内会有好多个库区,在一个库区内会有好多个货架。用户点击仓库图标会进入到库区界面,点击库区编号则会进入到货架界面
新建仓库
仓库操作
![]() | ![]() | ![]() | ![]() |
5.8.1 库区查看
库区操作
![]() | ![]() | ![]() | ![]() |
5.8.2 货架查看
5.8.2.1 新建货架
5.9 入库管理
生产的货物在经过上一轮暂存后,即可来到此处进行检查。通过选择生产成品,填写合格数量、废品面积、占用面积、仓库选择和存储位置选择后,即可正式入库
5.9.1 入库登记
5.9.2 存放地址
5.10 出库管理
在上一步入库后的商品会在此处显示,管理员可以在此填写物流单号后发货
5.10.1 出库发货
5.11 数据报表
5.12 客户管理
5.12.1 添加客户
5.12.2查看客户订单
5.12.3 拉黑客户
5.12.4 黑名单
5.13个人中心
相关文章:

计算机毕业设计 | SpringBoot+vue仓库管理系统(附源码)
1,绪论 1.1 项目背景 随着电子计算机技术和信息网络技术的发明和应用,使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里,仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由:一…...

【Python】解决Python报错:TypeError: can only concatenate str (not “int“) to str
🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…...

大数据技术分享 | Kylin入门系列:基础介绍篇
Kylin入门教程 在大数据时代,如何高效地处理和分析海量数据成为了企业面临的挑战之一。Apache Kylin作为一个开源的分布式分析引擎,提供了Hadoop之上的SQL查询接口及多维分析(OLAP)能力,使得对超大规模数据集的分析变…...

程序猿转型做项目经理一定要注意这 5 个坑
前言 国内的信息系统项目经理,很多都是从技术骨干转型的,我就是这样一路走过来的,这样有很多好处,比如技术过硬容易服众、熟悉开发流程更容易把控项目进度和质量、开发过程中碰到难题时更好组织攻坚等等,但是所谓成也…...

【Python爬虫】案例_github模拟登录
import requests import re from datetime import datetimedef login():sessionrequests.session()session.headers {User-Agent :XXXX #写自己的}url1 https://github.com/loginres_1 session.get(url1).content.decode()token re.findall(name"authenticity_token&q…...

小红书图文笔记怎么做?纯干货!
小红书图文笔记的制作是一门艺术,它需要结合精美的图片和有价值的内容,以吸引和留住用户的注意力。伯乐网络传媒给大家分享制作小红书图文笔记的干货指南,包括准备、制作、发布和优化的各个环节。 一、准备阶段 确定目标受众:找到…...

RocketMQ .NET
RocketMQ 是一款由阿里巴巴集团开发并开源给Apache软件基金会的分布式消息及流处理平台。以其高吞吐量、低延迟、高可用性等特点而广受欢迎。支持Java,C, Python, Go, .NET等。 异步解耦:可以实现上游和下游业务系统的松耦合设计,使得服务部…...

知攻善防应急响应靶机训练-Web2
前言: 本次应急响应靶机采用的是知攻善防实验室的Web-2应急响应靶机 靶机下载地址为: https://pan.quark.cn/s/4b6dffd0c51a 相关账户密码 用户:administrator 密码:Zgsfqq.com 解题过程: 一、攻击者的IP地址(两个)…...

opencv进阶 ——(七)图像处理之寸照换背景
寸照换背景,通常指的是将个人证件照片的背景色更换为另一种颜色,如白色、蓝色或红色等,以满足不同用途的要求。例如,护照照片通常要求白色背景,而身份证照片可能需要蓝色背景。这个过程通常涉及到图像处理技术…...

每日复盘-20240529
20240529 六日涨幅最大: ------1--------300956--------- 英力股份 五日涨幅最大: ------1--------301361--------- 众智科技 四日涨幅最大: ------1--------301361--------- 众智科技 三日涨幅最大: ------1--------300637--------- 扬帆新材 二日涨幅最大: ------1--------30…...

mybatis问题汇总
Mapped Statements collection does not contain value for mapper.xml中namespace存在问题 使用 ${}实现关键字(表名、列名)的可变 #{} 和 ${} 的区别...

Kafka SSL认证
证书生成 在kafka安装目录下/certificates生成keystore和trust文件,在其中一台机器声生成证书,然后将 生成的server.keystore.jks和server.truststore.jks文件拷贝其他broker节点上去即可 1.生成keystore [rootm1 certificates]# keytool -keystore se…...

【Spring】认识 Spring AOP
认识 Spring AOP 1.什么是 AOP2.AOP 中的概念3.用 AOP 方式管理日志3.1 编写 AOP 日志注解类3.2 编写控制器用于测试 1.什么是 AOP AOP(Aspect Oriented Program,面向切面编程)把业务功能分为核心、非核心两部分。 核心业务功能:…...

什么是访问控制漏洞
什么是AC Bugs? 实验室 Vertical privilege escalation 仅通过隐藏目录/判断参数来权限控制是不安全的(爆破url/爬虫/robots.txt/Fuzz/jsfinder) Unprotected functionality 访问robots.txt 得到隐藏目录,访问目录 ,…...

python基于百度,哈工大等停用表进行的中文分词
import os import pandas as pd import jieba# 加载停用词 def load_stopwords(filenames):stopwords set()for filename in filenames:with open(filename, r, encodingutf-8) as f:for line in f:stopwords.add(line.strip())return stopwords# 中文分词并去除停用词 def se…...

【学习笔记】计算机组成原理(七)
指令系统 文章目录 指令系统7.1 机器指令7.1.1 指令的一般格式7.1.2 指令字长 7.2 操作数类型和操作类型7.2.1 操作数类型7.2.2 数据在存储器中的存放方式7.2.3 操作类型 7.3 寻址方式7.3.1 指令寻址7.3.1.1 顺序寻址7.3.1.2 跳跃寻址 7.3.2 数据寻址7.3.2.1 立即寻址7.3.2.2 直…...

pillow学习4
ImageChops 模块 在 Pillow 库的内置模块 ImageChops 中包含了多个用于实现图片合成的函数。这些合成 功能是通过计算通道中像素值的方式来实现的。其主要用于制作特效、合成图片等操作。 常用的内置函数如下所示: (1)相加函数 add()…...

外企如何有效面对日益严格的跨境数据传输法律?
在当今这个数据驱动的时代,随着全球化步伐的加快,企业跨国界的数据交流已成为常态。但随之而来的,是各国政府对跨境数据传输日益严格的规定和监管,这让众多外资企业(简称“外企”)在享受全球市场红利的同时…...

运维开发.MySQL.范式与反范式化
运维开发 MySQL.三大范式 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/artic…...

HCIA-HarmonyOS Application Developer 课程大纲
一:鸿蒙 Mac 版、 Windows 版【编辑器】和【模拟器】 & 鸿蒙基础环境搭建 - ( 3 课时) - Mac arm 版开发环境搭建:Mac arm 版模拟器安装及配置;安装 DevEcoStudioPreview 版本; - Windows 版开发…...

如何用Java实现SpringCloud Alibaba Sentinel的熔断功能?
在Java中使用Spring Cloud Alibaba Sentinel实现熔断功能的步骤如下: 添加依赖 在项目的pom.xml文件中添加Spring Cloud Alibaba Sentinel的依赖: <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud…...

Day27
Day27 反射案例 案例一:万能数组扩容 注意:copyOf、toString public class Test01 {/*** 知识点:反射案例 之 万能数组扩容* * 注意:copyOf、toString*/public static void main(String[] args) {String[] ss {"aaa"…...

uni-app App端实现文字语音播报(Ba-TTS)
前言 最近在遇到消息提示语音播放出来,查了一圈文档发现并没有自带api 后面想起支付宝收钱播报,不受限与系统环境和版本环境(后面查阅他是音频实现的) 如果是由安卓端需要语音播放功能-直接使用Ba-TTs救急(需要付费2…...

在WHM中如何调整max_upload_size 参数大小
今日我们在搭建新网站时需要调整一下PHP参数max_upload_size 的大小,我们公司使用的Hostease的美国独立服务器产品默认5个IP地址,也购买了cPanel面板,因此联系Hostease的技术支持,寻求帮助了解到如何在WHM中调整PHP参数࿰…...

docker system prune命令详解
docker system prune 是 Docker 中的一个命令,用于清理 Docker 系统中的未使用资源,以帮助回收磁盘空间。这个命令执行一系列操作来删除不再需要的项目,具体包括: 删除所有已停止的容器。删除所有未被任何容器引用的网络…...

使用jdk自带jhat工具排查OOM问题
使用jdk自带jhat工具排查OOM问题 OOM java.lang.OutOfMemoryError: Java heap space排查步骤 编写一个测试类 public class TestJVM {Testpublic void test1() throws InstantiationException, IllegalAccessException {List<A> list new ArrayList<>();for (i…...

独孤思维:付费就是割韭菜,千万别上当
01 很多人觉得付费是坑,是割韭菜。 其实大多数情况,你所付费的,是购买了别人的经验。 让你能够少走很多弯路,让你能够节约大量时间和精力,购买别人的成功路径。 打一个粗俗的比方。 很多人都说,买的资料&am…...

【PB案例学习笔记】-12秒表实现
写在前面 这是PB案例学习笔记系列文章的第11篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gite…...

Linux驱动开发笔记(二) 基于字符设备驱动的GPIO操作
文章目录 前言一、设备驱动的作用与本质1. 驱动的作用2. 有无操作系统的区别 二、内存管理单元MMU三、相关函数1. ioremap( )2. iounmap( )3. class_create( )4. class_destroy( ) 四、GPIO的基本知识1. GPIO的寄存器进行读写操作流程2. 引脚复用2. 定义GPIO寄存器物理地址 五、…...

【ESP32之旅】ESP32 PlatformIO 固件单独烧录
背景 有时候使用PIO编写的代码需要发给客户去验证,相比较于发送源码直接发送bin文件,更加的安全而且高效。不用担心源码的泄漏,也不用帮客户配置PIO环境。 操作方法 1.编译 首先进行代码编译,如编译成功会在 .pio\build\airm2…...