Java项目:springboot仓库管理系统

作者主页:源码空间站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 {

    @Autowired
    private IGoodsService goodsService;

    @Autowired
    private IProviderService providerService;

    /**
     * 查询商品
     * @param goodsVo
     * @return
     */
    @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());
        queryWrapper.orderByDesc("id");
        goodsService.page(page,queryWrapper);
        List<Goods> 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<Goods> queryWrapper = new QueryWrapper<Goods>();
        queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
        List<Goods> 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<Goods> queryWrapper = new QueryWrapper<Goods>();
        queryWrapper.eq("available",Constast.AVAILABLE_TRUE);
        queryWrapper.eq(providerid!=null,"providerid",providerid);
        List<Goods> 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

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: Spring Boot仓库管理系统是一个基于Spring Boot框架开发的系统,用于管理和跟踪仓中的存储物资。该系统主要包括仓物资管理、进出管理、存管理等功能。 仓物资管理是系统的核心功能之一,它包括物资的录入、编辑和删除等操作。管理员可以通过系统录入新的物资信息,并填写物资的名称、型号、规格、数量等详细信息。物资信息被存储在数据中,方便日后的查询和使用。 进出管理是仓库管理系统的重要功能之一,它主要处理物资的出入操作。当物资需要从仓中出时,管理员可以在系统中选择要出的物资,并填写出数量和出人员等信息。系统会自动更新物资的存数量,并记录下出的时间和相关信息。同样,当物资需要入时,管理员也可以在系统中进行入操作,包括选择入的物资和填写入数量等信息。 存管理是仓库管理系统中的重要环节,它可以实时跟踪和统计仓中物资的存情况。系统会根据出入操作自动更新物资的存数量,并提供存盘点功能,方便管理员随时了解仓中物资的实际情况。同时,系统也可以生成存报表,帮助管理员进行存分析和管理决策。 除了以上主要功能外,Spring Boot仓库管理系统还提供权限管理、用户管理、日志记录等辅助功能。权限管理可以根据用户的角色和权限进行不同级别的访问控制,保证系统安全性。用户管理可以管理系统中的用户信息,包括添加、编辑和删除用户等。日志记录功能可以记录系统的操作日志,方便管理员追踪和审计系统的使用情况。 总的来说,Spring Boot仓库管理系统提供了方便、高效的仓物资管理解决方案,帮助管理员提高工作效率和准确性。它利用Spring Boot框架的优势,快速开发和部署,同时也可以与其他系统进行集成,实现更多的应用场景。 ### 回答2: Spring Boot仓库管理系统是一个基于Spring Boot框架开发的管理仓存和操作的系统。该系统能够帮助仓管理者轻松地管理仓内的物品信息。 首先,该系统实现了仓物品的基本信息管理功能。管理人员可以通过系统添加、编辑和删除仓内物品的相关信息,如名称、数量、价格等。同时,系统还提供了查找和筛选功能,方便用户快速找到需要的物品。 其次,该系统还具备存管理功能。系统能够实时监控物品的存情况,一旦存低于预设阈值,系统会自动发送报警信息给管理员,确保存充足。此外,系统还能够生成存报表,帮助管理人员了解存情况,做出合理的存补充决策。 另外,该系统还支持仓操作记录的管理。系统会记录每一次物品的入和出操作,包括时间、数量、操作人等信息。这样的记录有助于管理人员追踪物品的流向以及人员操作情况,提高管理的透明度和效率。 最后,该系统还提供了权限管理功能。不同的用户可以拥有不同的权限,例如管理员可以对仓物品进行操作和管理,而普通用户只能进行查看和查询。这样的权限管理有助于提高系统的安全性和管理的规范性。 综上所述,Spring Boot仓库管理系统通过提供仓物品信息管理、存管理、仓操作记录管理以及权限管理等功能,帮助仓管理者实现高效的仓管理和统计,提高仓内物品的流动效率和管理水平。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值