基于SpringBoot库存管理系统

摘 要

当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档,很容易受潮或者怕火,不容易备份,需要花费大量的人员和资金来管理用纸质文档存储的信息,最重要的是数据出现问题寻找起来很麻烦,并且修改也困难,如果还这样操作会造成很大的资源浪费和经济损失。
库存管理系统运用的工具包括IDEA,Tomcat,Spring Boot框架以及MySQL等。该系统可以实现对公告信息,员工,供应商类型,供应商信用等级,商品类型,公告类型,供应商,商品,商品预定,采购入库,采购入库详情,客户等信息进行管理。
库存管理系统就是采用目前最流行的互联网应用思维,让信息处理变得更加高效,并且处理结果更加的符合预期,只要是关于数据管理方面,不管是添加还是修改,以及数据维护甚至是数据迁移,都可以达到更快更安全的要求。

关键词
库存管理系统 商品 采购入库

Abstract

At present, if paper documents are still used to record and manage related information, there may be many problems, such as the loss of original documents, because paper documents are easily damped or afraid of fire, not easy to back up, and require a lot of personnel. and funds to manage the information stored in paper documents, the most important thing is that it is very troublesome to find problems with the data, and it is difficult to modify.
The tools used by the inventory management system include IDEA, Tomcat, Spring Boot framework and MySQL. The system can realize the management of announcement information, employee, supplier type, supplier credit rating, commodity type, announcement type, supplier, commodity, commodity reservation, purchase storage, purchase storage details, customers and other information.
The inventory management system adopts the most popular Internet application thinking to make information processing more efficient, and the processing results are more in line with expectations. As long as it is about data management, whether it is adding or modifying, and data maintenance or even data migration, All can achieve faster and safer requirements.

Key Words:Inventory Management System Commodities Procurement and Warehousing

目 录

1 绪论 1
1.1 选题动因 1
1.2 目的和意义 1
2 开发环境与技术 2
2.1 AJAX技术 2
2.2 JDK简介 2
2.3 MySQL数据库 2
2.5 Spring Boot框架 3
2.6 Vue框架 3
2.8 Navicat简介 3
3 系统分析 4
3.1 可行性分析 4
3.2 系统流程分析 5
3.3 系统性能分析 6
3.4 系统功能分析 7
4 系统设计 9
4.1 布局设计原则 9
4.2 功能结构设计 10
4.3 数据库设计 11
5 系统实现 17
5.1 管理员功能实现 17
5.2 员工功能实现 21
6 系统测试 24
6.1 系统测试方法 24
6.2 功能测试 24
6.3 测试结果分析 25
7 结 论 26
参考文献 27
致 谢 28

1 系统设计

在系统设计环境,业务的处理逻辑和数据的设计逻辑虽然是重中之重,但是这些都是用户看不见摸不着的,用户也只是能看到部署好的项目运行起来的结果,所以用户对界面布局以及界面功能比较看重。所以说,如今只要是开发网站不仅仅是需要懂一点页面设计就行,也需要懂得UI设计的人群。传统的网页设计其实就是换几个颜色,放几张图片,然后来充实操作页面,让操作页面不至于太单调,但是互联网发展至今,开发也越来越精细化,用户越来越挑剔,还用凑合方式来进行程序开发,已经是属于落后的状态了。
4.1 布局设计原则
布局不是传统的把页面分分类,输入和显示页面,调整调整间距这些笼统的说法了,布局设计也是有一定的原则的。
首先,布局一定要清晰合理。布局的清晰不是说图片清晰或者文字清晰,而是说用户在使用过程中,看到导航的布局,就能明白所有功能模块都可以在导航里寻找,打开一个页面,就能知道重要与不重要的资料,必须与不必须的填写,甚至是输入的格式是什么规格,都可以让用户使用的时候一目了然。因为界面是有限的,所以说布局是相当重要的一点设计原则。
其次,布局的体现要符合大众审美,比如说导航,尽量都是网页的上方或者左侧。如果把导航放到网页下方或者右方,这些代码都是可以实现,但是不符合正常人的思维定向。现代人的读写习惯都是从上而下,从左到右的阅读方式,人们身体和心灵已经习惯了这种方式,如果布局到其他方向首先用户会感到新颖,但是却不会买账,因为操作几遍后就会不习惯。
最后,布局也要考虑这个软件是用来做什么的,常用这个软件的人员的年龄划分,性别划分,以及职业划分。划分了使用人群,就可以对背景进行调色填充,如果是长时间用电脑的人群尽量设计的有护眼功能,不至于看一会眼睛就受不了,尽量要区分长时间使用和短时间使用的背景,这一点很重要。
综上所述,系统设计需要考虑方方面面,布局设计也是需要精细化考虑,系统设计需要考虑太多,但是实现却不能弄得操作上太复杂,系统设计尽量的要满足用户需要,提高用户满意度。
4.2 功能结构设计
在基于系统功能分析的基础之上,开始对系统的详细功能进行设计,最终将使用结构图的形式对设计的结果进行展示。
管理员具备的详细功能将参照最终的设计结果,即图4.1所示的管理员功能结构图。其中管理员查看商品库存统计报表,对商品,商品预定信息,供应商信息,商品采购入库信息,客户信息,公告信息,员工信息等进行管理。
在这里插入图片描述

