基于Java的智慧仓库数据管理系统设计与实现 您所在的位置:网站首页 java仓库管理系统代码有哪些 基于Java的智慧仓库数据管理系统设计与实现

基于Java的智慧仓库数据管理系统设计与实现

2024-07-07 14:39| 来源: 网络整理| 查看: 265

在这里插入图片描述

基于Java的智慧仓库数据管理系统设计与实现

文章目录 1.适用人群2.你将收获3.项目简介4.技术栈5.环境介绍6.功能设计与展示6.1.鉴权认证6.2.仓库管理6.3.其他管理6.4.我的任务6.5.我的申请6.6.个人信息管理6.7.人员管理 7.项目思路7.1.结构示意图7.2.前后端交互示意图7.3.系统架构图 8.业务功能简述9.数据库设计9.1.数据库模型设计概览9.2.数据库表设计①depository②仓库调度记录(depository_record)③产品信息记录(库存)(material)④material_type⑤notice⑥standing_book⑦transfer_record⑧user 10.源码获取

1.适用人群

本课程主要是针对计算机专业相关正在做毕业设计或者是需要实战项目的Java开发学习者。

2.你将收获 提供:项目源码、项目文档、数据库脚本、软件工具等所有资料从零开始手把手教学部署运行本系统该项目附带的源码资料可作为毕设使用提供技术答疑和远程协助指导,帮助调试并解决后期项目运行问题 3.项目简介

此项目为基于Java的智慧仓库数据管理项目,主要功能是对仓库转入转出等业务进行管理,并对数据进行可视化展示,同时有部分权限管理的功能。实现材料仓库的管理:提供材料出入库管理等实用功能。 材料入库管理:材料检验入库、入库查询、入库类别按月统计;材料出库管理:材料库存查询、材料出库、出库查询、出库类别按月统计; 辅助管理:仓库系统的人员管理、基础表的管理。

4.技术栈

前端:layui、jquery、echarts、thymeleaf模板引擎 后端:mysql、maven、tomcat、mybatis、springMVC、spring、SpringBoot、logback

5.环境介绍 数据库:mysql8.0项目构建:maven数据库连接池:Druid前端框架:layui、jquery、echarts、thymeleaf模板引擎后端框架:SpringBoot、SSM语言:Java编写的IDE:IDEA或者Eclipse 6.功能设计与展示

功能设计概览图 在这里插入图片描述

6.1.鉴权认证

用户登录 在这里插入图片描述 用户注册的时候,输入邮箱后点击发送验证码,服务器会先判断该用户邮箱是否已经被注册,如果没有则会向相应邮箱发送验证码,验证码有效时间默认为5分钟,有则返回提示信息告知用户该邮箱已被注册。 在这里插入图片描述 而输入信息和验证码后系统会进行校验,如果成功就对密码进行MD5加密,然后存入用户信息表中。

6.2.仓库管理

参与出入库申请的角色有三个——发起申请的普通用户,审核申请的审核人,仓库验收的仓管员。 普通用户发起申请(制单)->审核人审核申请->相应仓管员验收货物->入库或出库

用户能发起三种类型的申请——出库,入库,转移

入库申请 在这里插入图片描述

出库申请 在这里插入图片描述 库存转移申请 在这里插入图片描述 入库查询 在这里插入图片描述

入库可视化 在这里插入图片描述

出库查询 在这里插入图片描述 出库可视化 在这里插入图片描述

库存查询 在这里插入图片描述 库存可视化 在这里插入图片描述

6.3.其他管理

材料种类添加 在这里插入图片描述 仓库创建 在这里插入图片描述

6.4.我的任务

此处会显示登录用户的未完成任务和已完成任务。 在这里插入图片描述 点击加载更多会向服务器请求另外所需数据,如果没有则会显示“没有更多了”

点击未完成任务,则会进入审核/验收页面 在这里插入图片描述

审核的话需要指定对应仓库的仓管员负责验收任务,同时写下备注,点击审核通过或者不通过。验收只要写备注以及验收通过或者不通过。

6.5.我的申请

在这里可以查看自己提交的申请 在这里插入图片描述 点击可以查看申请所处的流程阶段,实时查看自己的申请状况。 在这里插入图片描述

6.6.个人信息管理

在这个页面,用户可以查看和修改自己的非敏感信息。 在这里插入图片描述 如果你要对你的绑定邮箱和密码进行修改,则需要进行额外的流程 在这里插入图片描述

6.7.人员管理

系统管理员可以查看对应的人员信息 在这里插入图片描述 可以筛选查询需要的信息 在这里插入图片描述 编辑修改用户信息 在这里插入图片描述 出打印用户信息 在这里插入图片描述

7.项目思路 7.1.结构示意图

在这里插入图片描述

7.2.前后端交互示意图

在这里插入图片描述

前后端的交互都以HTTP请求展开的。有些请求是请求页面的;有些请求是请求静态资源的,如css文件,图片等;有些请求是请求数据的,比如出入库记录。

下面是三层调用的细节示意图 在这里插入图片描述

上图中我们可以直观的看到SSM项目的基本运行流程。

当请求到来时,先会经过拦截器链,拦截器利用反射机制实现了对请求处理和返回的处理,可以利用它来实现鉴权服务和权限控制。

