Java项目:springboot超市进销存管理系统

作者主页:夜未央5788

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

文末获取源码

项目介绍

超市进销存管理系统,分为管理员与普通员工两种角色;

管理员主要功能包括:

员工管理:员工的添加、编辑、删除;

普通员工主要功能包括:

供应商管理:供应商的添加、删除、修改;

商品管理:商品种类管理、商品信息管理;

库存管理;

订单管理;

环境需要

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版本;
7.lombok 注:一定要安装,否则会有问题;

技术栈

1. 后端:SpringBoot+Mybatis

2. 前端:Html+jQuery+Layui+echarts

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

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

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

3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;

4. 管理员访问地址:http://localhost:8085/admin

员工访问地址:http://localhost:8085

运行截图

 

 

 

 

 

 

 

代码相关

商品管理控制器

@RestController
@RequestMapping(value = "/goods")
public class GoodsController {

    private Logger logger = LoggerFactory.getLogger(GoodsController.class);

    private GoodsService goodsServiceImpl;

    public GoodsController(GoodsService goodsServiceImpl) {
        this.goodsServiceImpl = goodsServiceImpl;
    }

    @PostMapping(value = "/addGoodsType")
    public int addGoodsType(GoodsType type) {
        return goodsServiceImpl.addGoodsType(type);
    }

    @PostMapping(value = "/delGoodsType/{id}")
    public int delGoodsType(@PathVariable("id") String id) {
        return goodsServiceImpl.delGoodsType(id);
    }

    @PostMapping(value = "/updateGoodsType")
    public int updateGoodsType(GoodsType type) {
        return goodsServiceImpl.updateGoodsType(type);
    }

    @GetMapping(value = "/findById/{id}")
    public GoodsType findById(@PathVariable("id") String id) {
        return goodsServiceImpl.findById(id);
    }

    @GetMapping(value = "/findByName")
    public GoodsType findByName(@RequestParam("name") String name) {
        return goodsServiceImpl.findByName(name);
    }

    @GetMapping(value = "/findAllByPage")
    public PageInfo<GoodsType> findAllByPage(PageInfo<GoodsType> info,
                                             @RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findAllByPage(info, name);
    }

    @GetMapping(value = "/getEcharts")
    public Map<String, Object> getGoodsTypeEcharts() {
        return goodsServiceImpl.getGoodsTypeEcharts();
    }

    @GetMapping(value = "/findAllType")
    public List<GoodsType> findAllType() {
        return goodsServiceImpl.findAllType();
    }

    @PostMapping(value = "/addGoods")
    public int addGoods(Goods goods) {
        return goodsServiceImpl.addGoods(goods);
    }

    @PostMapping(value = "/delGoods/{id}")
    public int delGoods(@PathVariable("id") int id) {
        return goodsServiceImpl.delGoods(id);
    }

    @PostMapping(value = "/updateGoods")
    public int updateGoods(Goods goods) {
        return goodsServiceImpl.updateGoods(goods);
    }

    @GetMapping(value = "/findGoodsByPage")
    public PageInfo<Goods> findGoodsByPage(PageInfo<Goods> info,
                                       @RequestParam(value = "type", defaultValue = "") String type,
                                           @RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findGoodsByPage(info, type, name);
    }

    @GetMapping(value = "/findGoodsById/{id}")
    public Goods findGoodsById(@PathVariable("id") int id) {
        return goodsServiceImpl.findGoodsById(id);
    }

    @GetMapping(value = "/findAllGoodsByName")
    public List<String> findAllGoodsByName(@RequestParam(value = "name", defaultValue = "") String name) {
        return goodsServiceImpl.findAllGoodsByName(name);
    }

}

 库存管理控制器

@RestController
@RequestMapping(value = "/warehouse")
public class WarehouseController {

    private WarehouseService warehouseServiceImpl;
    private GoodsService goodsServiceImpl;

    public WarehouseController(WarehouseService warehouseServiceImpl,
                               GoodsService goodsServiceImpl) {
        this.warehouseServiceImpl = warehouseServiceImpl;
        this.goodsServiceImpl = goodsServiceImpl;
    }

    @PostMapping(value = "/addWarehouse")
    public int addWarehouse(Warehouse warehouse) {
        Goods goods = goodsServiceImpl.findGoodsByName(warehouse.getGoods());
        if (goods != null) {
            warehouse.setId(UUID.randomUUID().toString().replace("-", ""));
            warehouse.setTime(new Date());
            warehouse.setPrice(goods.getPrice() * warehouse.getCount());
            warehouse.setType(GlobalConstant.inWarehouse);
            int addWarehouseResult = warehouseServiceImpl.addWarehouse(warehouse);
            goods.setWarehouse(goods.getWarehouse() + warehouse.getCount());
            int updateWarehouseCount = goodsServiceImpl.updateGoods(goods);
            return addWarehouseResult == updateWarehouseCount ? GlobalConstant.SUCCESS : GlobalConstant.ERROR;
        }
        Goods good = new Goods();
        good.setName(warehouse.getGoods());
        good.setCode(UUID.randomUUID().toString().replace("-", ""));
        Date date = new Date();
        good.setType(goodsServiceImpl.findAllByPage(new PageInfo<>(0, 1), null).getData().get(0).getName());
        good.setCreater(warehouse.getOperator());
        good.setCtime(date);
        good.setUpdater(warehouse.getOperator());
        good.setUtime(date);
        good.setStatus(1);
        good.setWarehouse(warehouse.getCount());
        int addGoodsRes = goodsServiceImpl.addGoods(good);
        warehouse.setId(UUID.randomUUID().toString().replace("-", ""));
        warehouse.setPrice(0d);
        warehouse.setType(GlobalConstant.inWarehouse);
        int addWarehouseRes = warehouseServiceImpl.addWarehouse(warehouse);
        return addGoodsRes == addWarehouseRes ? GlobalConstant.SUCCESS : GlobalConstant.ERROR;
    }

    @PostMapping(value = "/outWarehouse")
    public int outWarehouse(Goods goods) {
        Goods good = goodsServiceImpl.findGoodsById(goods.getId());
        good.setWarehouse(good.getWarehouse() - goods.getWarehouse());
        int outGoodsWarehouse = goodsServiceImpl.updateGoods(good);
        Warehouse warehouse = new Warehouse();
        warehouse.setId(UUID.randomUUID().toString().replace("-", ""));
        warehouse.setGoods(good.getName());
        warehouse.setCount(goods.getWarehouse());
        warehouse.setTime(new Date());
        warehouse.setType(GlobalConstant.outWarehouse);
        warehouse.setOperator(goods.getUpdater());
        int outWarehouse = warehouseServiceImpl.addWarehouse(warehouse);
        return outGoodsWarehouse == outWarehouse ? GlobalConstant.SUCCESS : GlobalConstant.ERROR;
    }

    @GetMapping(value = "/findAllByPage")
    public PageInfo<Warehouse> findAllByPage(PageInfo<Warehouse> info,
                                             @RequestParam(value = "id", defaultValue = "") String id) {
        return warehouseServiceImpl.findAllWarehouseByPage(info, id);
    }

}

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

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值