基于Springboot商品进销存管理系统如何实现

一、项目简介

本项目实现了基于springboot的进销存管理系统,主要用户开设网店的相关商品的进货、销售、库存的管理,功能比较完整,有着完备的权限管理系统,可以自行根据需要来设计角色和分配权限,权限的粒度可以做到页面级的权限控制,整个项目来讲比较优秀。主要实现的功能有如下几个模块:

基础管理模块:包含客户管理、供应商管理、商品管理三个子模块

进货管理模块:包含商品进货、退货、商品退货查询几个子查块

销售管理:包含商品销售、退货、销售退货查询几个子查块

系统管理:包含部门管理、菜单管理、权限管理、角色管理、用户管理五个子模块

其它管理:包含登陆日志查询、系统公告管理、图标管理等几个子模块

个人中心:包含个人资料管理、密码修改等相关功能

二、环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7  /  Redis缓存数据库

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发技术:Springboot+Mybatis-plus+Shiro

前端开发技术:Bootstrap+Layui+Freemarker模板

三、系统展示

超级管理员登陆系统:system/123456

基于Springboot商品进销存管理系统如何实现

基础管理—客户管理

基于Springboot商品进销存管理系统如何实现

基础管理—供应商管理

基于Springboot商品进销存管理系统如何实现

基础管理—商品管理

基于Springboot商品进销存管理系统如何实现

进货管理—商品进货   也可在此实现退货

基于Springboot商品进销存管理系统如何实现

进货管理—商品退货查询

基于Springboot商品进销存管理系统如何实现

销售管理—商品销售

基于Springboot商品进销存管理系统如何实现

销售管理—销售退货查询

基于Springboot商品进销存管理系统如何实现

系统管理—部门管理

基于Springboot商品进销存管理系统如何实现

系统管理—菜单管理

基于Springboot商品进销存管理系统如何实现

系统管理—权限管理

基于Springboot商品进销存管理系统如何实现

系统管理—角色管理

基于Springboot商品进销存管理系统如何实现

系统管理—用户管理

基于Springboot商品进销存管理系统如何实现

其它管理—登陆日志

基于Springboot商品进销存管理系统如何实现

其它管理—系统公告

基于Springboot商品进销存管理系统如何实现

四、核心代码展示

package com.dev.shop.bus.controller; import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;  @Controller@RequestMapping("bus")public class BusinessController {     /**     * 跳转到客户管理页面     * @return     */    @RequestMapping("toCustomerManager")    public String toCustomerManager(){        return "business/customer/customerManager";    }     /**     * 跳转到供应商管理页面     * @return     */    @RequestMapping("toProviderManager")    public String toProviderManager(){        return "business/provider/providerManager";    }     /**     * 跳转到商品管理页面     * @return     */    @RequestMapping("toGoodsManager")    public String toGoodsManager(){        return "business/goods/goodsManager";    }     /**     * 跳转到进货管理页面     * @return     */    @RequestMapping("toInportManager")    public String toInportManager(){        return "business/inport/inportManager";    }     /**     * 跳转到退货管理页面     * @return     */    @RequestMapping("toOutportManager")    public String toOutportManager(){        return "business/outport/outportManager";    }     /**     * 跳转到商品销售管理页面     * @return     */    @RequestMapping("toSalesManager")    public String toSalesManager(){        return "business/sales/salesManager";    }     /**     * 跳转到商品销售管理页面     * @return     */    @RequestMapping("toSalesbackManager")    public String toSalesbackManager(){        return "business/salesback/salesbackManager";    } }

登录后复制