图4.1 管理员功能结构图
员工具备的详细功能将参照最终的设计结果,即图4.2所示的员工功能结构图。其中员工查询商品,添加商品预定信息,添加商品采购入库信息,添加客户信息,查看公告等。
在这里插入图片描述

图4.2 员工功能结构图
4.3 数据库设计
数据库的选用方面肯定要选一个市场反应比较好,性价比比较高的数据库,不能凭空想象数据库,要结合程序设计的需求来选择对应的数据库。目前来讲,市面上常用的关系型数据库足够达到需求。
4.3.1 数据库E-R图设计
想好更好的设计出数据库使用效果,那么就要对数据的存放格式以及存放关系作出调查和梳理,所以通过分析E-R图之间的数据实体关系是最好不过的。而设计数据库E-R图是有下面几点好处:
第一点:数据的冗余是一件很恐怖的事情,所以要对有些数据进行冗余筛选;
第二点:防止内存溢出,数据量太大,需要提前做好预测并且设定好规则;
第三点:数据库一定要完整,非完整数据也只是数据垃圾而已,没有任何作用;
第四点:提高数据检索性能;
这节主要是描述对系统的E-R模型的设计,数据存储格式的判断,实现的方法,用户的需要,这些都要统一,不能想当然。并且各个模型中间的关系尤其要突出。
(1)把出入库信息具备的属性通过属性图进行展示,绘制的属性图见图4.4。
在这里插入图片描述

图4.4 出入库信息实体属性图
(2)把商品具备的属性通过属性图进行展示,绘制的属性图见图4.5。
在这里插入图片描述

图4.5 商品实体属性图
(3)把员工具备的属性通过属性图进行展示,绘制的属性图见图4.6。
在这里插入图片描述

图4.6 员工实体属性图
(4)把管理员具备的属性通过属性图进行展示,绘制的属性图见图4.7。
在这里插入图片描述

图4.7 管理员实体属性图
(5)上述实体间关系见图4.8。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库表结构设计
数据库设计必须符合规范,那就是三大范式,这样能确保数据的合理:
第一范式:保证表之间的字段关系不存在混淆的描述,必须描述准确,并且单一,不能分解;
第二范式:在上述的满足条件上,主键的设计必须要在固定的列上,不能忽前忽后;
第三范式:继续满足上个条件,保证每个字段都可以根据主键获取到,并且在一个数据表里体现。
所以说,三个范式是一脉相承的,不是说零碎的,从第一个范式上就会发现,第一个永远是基础,后面的设定就是后者的实现必须在前面范式的基础之上的要求,这些设计可以最大化的减少数据冗余,提高数据库运行效率。
表4.1 员工信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账号 varchar(200) 是
password 密码 varchar(200) 是
yonghu_name 员工姓名 varchar(200) 是
yonghu_photo 头像 varchar(255) 是
sex_types 性别 int(11) 是
yonghu_phone 联系方式 varchar(200) 是
yonghu_email 邮箱 varchar(200) 是
yonghu_delete 假删 int(11) 是
insert_time 添加时间 timestamp 是
create_time 创建时间 timestamp 是
表4.2 供应商信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
gongyinghsang_name 供应商名称 varchar(200) 是
gongyinghsang_types 供应商类型 int(11) 是
gongyinghsang_xinyong_types 供应商信用等级名称 int(11) 是
insert_time 添加时间 timestamp 是
gongyinghsang_content 供应商详情 text 是
create_time 创建时间 timestamp 是
表4.3 商品信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_name 商品名字 varchar(200) 是
goods_types 商品类型 int(11) 是
goods_kucun_number 商品库存 int(11) 是
gongyinghsang_id 供应商 int(11) 是
cangku_types 存储仓库 int(11) 是
danwei 单位 varchar(200) 是
goods_new_money 单价 decimal(10,2) 是
goods_content 商品详情 text 是
create_time 创建时间 timestamp 是
表4.4 出入库信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_churu_inout_uuid_number 出入库流水号 varchar(200) 是
goods_churu_inout_name 出入库名称 varchar(200) 是
goods_churu_inout_types 出入库类型 int(11) 是
goods_churu_inout_content 备注 text 是
insert_time 添加时间 timestamp 是
create_time 创建时间 timestamp 是
表4.5 出入库详情信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_churu_inout_id 出入库 int(11) 是
goods_id 商品 int(11) 是
goods_churu_inout_list_number 操作数量 int(11) 是
insert_time 操作时间 timestamp 是
create_time 创建时间 timestamp 是
表4.6 商品预定信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
goods_id 商品 int(11) 是
kehu_id 客户 int(11) 是
yonghu_id 员工 int(11) 是
goods_order_danhao_number 单号 varchar(200) 是
goods_order_number 预定数量 int(11) 是
goods_order_time 预定时间 timestamp 是
goods_order_types 预定状态 int(11) 是
goods_order_content 备注 text 是
create_time 创建时间 timestamp 是
表4.7 客户信息表
字段 注释 类型 空
id (主键) 主键 int(11) 否
kehu_name 客户姓名 varchar(200) 是
kehu_phone 客户联系方式 varchar(200) 是
sex_types 性别 int(11) 是
kehu_order_content 客户详情 text 是
create_time 创建时间 timestamp 是

