基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅


一、项目背景介绍:

仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理 费用的增加,服务质量难以得到保证,从而影响企业的竞争力。传统简单、静态 的仓储管理已无法保证企业各种资源的高效利用。如今的仓库作 业和库存控制 作 仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
  3. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
  4. shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
  5. layui:layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,常适合网页界面的快速开发。layui 区别于那些基于MVVM 底层的前端框架,它更多是面向后端开发者,无需涉足前端各种工具,只需面对浏览器本身,让一切所需要的元素与交互。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

  1. bus_customer(bus_customer)
字段名类型默认值列注释
idint(11)NULL
customernamevarchar(255)NULL
zipvarchar(255)NULL
addressvarchar(255)NULL
telephonevarchar(255)NULL
connectionpersonvarchar(255)NULL
phonevarchar(255)NULL
bankvarchar(255)NULL
accountvarchar(255)NULL
emailvarchar(255)NULL
faxvarchar(255)NULL
availableint(11)NULL
  1. bus_goods(bus_goods)
字段名类型默认值列注释
idint(11)NULL
goodsnamevarchar(255)NULL
produceplacevarchar(255)NULL
sizevarchar(255)NULL
goodspackagevarchar(255)NULL
productcodevarchar(255)NULL
promitcodevarchar(255)NULL
descriptionvarchar(255)NULL
pricedoubleNULL
numberint(11)NULL
dangernumint(11)NULL
goodsimgvarchar(255)NULL
availableint(11)NULL
provideridint(11)NULL
  1. bus_inport(bus_inport)
字段名类型默认值列注释
idint(11)NULL
paytypevarchar(255)NULL
inporttimedatetime(0)NULL
operatepersonvarchar(255)NULL
numberint(11)NULL
remarkvarchar(255)NULL
inportpricedoubleNULL
provideridint(11)NULL
goodsidint(11)NULL
  1. bus_outport(bus_outport)
字段名类型默认值列注释
idint(11)NULL
provideridint(11)NULL
paytypevarchar(255)NULL
outputtimedatetime(0)NULL
operatepersonvarchar(255)NULL
outportpriceVARCHAR(255)NULL
  1. bus_provider(bus_provider)
字段名类型默认值列注释
idint(11)NULL
providernamevarchar(255)NULL
zipvarchar(255)NULL
addressvarchar(255)NULL
telephonevarchar(255)NULL
connectionpersonvarchar(255)NULL
phonevarchar(255)NULL
bankvarchar(255)NULL
accountvarchar(255)NULL
emailvarchar(255)NULL
faxvarchar(255)NULL
availableint(11)NULL
  1. bus_sales(bus_sales)
字段名类型默认值列注释
idint(11)NULL
customeridint(11)NULL
paytypevarchar(255)NULL
salestimedatetime(0)NULL
operatepersonvarchar(255)NULL
numberint(11)NULL
remarkvarchar(255)NULL
salepriceVARCHAR(255)NULL
  1. bus_salesback(bus_salesback)
字段名类型默认值列注释
idint(11)NULL
customeridint(11)NULL
paytypevarchar(255)NULL
salesbacktimedatetime(0)NULL
salebackpriceVARCHAR(255)NULL
  1. sys_dept(sys_dept)
字段名类型默认值列注释
idint(11)NULL
pidint(11)NULL
titlevarchar(255)NULL
openint(11)NULL
remarkvarchar(255)NULL
addressvarchar(255)NULL
availableint(11)NULL状态【0不可用1可用】
ordernumint(11)NULL排序码【为了调事显示顺序】
createtimedatetime(0)NULL
  1. sys_loginfo(sys_loginfo)
字段名类型默认值列注释
idint(11)NULL
loginnamevarchar(255)NULL
loginipvarchar(255)NULL
logintimedatetime(0)NULL
  1. sys_notice(sys_notice)
字段名类型默认值列注释
idint(11)NULL
titlevarchar(255)NULL
contenttextNULL
createtimedatetime(0)NULL
opernamevarchar(255)NULL
  1. sys_permission(sys_permission)
字段名类型默认值列注释
idint(11)NULL
pidint(11)NULL
typevarchar(255)NULL权限类型[menu/permission]
titlevarchar(255)NULL
percodevarchar(255)NULL权限编码[只有type=permission才有user:view]
iconvarchar(255)NULL
hrefvarchar(255)NULL
targetvarchar(255)NULL
openint(11)NULL
ordernumint(11)NULL
availableint(11)NULL状态【0不可用1可用】
  1. sys_role(sys_role)
字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
remarkvarchar(255)NULL
availableint(11)NULL
createtimedatetime(0)NULL
  1. sys_role_permission(sys_role_permission)
字段名类型默认值列注释
ridint(11)NULL
pidint(11)NULL
  1. sys_user(sys_user)
字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
loginnamevarchar(255)NULL
addressvarchar(255)NULL
sexint(11)NULL
remarkvarchar(255)NULL
pwdvarchar(255)NULL
deptidint(11)NULL
hiredatedatetime(0)NULL
mgrint(11)NULL
availableint(11)NULL
ordernumint(11)NULL
typeint(255)NULL用户类型[0超级管理员1,管理员,2普通用户]
imgpathvarchar(255)NULL头像地址
saltvarchar(255)NULL

