计算机毕业设计 | 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 版开发…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

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

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