SSM+jsp实现仓库管理系统,界面那叫一个优雅

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 🍅程序员小王的博客:程序员小王的博客🍅 欢迎点赞 👍 收藏 ⭐留言 📝🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕🍅java自学的学习路线:java自学的学习路线

一、前言

今天给大家分享一个合适大学生学习的SSM+jsp实现仓库管理系统!


使用Spring+SpringMVC+Mybatis+maven+tomcat实现仓库管理系统,界面非常的漂亮!


随着计算机的发展,生活中仅仅依靠人工管理商场里面大量的的商品会浪费大部分的人力物力,还会造成较高的人工失误,所以有必要开发一个商场库存管理系统来很大程度上减少失误和不必要的浪费。实现信息数字化管理,提高管理效率,降低经营成本。利用商场库存管理系统可以提高商场的运营,提高总体效率


仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着计算机技术的发展,如何快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库査询统计、出库操作、出库查询统计、库存查询统计等处理情況。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。


使用技术

二、数据库设计

数据库选择的是mysql8

1、数据库关系图

0.jpeg



2、库管理管理系统数据库表设计文档

数据库名: wms_db

文档版本: V1.0.0

文档描述: 仓库管理管理系统数据库表设计描述

image.png



表名: wms_access_record

说明:

数据列:

image.png


表名: wms_action

说明:

数据列:

image.png


表名: wms_customer


# 创建客户信息表
create table wms_customer
(
  CUSTOMER_ID int not null auto_increment,
    CUSTOMER_NAME varchar(30) not null,
    CUSTOMER_PERSON varchar(10) not null,
    CUSTOMER_TEL varchar(20) not null,
    CUSTOMER_EMAIL varchar(20) not null,
    CUSTOMER_ADDRESS varchar(30) not null,
    primary key(CUSTOMER_ID)
 )engine=innodb;

image.png


表名: wms_goods

# 创建客户信息表
create table wms_customer
(
  CUSTOMER_ID int not null auto_increment,
    CUSTOMER_NAME varchar(30) not null,
    CUSTOMER_PERSON varchar(10) not null,
    CUSTOMER_TEL varchar(20) not null,
    CUSTOMER_EMAIL varchar(20) not null,
    CUSTOMER_ADDRESS varchar(30) not null,
    primary key(CUSTOMER_ID)
 )engine=innodb;

image.png


表名: wms_operation_record


说明:


数据列:

image.png


表名: wms_record_in


# 创建入库记录表
create table wms_record_in
(
  RECORD_ID int not null auto_increment,
    RECORD_SUPPLIERID int not null,
    RECORD_GOODID int not null,
    RECORD_NUMBER int not null,
    RECORD_TIME datetime not null,
    RECORD_PERSON varchar(10) not null,
    RECORD_REPOSITORYID int not null,
    primary key(RECORD_ID),
    foreign key(RECORD_SUPPLIERID) references wms_supplier(SUPPLIER_ID),
    foreign key(RECORD_GOODID) references wms_goods(GOOD_ID),
    foreign key(RECORD_REPOSITORYID) references wms_respository(REPO_ID)
)engine=innodb;

image.png


表名: wms_record_out

# 创建出库记录表
create table wms_record_out
(
  RECORD_ID int not null auto_increment,
    RECORD_CUSTOMERID int not null,
    RECORD_GOODID int not null,
    RECORD_NUMBER int not null,
    RECORD_TIME datetime not null,
    RECORD_PERSON varchar(10) not null,
    RECORD_REPOSITORYID int not null,
    primary key(RECORD_ID),
    foreign key(RECORD_CUSTOMERID) references wms_customer(CUSTOMER_ID),
    foreign key(RECORD_GOODID) references wms_goods(GOOD_ID),
    foreign key(RECORD_REPOSITORYID) references wms_respository(REPO_ID)
)engine=innodb;

image.png


image.png


表名: wms_record_storage


# 创建库存记录表
create table wms_record_storage
(
  RECORD_GOODID int not null auto_increment,
    RECORD_REPOSITORY int not null,
    RECORD_NUMBER int not null,
    primary key(RECORD_GOODID, RECORD_REPOSITORY),
    foreign key (RECORD_GOODID) references wms_goods(GOOD_ID),
    foreign key (RECORD_REPOSITORY) references wms_respository(REPO_ID)
)engine=innodb;

image.png


表名: wms_repo_admin


# 创建仓库管理员信息表
 create table wms_repo_admin
 (
  REPO_ADMIN_ID int not null auto_increment,
    REPO_ADMIN_NAME varchar(10) not null,
    REPO_ADMIN_SEX varchar(10) not null,
    REPO_ADMIN_TEL varchar(20) not null,
    REPO_ADMIN_ADDRESS varchar(30) not null,
    REPO_ADMIN_BIRTH datetime not null,
    REPO_ADMIN_REPOID int,
    primary key(REPO_ADMIN_ID),
    foreign key (REPO_ADMIN_REPOID) references wms_respository(REPO_ID)
)engine=innodb;

image.png


表名: wms_respository

# 创建仓库信息表
 create table wms_respository
 (
  REPO_ID int not null auto_increment,
    REPO_ADDRESS varchar(30) not null,
    REPO_STATUS varchar(20) not null,
    REPO_AREA varchar(20) not null,
    REPO_DESC varchar(50),
    primary key(REPO_ID)
 )engine=innodb;

image.png


表名: wms_role_action


 创建URL权限表
create table wms_action
(
  ACTION_ID int not null auto_increment,
    ACTION_NAME varchar(30) not null,
    ACTION_DESC varchar(30),
    ACTION_PARAM varchar(50) not null,
    primary key(ACTION_ID)
)engine=innodb;

image.png


表名: wms_roles


