基于javaweb的SpringBoot仓库管理系统(java+springboot+mybaits+vue+elementui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

311524122608

321524122608

331524122608

341524122608

361524122608

371524122608

381524122608

391524122608

401524122608

411524122608

基于javaweb的SpringBoot仓库管理系统(java+springboot+mybaits+vue+elementui+mysql)

项目介绍

基于Springboot+vue实现的仓库管理系统

系统分为用户、仓库管理员和系统管理员三个角色

整体包含:登录、注册、主页、仓库管理、公告管理、物资管理(物资借出、物资归还)、物资统计报表、用户管理、仓库管理员管理、系统管理等功能

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

4.数据库:MySql 5.7/8.0版本均可;

5.是否Maven项目:是;

技术栈

后端:SpringBoot+Mybaits

前端:Vue+elementui

使用说明

项目运行:

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

  2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令;

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

  4. 运行项目,在浏览器中输入地址:

后台登录页面

http://localhost:8080/cangkuguanlixitong/admin/dist/index.html

管理员 账户:admin 密码:admin

仓库管理员 账户:a1 密码:123456

用户账户:a1 密码:123456

文档展示:

登录页面展示:

管理员后台管理页面:

 后台管理仓库管理页面:

公告管理展示页面:

后台公告列表展示:

物资清单管理展示:

后台统计展示页面:

后台用户展示页面:

仓库管理管理员展示:

 库存管理控制层:

@RestController

@RequestMapping(“/input”)

public class InputFormController {

@Resource

private GoodsService goodsService;

@Resource

private ProviderService providerService;

@Resource

private InputFormService inputFormService;

@Resource

private StockService stockService;

@Resource

private WarehouseService warehouseService;

@Resource

private TbUserService tbUserService;

@RequestMapping(“loadAllInput”)

public DataGridView loadAllInput(InputFormVo inputFormVo) {

IPage page = new Page<>(inputFormVo.getPage(), inputFormVo.getLimit());

QueryWrapper queryWrapper = new QueryWrapper();

queryWrapper.eq(null!=inputFormVo.getFormId(),”form_id”,inputFormVo.getFormId());

queryWrapper.eq(null != inputFormVo.getProviderId() && inputFormVo.getProviderId()!=0,”provider_id”,inputFormVo.getProviderId());

// queryWrapper.like(StringUtils.isNotBlank(inputFormVo.getName()),”name”,inputFormVo.getName());

// queryWrapper.eq(inputFormVo.getPrice()!=null,”price”,inputFormVo.getPrice());

TbUser user = (TbUser) WebUtils.getSession().getAttribute(“user”);

queryWrapper.eq(0!=user.getRoleId(),”house_id”,user.getRoleId());

inputFormService.page(page,queryWrapper);

List records = page.getRecords();

for(InputForm inputForm : records){

Provider provider = providerService.getById(inputForm.getProviderId());

if (null != provider){

inputForm.setProviderName(provider.getName());

inputForm.setAddress(provider.getAddress());

Goods goods = goodsService.getById(inputForm.getGoodsId());

if(null != goods){

inputForm.setGoodsName(goods.getName());

inputForm.setSize(goods.getSize());

inputForm.setPackages(goods.getPackages());

inputForm.setPrice(goods.getPrice());

TbUser tbUser = tbUserService.getById(inputForm.getUserId());

if(null != tbUser){

inputForm.setUserName(tbUser.getName());

Warehouse warehouse = warehouseService.getById(inputForm.getHouseId());

if(null != warehouse){

inputForm.setHouseName(warehouse.getName());

return new DataGridView(page.getTotal(),page.getRecords());

@RequestMapping(“addInput”)

public ResultObj addInput(InputFormVo inputFormVo){

try {

TbUser tbUser = (TbUser) WebUtils.getSession().getAttribute(“user”);

inputFormVo.setCreateTime(new Date());

inputFormVo.setUserId(tbUser.getUserId());

Integer goodsId = inputFormVo.getGoodsId();

Integer houseId = inputFormVo.getHouseId();

Integer changeNumber = inputFormVo.getChangeNumber();

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq(“goods_id”,goodsId);

queryWrapper.eq(“house_id”,houseId);

Stock stock = stockService.getOne(queryWrapper);

UpdateWrapper updateWrapper = new UpdateWrapper<>();

if(null != stock){ //如果库存中有这件商品

updateWrapper.eq(“goods_id”,stock.getGoodsId());

updateWrapper.eq(“house_id”,stock.getHouseId());

}else { //如果库存中没有这件商品

QueryWrapper query = new QueryWrapper();

query.eq(“house_id”,houseId);

query.eq(“goods_id”,0);

Integer upperAlert = stockService.getOne(query).getUpperAlert();

if(changeNumber < upperAlert){

Stock stock1 = new Stock(goodsId,houseId,changeNumber,upperAlert,0);

System.out.println(“stock1 = “ + stock1);

stockService.save(stock1);

inputFormService.save(inputFormVo);

return ResultObj.ADD_SUCCESS;

if(changeNumber+stock.getNumber() > stock.getUpperAlert()){

return ResultObj.ADD_ERROR_EXCEED;

}else if(inputFormVo.getChangeNumber() ==0){

return ResultObj.ERROR_ZERO;

} else {

stock.setNumber(inputFormVo.getChangeNumber()+stock.getNumber());

inputFormService.save(inputFormVo);

stockService.update(stock,updateWrapper);

return ResultObj.ADD_SUCCESS;

catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

@RequestMapping(“deleteInput”)

public ResultObj deleteInput(Integer id){

try {

inputFormService.removeById(id);

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

供应商管理控制层: 

@RestController

@RequestMapping(“/provider”)

public class ProviderController {

@Resource

private ProviderService providerService;

@RequestMapping(“loadAllProvider”)

public DataGridView loadAllProvider(ProviderVo providerVo){

//1.声明一个分页page对象

IPage page = new Page(providerVo.getPage(),providerVo.getLimit());

//2.声明一个queryWrapper

QueryWrapper queryWrapper = new QueryWrapper();

queryWrapper.eq(null != providerVo.getProviderId() && providerVo.getProviderId()!=0,”provider_id”,providerVo.getProviderId());

queryWrapper.like(StringUtils.isNotBlank(providerVo.getManager()),”manager”,providerVo.getManager());

queryWrapper.like(StringUtils.isNotBlank(providerVo.getTalePhone()),”tale_phone”,providerVo.getTalePhone());

providerService.page(page,queryWrapper);

return new DataGridView(page.getTotal(),page.getRecords());

/**

  • 添加一个供应商

  • @param providerVo

  • @return

*/

@RequestMapping(“addProvider”)

public ResultObj addProvider(ProviderVo providerVo){

try {

providerService.save(providerVo);

return ResultObj.ADD_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

/**

  • 修改一个供应商

  • @param providerVo

  • @return

*/

@RequestMapping(“updateProvider”)

public ResultObj updateProvider(ProviderVo providerVo){

try {

providerService.updateById(providerVo);

return ResultObj.UPDATE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.UPDATE_ERROR;

/**

  • 删除一个供应商

  • @param id

  • @return

*/

@RequestMapping(“deleteProvider”)

public ResultObj deleteProvider(Integer id){

try {

providerService.removeById(id);

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;

//提供下拉框

@RequestMapping(“loadAllProviderForSelect”)

public DataGridView loadAllProviderForSelect(){

QueryWrapper queryWrapper = new QueryWrapper();

List list = providerService.list(queryWrapper);

return new DataGridView(list);

出货管理控制层:

@RestController

@RequestMapping(“/output”)

public class OutputFormController {

@Resource

private GoodsService goodsService;

@Resource

private CustomerService customerService;

@Resource

private OutputFormService outputFormService;

@Resource

private StockService stockService;

@Resource

private WarehouseService warehouseService;

@Resource

private TbUserService tbUserService;

@RequestMapping(“loadAllOutput”)

public DataGridView loadAllOutput(OutputFormVo outputFormVo) {

IPage page = new Page<>(outputFormVo.getPage(),outputFormVo.getLimit());

QueryWrapper queryWrapper = new QueryWrapper();

queryWrapper.eq(null!=outputFormVo.getFormId(),”form_id”,outputFormVo.getFormId());

queryWrapper.eq(null != outputFormVo.getCustomerId() && outputFormVo.getCustomerId()!=0,”customer_id”,outputFormVo.getCustomerId());

TbUser user = (TbUser) WebUtils.getSession().getAttribute(“user”);

queryWrapper.eq(null!=user.getRoleId() && 0!=user.getRoleId(),”house_id”,user.getRoleId());

outputFormService.page(page,queryWrapper);

List records = page.getRecords();

for(OutputForm outputForm : records){

Customer customer = customerService.getById(outputForm.getCustomerId());

if (null != customer){

outputForm.setCustomerName(customer.getName());

outputForm.setAddress(customer.getAddress());

Goods goods = goodsService.getById(outputForm.getGoodsId());

if(null != goods){

outputForm.setGoodsName(goods.getName());

outputForm.setSize(goods.getSize());

outputForm.setPackages(goods.getPackages());

outputForm.setPrice(goods.getPrice());

TbUser tbUser = tbUserService.getById(outputForm.getUserId());

if(null != tbUser){

outputForm.setUserName(tbUser.getName());

Warehouse warehouse = warehouseService.getById(outputForm.getHouseId());

if(null != warehouse){

outputForm.setHouseName(warehouse.getName());

return new DataGridView(page.getTotal(),page.getRecords());

@RequestMapping(“addOutput”)

public ResultObj addOutput(OutputFormVo outputFormVo){

try {

TbUser tbUser = (TbUser) WebUtils.getSession().getAttribute(“user”);

outputFormVo.setCreateTime(new Date());

outputFormVo.setUserId(tbUser.getUserId());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq(“goods_id”,outputFormVo.getGoodsId());

queryWrapper.eq(“house_id”,outputFormVo.getHouseId());

Stock stock = stockService.getOne(queryWrapper);

UpdateWrapper updateWrapper = new UpdateWrapper<>();

updateWrapper.eq(“goods_id”,stock.getGoodsId());

updateWrapper.eq(“house_id”,stock.getHouseId());

System.out.println(“stock = “ + stock);

if(stock.getNumber()-outputFormVo.getChangeNumber() < stock.getUnderAlert()){

return ResultObj.ADD_ERROR_UNDER;

} else if(outputFormVo.getChangeNumber() ==0){

return ResultObj.ERROR_ZERO;

} else {

stock.setNumber(stock.getNumber()-outputFormVo.getChangeNumber());

outputFormService.save(outputFormVo);

stockService.update(stock,updateWrapper);

return ResultObj.ADD_SUCCESS;

catch (Exception e) {

e.printStackTrace();

return ResultObj.ADD_ERROR;

@RequestMapping(“deleteOutput”)

public ResultObj deleteInput(Integer id){

try {

outputFormService.removeById(id);

return ResultObj.DELETE_SUCCESS;

} catch (Exception e) {

e.printStackTrace();

return ResultObj.DELETE_ERROR;


项目链接:
https://javayms.github.io?id=171524512608201mq
https://javayms.pages.dev?id=171524512608201mq