package com.dev.shop.bus.controller;  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.dev.shop.bus.entity.Customer;import com.dev.shop.bus.service.ICustomerService;import com.dev.shop.bus.vo.CustomerVo;import com.dev.shop.sys.common.Constast;import com.dev.shop.sys.common.DataGridView;import com.dev.shop.sys.common.ResultObj;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; import java.io.Serializable;import java.util.ArrayList;import java.util.Collection;import java.util.List; @RestController@RequestMapping("/customer")public class CustomerController {     @Autowired    private ICustomerService customerService;     /**     * 查询所有的客户     * @param customerVo     * @return     */    @RequestMapping("loadAllCustomer")    public DataGridView loadAllCustomer(CustomerVo customerVo){        //1.声明一个分页page对象        IPage page = new Page(customerVo.getPage(),customerVo.getLimit());        //2.声明一个queryWrapper        QueryWrapper queryWrapper = new QueryWrapper();        queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()),"customername",customerVo.getCustomername());        queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionpersion()),"connectionpersion",customerVo.getConnectionpersion());        queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()),"phone",customerVo.getPhone());        customerService.page(page,queryWrapper);        return new DataGridView(page.getTotal(),page.getRecords());    }     /**     * 添加一个客户     * @param customerVo     * @return     */    @RequestMapping("addCustomer")    public ResultObj addCustomer(CustomerVo customerVo){        try {            customerService.save(customerVo);            return ResultObj.ADD_SUCCESS;        } catch (Exception e) {            e.printStackTrace();            return ResultObj.ADD_ERROR;        }    }     /**     * 修改一个客户     * @param customerVo     * @return     */    @RequestMapping("updateCustomer")    public ResultObj updateCustomer(CustomerVo customerVo){        try {            customerService.updateById(customerVo);            return ResultObj.UPDATE_SUCCESS;        } catch (Exception e) {            e.printStackTrace();            return ResultObj.UPDATE_ERROR;        }    }     /**     * 删除一个客户     * @param id 客户的ID     * @return     */    @RequestMapping("deleteCustomer")    public ResultObj deleteCustomer(Integer id){        try {            customerService.removeById(id);            return ResultObj.DELETE_SUCCESS;        } catch (Exception e) {            e.printStackTrace();            return ResultObj.DELETE_ERROR;        }    }     /**     * 批量删除客户     * @param customerVo 选中的客户     * @return     */    @RequestMapping("batchDeleteCustomer")    public ResultObj batchDeleteCustomer(CustomerVo customerVo){        try {            Collection idList = new ArrayList();            for (Integer id : customerVo.getIds()) {                idList.add(id);            }            customerService.removeByIds(idList);            return ResultObj.DELETE_SUCCESS;        } catch (Exception e) {            e.printStackTrace();            return ResultObj.DELETE_ERROR;        }    }     /**     * 加载所有客户的下拉列表     * @return     */    @RequestMapping("loadAllCustomerForSelect")    public DataGridView loadAllCustomerForSelect(){        QueryWrapper queryWrapper = new QueryWrapper();        queryWrapper.eq("available", Constast.AVAILABLE_TRUE);        List list = customerService.list(queryWrapper);        return new DataGridView(list);    } }

登录后复制

package com.dev.shop.bus.controller;  import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;import com.baomidou.mybatisplus.core.metadata.IPage;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import com.dev.shop.bus.entity.Goods;import com.dev.shop.bus.entity.Provider;import com.dev.shop.bus.service.IGoodsService;import com.dev.shop.bus.service.IProviderService;import com.dev.shop.bus.vo.GoodsVo;import com.dev.shop.sys.common.AppFileUtils;import com.dev.shop.sys.common.Constast;import com.dev.shop.sys.common.DataGridView;import com.dev.shop.sys.common.ResultObj;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController; import java.util.List; @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 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))){                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);    }   }

登录后复制

package com.dev.shop.bus.entity; import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;import lombok.EqualsAndHashCode;import lombok.ToString;import lombok.experimental.Accessors; import java.io.Serializable;  @Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@TableName("bus_customer")@ToStringpublic class Customer implements Serializable {     private static final long serialVersionUID=1L;     @TableId(value = "id", type = IdType.AUTO)    private Integer id;     private String customername;     private String zip;     private String address;     private String telephone;     private String connectionpersion;     private String phone;     private String bank;     private String account;     private String email;     private String fax;     private Integer available;  }

登录后复制

以上就是基于Springboot商品进销存管理系统如何实现的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2603563.html

(0)
上一篇 2025年3月6日 19:41:51
下一篇 2025年2月26日 16:18:49

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论