之后请求分发,对应的请求会有对应处理程序来处理,而这就是Controller控制层的工作,而控制层也会调用相应的业务层方法来进行操作或者返回对应的静态资源、页面等。

Service业务层专门处理业务层面的操作,比如入库,出库,出库成功会创建相应的申请记录同时改变库存数据,至于如何改变,如何增加这是数据库层的事情,在这层只需调用对应的Dao层方法即可。而有些操作需要保证失败回滚的机制,所以可以在Service层开启事务功能。

Dao层通常与数据库中的表一一对应,一般都是去实现增删改查,而mybatis框架将sql语句和程序分离,极大简化了我们的开发。

7.3.系统架构图

在这里插入图片描述

8.业务功能简述

在这里插入图片描述

该系统主要的就是模拟仓库出入库的流程,所以我把用户的角色氛围普通用户、审核员、仓管员和系统管理员。

普通用户可以填写出入库申请进行制单,然后相应的审核人进行审核,审核员可以指定该仓库的仓管员进行验收,或者审核不通过;当审核成功,货物成功到达仓库时,仓库员进行验收操作,如果验收通过,则成功入库或者出库,相应的库存信息也发生变化。

系统管理员可以管理网站用户,同时发布网站公告。

9.数据库设计 9.1.数据库模型设计概览

在这里插入图片描述

9.2.数据库表设计 ①depository

在这里插入图片描述

描述: 该表存储仓库的信息,比如仓库名称,仓库地址和仓库介绍

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是仓库id2dnameVARCHAR(255)否是仓库名称3addressVARCHAR(255)否是仓库地址4introduceVARCHAR(255)否是仓库介绍 ②仓库调度记录(depository_record)

描述: 该表记录仓库调度的记录,同时该表也是数据也可以看做一条条申请信息。

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是记录id2application_idINT(10)否否申请编号(暂时无用)3mnameVARCHAR(255)否是产品名称4depository_idINT(10)否是调度的仓库id5typeINT(10)否是0调度记录类型(0出库,1入库)6quantityDOUBLE(22)否否数量7priceDOUBLE(22)否否价格8stateVARCHAR(255)否否状态(待审核/审核未通过,未入库/出库/检验不通过,待验收/已入库/已出库)9applicant_idINT(10)否否申请人id10apply_remarkVARCHAR(255)否否申请备注11apply_timeDATETIME否否申请时间12reviewer_idINT(10)否否审核人id13review_remarkVARCHAR(255)否否审核结果备注14review_timeDATETIME否否审核时间15review_passINT(10)否否审核是否通过,0表示未通过,1表示通过16checker_idINT(10)否否验货人id17check_remarkVARCHAR(255)否否验收备注18check_timeDATETIME否否出入库时间(验货时间)19check_passINT(10)否否验收是否通过 ③产品信息记录(库存)(material)

在这里插入图片描述

描述: 产品信息记录(库存信息)

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是存储id2depository_idINT(10)否否仓库名称3mnameVARCHAR(255)否否材料名称4quantityDOUBLE(22)否否数量5priceDOUBLE(22)否否总金额6type_idINT(10)否否材料种类id ④material_type

描述: 材料种类,我对材料进行了分类,这样统计起来也方便很多,另外建一个表是为了防止以后可能会对材料类型做的补充,同时节省存储空间。

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是类型id2tnameVARCHAR(255)否是类型名称3introduceVARCHAR(255)否否类型介绍 ⑤notice

描述: 公告表,用于存储公告信息

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是公告主键2titleVARCHAR(255)否是公告标题3contentVARCHAR(255)否否公告内容4timeDATETIME否是发布时间 ⑥standing_book

在这里插入图片描述

描述: 台账表,作业要求里有要台账表,但我觉得这和仓库调度表没啥区别,所以这个表我虽然建了,但实际并未使用。

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是台账记录id2typeINT(10)否是0表示调入,1表示调出(外部);2表示调入(退料),3表示调出(领料)(内部调用)3quantityINT(10)否是0数量4priceINT(10)否是0总价5material_nameVARCHAR(255)否是材料名称 ⑦transfer_record

在这里插入图片描述

描述: 转移表,这个是用来关联转移操作的。

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是转移记录id2from_idINT(10)否是转出仓库记录id3to_idINT(10)否是转入仓库记录id ⑧user

在这里插入图片描述

描述: 用户表,这里的密码是经过加密存储的,所以就算黑客破解数据库了,那损失也不会太大。

表结构:

序号字段名数据类型主键非空默认值描述1idINT(10)是是用户id2unameVARCHAR(255)否是用户名称3authorityVARCHAR(255)否否表示权限等级(游客/员工/审核员/仓管员/系统管理员)4pwdVARCHAR(255)否否用户登录密码(数据库存储的是加密后的)5sexVARCHAR(255)否是性别6depository_idINT(10)否否负责仓库,序号表示仓库id,0表示全部仓库7entry_dateDATE否是入职日期8emailVARCHAR(255)否否邮箱9phoneVARCHAR(255)否否手机号 10.源码获取

精彩专栏推荐订阅:在下方专栏👇🏻

Java精品项目源码大全 https://blog.csdn.net/bruceliu_code/category_9538286.html

欢迎大家点赞、收藏、关注、评论啦 、查看下方二维码👇🏻获取联系方式👇🏻 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有