基于springboot的仓库管理系统
创始人
2024-05-20 07:49:30
0次

博主主页:猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

该系统采用Java语言,使用springboot技术,mysql数据库,具有完整的业务逻辑。适合选题:仓库、仓库管理、仓库维护、仓库数据统计等,

系统包含技术:

后端:SpringBoot+MyBatisPlus、shiro
前端:Layui,js,css等
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是登陆页面

 登陆后进入首页,可以看到公告信息,还有库存预警信息

客户管理页面

商品管理页面

 供应商管理

 如果库存不够,需要进货

查看退货信息

销售商品查看

部门管理

菜单管理

 系统公告

部分代码:

商品维护

 /*** 查询商品* @param goodsVo* @return*/@RequestMapping("loadAllGoods")public DataGridView loadAllGoods(GoodsVo goodsVo){IPage page = new Page(goodsVo.getPage(),goodsVo.getLimit());QueryWrapper 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());queryWrapper.orderByDesc("id");goodsService.page(page,queryWrapper);List records = page.getRecords();for (Goods goods : records) {Provider provider = providerService.getById(goods.getProviderid());if (null!=provider){goods.setProvidername(provider.getProvidername());}}return new DataGridView(page.getTotal(),page.getRecords());}/*** 添加商品* @param goodsVo* @return*/@RequestMapping("addGoods")public ResultObj addGoods(GoodsVo goodsVo){try {System.out.println("====================================");System.out.println(goodsVo.getGoodsimg());if (goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().endsWith("_temp")){String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());goodsVo.setGoodsimg(newName);}goodsService.save(goodsVo);return ResultObj.ADD_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.ADD_ERROR;}}/*** 修改商品* @param goodsVo* @return*/@RequestMapping("updateGoods")public ResultObj updateGoods(GoodsVo goodsVo){try {//商品图片不是默认图片if (!(goodsVo.getGoodsimg()!=null&&goodsVo.getGoodsimg().equals(Constast.DEFAULT_IMG_GOODS))){if (goodsVo.getGoodsimg().endsWith("_temp")){String newName = AppFileUtils.renameFile(goodsVo.getGoodsimg());goodsVo.setGoodsimg(newName);//删除原先的图片String oldPath = goodsService.getById(goodsVo.getId()).getGoodsimg();AppFileUtils.removeFileByPath(oldPath);}}goodsService.updateById(goodsVo);return ResultObj.UPDATE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.UPDATE_ERROR;}}/*** 删除商品* @param id 商品id* @return*/@RequestMapping("deleteGoods")public ResultObj deleteGoods(Integer id,String goodsimg){try {//删除商品的图片AppFileUtils.removeFileByPath(goodsimg);
//            goodsService.removeById(id);goodsService.deleteGoodsById(id);return ResultObj.DELETE_SUCCESS;} catch (Exception e) {e.printStackTrace();return ResultObj.DELETE_ERROR;}}/*** 加载所有可用的商品* @return*/@RequestMapping("loadAllGoodsForSelect")public DataGridView loadAllGoodsForSelect(){QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.eq("available",Constast.AVAILABLE_TRUE);List list = goodsService.list(queryWrapper);for (Goods goods : list) {Provider provider = providerService.getById(goods.getProviderid());if (null!=provider){goods.setProvidername(provider.getProvidername());}}return new DataGridView(list);}/*** 根据供应商ID查询商品信息* @param providerid    供应商ID* @return*/@RequestMapping("loadGoodsByProviderId")public DataGridView loadGoodsByProviderId(Integer providerid){QueryWrapper queryWrapper = new QueryWrapper();queryWrapper.eq("available",Constast.AVAILABLE_TRUE);queryWrapper.eq(providerid!=null,"providerid",providerid);List list = goodsService.list(queryWrapper);for (Goods goods : list) {Provider provider = providerService.getById(goods.getProviderid());if (null!=provider){goods.setProvidername(provider.getProvidername());}}return new DataGridView(list);}@RequestMapping("loadAllWarningGoods")public DataGridView loadAllWarningGoods(){List goods = goodsService.loadAllWarning();return new DataGridView((long) goods.size(),goods);}

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...