五、功能模块:

  1. 客户管理:客户管理主要存储一些仓库客户的一些基本信息,包括各种条件模糊查询,删除,编辑等功能

    客户管理

  2. 供应商管理:存款仓库系统中所有的供应商信息
    在这里插入图片描述

  3. 商品管理:此模块主要对仓库中所有商品的管理,包括商品添加,删除修改等

在这里插入图片描述

  1. 销售额统计模块:主要对商品的入库,出库金额进行统计,从而形成销售额的图表,以供管理员查看

    销售额统计模块

六、代码示例:

客户管理
@RequestMapping("loadAllCustomer")
	public DataGridView loadAllCustomer(CustomerVo customerVo) {
		IPage<Customer> page = new Page<>(customerVo.getPage(), customerVo.getLimit());
		QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();
		queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()), "customername",
				customerVo.getCustomername());
		queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()), "phone", customerVo.getPhone());
		queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionperson()), "connectionperson",
				customerVo.getConnectionperson());
		this.customerService.page(page, queryWrapper);
		return new DataGridView(page.getTotal(), page.getRecords());
	}
供应商管理
/**
	 * 加载所有可用的供应商
	 */
	@RequestMapping("loadAllProviderForSelect")
	public DataGridView loadAllProviderForSelect() {
		QueryWrapper<Provider> queryWrapper=new QueryWrapper<>();
		queryWrapper.eq("available", Constast.AVAILABLE_TRUE);
		List<Provider> list = this.providerService.list(queryWrapper);
		return new DataGridView(list);
	}
商品管理
@RequestMapping("loadAllGoods")
	public DataGridView loadAllGoods(GoodsVo goodsVo) {
		IPage<Goods> page = new Page<>(goodsVo.getPage(), goodsVo.getLimit());
		QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq(goodsVo.getProviderid()!=null&&goodsVo.getProviderid()!=0,"providerid",goodsVo.getProviderid());
		queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()), "goodsname", goodsVo.getGoodsname());
		queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()), "productcode", goodsVo.getProductcode());
		queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()), "promitcode", goodsVo.getPromitcode());
		queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()), "description", goodsVo.getDescription());
		queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()), "size", goodsVo.getSize());
		this.goodsService.page(page, queryWrapper);
		List<Goods> records = page.getRecords();
		for (Goods goods : records) {
			Provider provider = this.providerService.getById(goods.getProviderid());
			if(null!=provider) {
				goods.setProvidername(provider.getProvidername());
			}
		}
		return new DataGridView(page.getTotal(), records);
	}
销售额统计模块
	@RequestMapping("loadAllOutport")
	public DataGridView loadAllOutport(OutportVo outportVo) {
		IPage<Outport> page = new Page<>(outportVo.getPage(), outportVo.getLimit());
		QueryWrapper<Outport> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq(outportVo.getProviderid()!=null&&outportVo.getProviderid()!=0,"providerid",outportVo.getProviderid());
		queryWrapper.eq(outportVo.getGoodsid()!=null&&outportVo.getGoodsid()!=0,"goodsid",outportVo.getGoodsid());
		queryWrapper.ge(outportVo.getStartTime()!=null, "outputtime", outportVo.getStartTime());
		queryWrapper.le(outportVo.getEndTime()!=null, "outputtime", outportVo.getEndTime());
		queryWrapper.like(StringUtils.isNotBlank(outportVo.getOperateperson()), "operateperson", outportVo.getOperateperson());
		queryWrapper.like(StringUtils.isNotBlank(outportVo.getRemark()), "remark", outportVo.getRemark());
		queryWrapper.orderByDesc("outputtime");
		this.outportService.page(page, queryWrapper);
		List<Outport> records = page.getRecords();
		for (Outport outport : records) {
			Provider provider = this.providerService.getById(outport.getProviderid());
			if(null!=provider) {
				outport.setProvidername(provider.getProvidername());
			}
			Goods goods = this.goodsService.getById(outport.getGoodsid());
			if(null!=goods) {
				outport.setGoodsname(goods.getGoodsname());
				outport.setSize(goods.getSize());
			}
		}
		return new DataGridView(page.getTotal(), records);
	}

七、项目总结:

 对于本次的系统开发来看,它主要是把我以前所学的知识进行了一次综合的应用。经过这次毕业设计的制作它主要是把我以前所学的理论知识应用到社会实践当中。通过这一次的仓库管理平台网站的设计与实现它能够有效把计算机知识与实际问题相互应用,通过计算机网络技术来解决用户生活当中的实际问题,从而提高我的编程能力。虽然在这次毕业设计当中我遇到了很多的问题和困难,但是通过不断的调试和老师的帮助让我圆满的完成了这次毕业设计。通过这次毕业设计的制作让我对计算机实际应用得到了很强的锻炼,同时也大大的提高了我的动手动脑能力,让我也感受到了其中的乐趣和喜悦。通过这次毕业设计的撰写把我在大学期间所学到的东西都应用上了,但是我觉得还是微不足道的,因为在这次毕业设计当中让我深深的了解到对于软件开发和学习理论知识它是两个完全不同的概念。但是通过这次软件的开发让我在以后的工作当中打下了良好的基础。

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

链接点击直达:下载链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值