# 创建用户角色表
create table wms_roles
(
  ROLE_ID int not null auto_increment,
    ROLE_NAME varchar(20) not null,
    ROLE_DESC varchar(30),
    ROLE_URL_PREFIX varchar(20) not null,
    primary key(ROLE_ID)
)engine=innodb;

image.png


表名: wms_supplier

# 创建供应商信息表
create table wms_supplier
(
  SUPPLIER_ID int not null auto_increment,
    SUPPLIER_NAME varchar(30) not null,
    SUPPLIER_PERSON varchar(10) not null,
    SUPPLIER_TEL varchar(20) not null,
    SUPPLIER_EMAIL varchar(20) not null,
    SUPPLIER_ADDRESS varchar(30) not null,
    primary key(SUPPLIER_ID)
)engine=innodb;

image.png

表名: wms_user


# 创建系统用户信息表
create table wms_user
(
  USER_ID int not null auto_increment,
    USER_USERNAME varchar(30) not null,
    USER_PASSWORD varchar(40) not null,
    USER_FIRST_LOGIN int not null,
    primary key (USER_ID)
)engine=innodb;

image.png


表名: wms_user_role


说明:


数据列:

image.png


三、项目功能演示

使用技术

Apache POI

MyBatis

Spring Framework

Spring MVC

Apache Shiro

Ehcache

Apache Commons

Log4j

Slf4j

Jackson

C3P0

Junit

MySQL-Connector

jQuery

Bootstrap

1、仓库管理功能

系统操作权限管理。系统提供基本的登入登出功能,同时系统包含两个角色:系统超级管理员和普通管理员,超级管理员具有最高的操作权限,而普通管理员仅具有最基本的操作权限,而且仅能操作自己被指派的仓库。

请求URL鉴权。对于系统使用者登陆后进行操作发送请求的URL,后台会根据当前用户的角色判断是否拥有请求该URL的权限。


基础数据信息管理。对包括:货物信息、供应商信息、客户信息、仓库信息在内的基础数据信息进行管理,提供的操作有:添加、删除、修改、条件查询、导出为Excel和到从Excel导入。


仓库管理员管理。对仓库管理员信息CRUD操作,或者为指定的仓库管理员指派所管理的仓库。上述中的仓库管理员可以以普通管理员身份登陆到系统。


库存信息管理。对库存信息的CRUD操作,导入导出操作,同时查询的时候可以根据仓库以及商品ID等信息进行多条件查询。


基本仓库事务操作。执行货物的入库与出库操作。


系统登陆日志查询。超级管理员可以查询某一用户在特定时间段内的系统登陆日志。


系统操作日志查询。超级管理员可以查询某一用户在特定时间段内对系统进行操作的操作记录。


密码修改。


2、登录功能实现

数据库的密码使用MD5加密

// 用户密码(wms_user.USER_PASSWORD)加密规则
String tempStr = MD5Util.MD5("123456");// 第一次对密码进行加密
String encryptPassword = MD5Util.MD5(tempStr + "1001");// 第二次对密码进行加密
//存入数据库的加密密码
System.out.println(encryptPassword);

2.png


3、仓库管理系统截图

演示视频:



SSM+jsp实现仓库管理系统


项目截图


3.png


登录页面

4.png


仓库首页5.png

库存查询

6.png


出入库查询记录

15.png


出入库管理

14.png


仓库管理员增删改查

13.png


供应商管理

12.png


客户信息管理

11.png


货物信息管理

7.png


仓库信息管理

8.png


修改密码


9.png

系统日志

10.png

四、项目源码下载

项目源码+数据库的下载地址:https://download.csdn.net/download/weixin_44385486/85909953

1.png

相关文章
|
4月前
|
Java 数据安全/隐私保护
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
该博客文章通过JavaBean组件和JSP动作元素`<jsp:forward>`与`<jsp:param>`的使用示例,演示了用户登录流程,包括登录信息的提交、验证以及根据验证结果进行的页面跳转。
JavaBean组件<jsp:forward>动作<jsp:param>动作登录页面输入用户名和密码,然后进入检查页面判断是否符合要求,符合要求跳转到成功界面,不符合要求返回登录界面,显示错误信息。
|
7月前
|
Java
新闻发布项目——后台JSP界面adminManage/addNews.jsp
新闻发布项目——后台JSP界面adminManage/addNews.jsp
|
7月前
|
Java
新闻发布项目——后台JSP界面adminManage/editNews.jsp
新闻发布项目——后台JSP界面adminManage/editNews.jsp
|
7月前
|
Java
新闻发布项目——后台JSP界面adminManage/manageTopic.jsp
新闻发布项目——后台JSP界面adminManage/manageTopic.jsp
|
22天前
|
前端开发 Oracle 关系型数据库
关于使用SSM+JSP开发时setter、getter隐式调用问题的小结
本文主要分享了在使用SSM+JSP进行网站开发时,因忽视setter、getter的隐式调用问题而导致的常见bug及其解决方法。详细介绍了setter和getter的隐式调用时机,并给出了具体示例,帮助开发者避免类似问题。
42 11
|
2月前
|
Java 数据安全/隐私保护
【JSP模式二】用户登录界面模块开发
【JSP模式二】用户登录界面模块开发
24 0
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的仓库管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的仓库管理系统附带文章和源代码部署视频讲解等
41 1
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的自习室座位管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的自习室座位管理系统附带文章和源代码部署视频讲解等
43 0
基于ssm+vue.js+uniapp小程序的自习室座位管理系统附带文章和源代码部署视频讲解等
|
6月前
|
前端开发 测试技术 开发工具
基于SSM+JSP实现学生信息管理系统
基于SSM+JSP实现学生信息管理系统
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的农机配件仓库管理系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的农机配件仓库管理系统附带文章和源代码部署视频讲解等
33 0