计算机毕业设计 | 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 版开发…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...