一、前言
今天给大家分享一个合适大学生学习的SSM+jsp实现仓库管理系统!
使用Spring+SpringMVC+Mybatis+maven+tomcat实现仓库管理系统,界面非常的漂亮!
随着计算机的发展,生活中仅仅依靠人工管理商场里面大量的的商品会浪费大部分的人力物力,还会造成较高的人工失误,所以有必要开发一个商场库存管理系统来很大程度上减少失误和不必要的浪费。实现信息数字化管理,提高管理效率,降低经营成本。利用商场库存管理系统可以提高商场的运营,提高总体效率
仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着计算机技术的发展,如何快速,高效,便捷的管理仓库受到了高度的关注。本系统模拟仓库管理,系统主要针对于日常库存信息的管理,包括物资管理、仓库管理、入库操作、入库査询统计、出库操作、出库查询统计、库存查询统计等处理情況。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。通过仓库管理系统的设计与实现,使我们巩固和加深对数据库基础理论和基本知识的理解,进一步掌握了使用数据库进行软件设计的基本思想和方法,提高了运用数据库理论解决实际问题的能力,锻炼了实际动手能力、创新能力,培养了调查研究、查阅技术文献、资料、手册以及编写文档的能力。
使用技术
二、数据库设计
数据库选择的是mysql8
1、数据库关系图
2、库管理管理系统数据库表设计文档
数据库名: wms_db
文档版本: V1.0.0
文档描述: 仓库管理管理系统数据库表设计描述
表名: wms_access_record
说明:
数据列:
表名: wms_action
说明:
数据列:
表名: 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;
表名: 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;
表名: wms_operation_record
说明:
数据列:
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: 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;
表名: wms_user_role
说明:
数据列:
三、项目功能演示
使用技术
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);
3、仓库管理系统截图
演示视频:
SSM+jsp实现仓库管理系统
项目截图
登录页面
仓库首页
库存查询
出入库查询记录
出入库管理
仓库管理员增删改查
供应商管理
客户信息管理
货物信息管理
仓库信息管理
修改密码
系统日志
四、项目源码下载
项目源码+数据库的下载地址:https://download.csdn.net/download/weixin_44385486/85909953