表4.8 公告信息
字段 注释 类型 空
id (主键) 主键 int(11) 否
news_name 公告标题 varchar(200) 是
news_types 公告类型 int(11) 是
news_photo 公告图片 varchar(200) 是
insert_time 添加时间 timestamp 是
news_content 公告详情 text 是
create_time 创建时间 timestamp 是
表4.9 管理员信息表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否

2 系统实现

下面主要是对系统实现的功能进行描述,一般在系统实现阶段只算是一个粗略的功能实现,可能符合开发人员的设计预期,但是对于具体使用者来讲还是需要其他人进行发现的,所以这个环节是很有必要进行描述的。
5.1 管理员功能实现
5.1.1 供应商管理
实现供应商管理功能,其界面运行的效果图见图5.1。供应商信息有供应商类型,供应商信用等级名称,供应商名称等信息,管理员需要新增供应商,发现登记错误数据的供应商信息可以使用修改功能及时更改,需要删除的供应商信息可以使用删除功能删除。
在这里插入图片描述

图5.1 供应商管理界面
5.1.2 商品管理
实现商品管理功能,其界面运行的效果图见图5.2。商品信息有商品类型,存储仓库,单位,单价,供应商名称等信息,管理员新增商品信息,使用修改功能对有错误数据的商品信息进行更改,需要删除的商品信息可以使用删除功能删除。
在这里插入图片描述

图5.2 商品管理界面
5.1.3 商品统计报表
实现商品统计报表功能,其界面运行的效果图见图5.3。管理员通过柱形图可以查看各个商品的库存数据,管理员可以切换柱形图统计报表为折线图,可以下载商品库存的统计报表图片。
在这里插入图片描述

图5.3 商品统计报表界面
5.1.4 商品预定管理
实现商品预定管理功能,其界面运行的效果图见图5.4。商品预定信息有预定数量,客户姓名,员工姓名,预定的商品,预定时间等信息。商品预定信息可以让管理员新增,需要删除的商品预定信息可以使用删除功能删除。
在这里插入图片描述

图5.4 商品预定管理界面
5.1.5 采购入库管理
实现采购入库管理功能,其界面运行的效果图见图5.5。采购入库信息包括采购入库名称,采购入库流水号等信息,采购入库信息也允许管理员新增,需要删除的采购入库信息也能够使用删除功能删除。管理员查询采购入库信息需要提供的查询条件是采购入库名称。
在这里插入图片描述

图5.5 采购入库管理界面
5.1.6 公告信息管理
实现公告信息管理功能,其界面运行的效果图见图5.6。公告信息有公告类型,公告图片等信息,公告信息允许管理员新增,发现有错误数据的公告信息可以使用修改功能更正,需要删除的公告也能使用删除功能删除。
在这里插入图片描述

图5.6 公告信息管理界面
5.1.7 客户管理
实现客户管理功能,其界面运行的效果图见图5.7。客户信息有客户姓名,客户联系方式,客户性别等信息,管理员也能新增客户信息,客户信息存在数据登记错误的情况,管理员可以使用修改功能更改,需要删除的客户信息可以使用删除功能删除。对于客户信息的查询,需要管理员提供客户姓名,提供客户联系方式等。
在这里插入图片描述

图5.7 客户管理界面
5.2 员工功能实现
5.2.1 商品管理
实现商品管理功能,其界面运行的效果图见图5.8。员工查看商品存储仓库,查看商品库存,查看商品单价等信息,员工查询商品有很多种方式,可以根据商品名字,商品类型,存储仓库,单价,供应商名称等信息来查询商品。
在这里插入图片描述

图5.8 商品管理界面

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值