Java项目:springboot仓库管理系统
创始人
2024-04-26 21:25:23
0次

作者主页:源码空间站2022

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

系统概要

仓库管理系统总共分为两个大的模块,分别是系统模块和业务模块。其中系统模块和业务模块底下又有其子模块。
功能模块

一、业务模块

1、客户管理
客户列表
客户分页和模糊查询
客户添加、修改、删除、批量删除
2、供应商管理
供应商列表
供应商分页和模糊查询
供应商添加、修改、删除、批量删除
3、商品管理
商品列表
商品分页和模糊查询
商品添加、修改、删除、商品图片的上传
4、商品进货管理
商品进货列表
商品进货分页和模糊查询
商品进货添加、修改、删除、商品退货
5、商品退货管理
商品退货列表
商品退货分页和模糊查询
商品退货删除
6、商品销售管理
商品销售列表
商品销售分页和模糊查询
商品销售添加、修改、删除、商品销售退货
7、商品销售退货管理
商品销售退货列表
商品销售退货分页和模糊查询
商品销售退货删除

二、系统模块

1、用户登陆
校验用户名、密码以及验证码
登陆成功将登陆信息写入登陆日志
未登录直接访问服务器资源进行拦截
2、菜单管理
全查询菜单和根据左边的树查询不同菜单
菜单的添加、修改、删除
3、角色管理
全查询角色和模糊查询
角色的添加、修改、删除以及给角色分配权限
4、用户管理
全查询用户和模糊查询
用户的添加、修改、删除、重置密码以及给用户分配角色
5、部门管理
全查询部门、模糊查询以及根据左边的树查询不同的部门

部门的添加、修改、删除

开发环境

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 
6.数据库:MySql 5.7 / 8.0版本;

技术选型

后台技术选型

* SpringBoot
* Shiro
* MybatisPlus
前端技术选型
* LayUI、DTree

运行说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

运行截图

代码相关

商品管理控制器

@RestController
@RequestMapping("/goods")
public class GoodsController {@Autowiredprivate IGoodsService goodsService;@Autowiredprivate IProviderService providerService;/*** 查询商品* @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 {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* @return*/@RequestMapping("deleteGoods")public ResultObj deleteGoods(Integer id,String goodsimg){try {//删除商品的图片AppFileUtils.removeFileByPath(goodsimg);goodsService.removeById(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);}}

 如果也想学习本系统,下面领取。回复:006springboot

相关内容

热门资讯

前端-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...