计算机毕业设计 | 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 版开发…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

新建生产
编辑工作进度
完成生产
编辑产线
生产日志
删产线
产线状态 

修改仓库
暂存登记
容量矫正
删除仓库
修改库区
容量矫正
新建库区
删除库区