首页 > 编程语言 >基于SpringBoot+Vue的库存管理系统设计与实现毕设(文档+源码)

基于SpringBoot+Vue的库存管理系统设计与实现毕设(文档+源码)

时间:2024-11-05 20:16:21浏览次数:3  
标签:Vue return SpringBoot 删除 request 信息 商品 源码 gongyinghsang

        

目录

一、项目介绍

二、开发环境

三、功能介绍

四、核心代码

五、效果图

六、源码获取:


        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是 一款基于SpringBoot+Vue的库存试管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品 毕设 JavaWeb  SSM SpringBoot等等项目框架,源码丰富,欢迎咨询。 

一、项目介绍

当下,如果还依然使用纸质文档来记录并且管理相关信息,可能会出现很多问题,比如原始文件的丢失,因为采用纸质文档,很容易受潮或者怕火,不容易备份,需要花费大量的人员和资金来管理用纸质文档存储的信息,最重要的是数据出现问题寻找起来很麻烦,并且修改也困难,如果还这样操作会造成很大的资源浪费和经济损失。

库存管理系统运用的工具包括IDEA,Tomcat,Spring Boot框架以及MySQL等。该系统可以实现对公告信息,员工,供应商类型,供应商信用等级,商品类型,公告类型,供应商,商品,商品预定,采购入库,采购入库详情,客户等信息进行管理。

库存管理系统就是采用目前最流行的互联网应用思维,让信息处理变得更加高效,并且处理结果更加的符合预期,只要是关于数据管理方面,不管是添加还是修改,以及数据维护甚至是数据迁移,都可以达到更快更安全的要求。

二、开发环境

开发系统:Windows
JDK版本:Java JDK1.8(推荐)
开发工具:IDEA/MyEclipse(推荐IDEA)
数据库版本: mysql8.0(推荐)
数据库可视化工具: navicat
服务器:SpringBoot自带 apache tomcat
框架:springboot,vue

三、功能介绍

        供应商管理功能。供应商信息有供应商类型,供应商信用等级名称,供应商名称等信息,管理员需要新增供应商,发现登记错误数据的供应商信息可以使用修改功能及时更改,需要删除的供应商信息可以使用删除功能删除。

        商品管理功能。商品信息有商品类型,存储仓库,单位,单价,供应商名称等信息,管理员新增商品信息,使用修改功能对有错误数据的商品信息进行更改,需要删除的商品信息可以使用删除功能删除。

        商品统计报表功能。管理员通过柱形图可以查看各个商品的库存数据,管理员可以切换柱形图统计报表为折线图,可以下载商品库存的统计报表图片。

        商品预定管理功能。商品预定信息有预定数量,客户姓名,员工姓名,预定的商品,预定时间等信息。商品预定信息可以让管理员新增,需要删除的商品预定信息可以使用删除功能删除。

        采购入库管理功能。采购入库信息包括采购入库名称,采购入库流水号等信息,采购入库信息也允许管理员新增,需要删除的采购入库信息也能够使用删除功能删除。管理员查询采购入库信息需要提供的查询条件是采购入库名称。

        公告信息管理功能。公告信息有公告类型,公告图片等信息,公告信息允许管理员新增,发现有错误数据的公告信息可以使用修改功能更正,需要删除的公告也能使用删除功能删除。

        客户管理功能。客户信息有客户姓名,客户联系方式,客户性别等信息,管理员也能新增客户信息,客户信息存在数据登记错误的情况,管理员可以使用修改功能更改,需要删除的客户信息可以使用删除功能删除。对于客户信息的查询,需要管理员提供客户姓名,提供客户联系方式等。

        商品管理功能。员工查看商品存储仓库,查看商品库存,查看商品单价等信息,员工查询商品有很多种方式,可以根据商品名字,商品类型,存储仓库,单价,供应商名称等信息来查询商品。

等...

四、核心代码


/**
 * 供应商
 * 后端接口
 * @author
 * @email
*/
@RestController
@Controller
@RequestMapping("/gongyinghsang")
public class GongyinghsangController {
    private static final Logger logger = LoggerFactory.getLogger(GongyinghsangController.class);

    @Autowired
    private GongyinghsangService gongyinghsangService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;

    //级联表service

    @Autowired
    private YonghuService yonghuService;


    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("员工".equals(role))
            params.put("yonghuId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = gongyinghsangService.queryPage(params);

        //字典表数据转换
        List<GongyinghsangView> list =(List<GongyinghsangView>)page.getList();
        for(GongyinghsangView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id, HttpServletRequest request){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        GongyinghsangEntity gongyinghsang = gongyinghsangService.selectById(id);
        if(gongyinghsang !=null){
            //entity转view
            GongyinghsangView view = new GongyinghsangView();
            BeanUtils.copyProperties( gongyinghsang , view );//把实体数据重构到view中

            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view, request);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody GongyinghsangEntity gongyinghsang, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,gongyinghsang:{}",this.getClass().getName(),gongyinghsang.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永远不会进入");

        Wrapper<GongyinghsangEntity> queryWrapper = new EntityWrapper<GongyinghsangEntity>()
            .eq("gongyinghsang_name", gongyinghsang.getGongyinghsangName())
            .eq("gongyinghsang_types", gongyinghsang.getGongyinghsangTypes())
            .eq("gongyinghsang_xinyong_types", gongyinghsang.getGongyinghsangXinyongTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        GongyinghsangEntity gongyinghsangEntity = gongyinghsangService.selectOne(queryWrapper);
        if(gongyinghsangEntity==null){
            gongyinghsang.setInsertTime(new Date());
            gongyinghsang.setCreateTime(new Date());
            gongyinghsangService.insert(gongyinghsang);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 后端修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody GongyinghsangEntity gongyinghsang, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,gongyinghsang:{}",this.getClass().getName(),gongyinghsang.toString());

        String role = String.valueOf(request.getSession().getAttribute("role"));
//        if(false)
//            return R.error(511,"永远不会进入");
        //根据字段查询是否有相同数据
        Wrapper<GongyinghsangEntity> queryWrapper = new EntityWrapper<GongyinghsangEntity>()
            .notIn("id",gongyinghsang.getId())
            .andNew()
            .eq("gongyinghsang_name", gongyinghsang.getGongyinghsangName())
            .eq("gongyinghsang_types", gongyinghsang.getGongyinghsangTypes())
            .eq("gongyinghsang_xinyong_types", gongyinghsang.getGongyinghsangXinyongTypes())
            ;

        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        GongyinghsangEntity gongyinghsangEntity = gongyinghsangService.selectOne(queryWrapper);
        if(gongyinghsangEntity==null){
            gongyinghsangService.updateById(gongyinghsang);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }



    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        gongyinghsangService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

五、效果图

 

 

六、源码获取:

同系统在主页搜索资源可下载~

标签:Vue,return,SpringBoot,删除,request,信息,商品,源码,gongyinghsang
From: https://blog.csdn.net/m0_48205251/article/details/143092592

相关文章

  • SpringBoot物流管理系统6h34w(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着电商行业的蓬勃发展和市场竞争的日益激烈,物流管理已成为企业运营中的关键环节。传统的人工物流管理方式已无法满足现代企业对高效......
  • 基于SpringBoot+Vue的疗养院管理系统设计与实现毕设(文档+源码)
            目录一、项目介绍二、开发环境三、功能介绍四、核心代码五、效果图六、源码获取:        大家好呀,我是一个混迹在java圈的码农。今天要和大家分享的是一款基于SpringBoot+Vue的疗养院管理系统,项目源码请点击文章末尾联系我哦~目前有各类成品......
  • SpringBoot网文论坛管理系统5w669(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着网络文学的兴起和读者群体的扩大,网文论坛成为作者与读者交流的重要平台。然而,现有的网文论坛普遍存在管理不便、信息杂乱等......
  • 在 Vue 2 项目中使用 Element UI
    在Vue2项目中使用ElementUI本实验手册将指导你如何在Vue2项目中使用ElementUI组件库,搭建一个简单的页面。一、介绍ElementUIElementUI(Element-网站快速成型工具)是一套基于Vue2.0的桌面端组件库,提供了丰富的、可复用的UI组件,可以帮助开发者快速构建美观、......
  • Vue+Springboot 前后端分离项目如何部署?
    本文转载自:https://fangcaicoding.cn/course/11/58大家好!我是方才,目前是8人后端研发团队的负责人,拥有6年后端经验&3年团队管理经验,截止目前面试过近200位候选人,主导过单表上10亿、累计上100亿数据量级的业务系统的架构和核心编码。“学编程,一定要系统化”是我一直坚持......
  • 读UCOS源码总结
    在之前一直想阅读一个RTOS的源码来看看里面到底是怎么设计的,虽说经常使用RTOS大概知道里面各个模块的工作原理,但是具体是如何实现的,从来没有看过。那么,初看代码当然要先找个简单的入门,于是,UCOSIII就成了我的选择。以前啃源码的方式真的效率很低,看的头大速度还慢,像是野火的UCOSIII......
  • springboot+vue朝阳小区防疫工作管理平台【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着全球疫情的持续演变,社区作为疫情防控的第一线,其管理效率与精准度直接关系到疫情的传播控制与社会秩序的稳定。朝阳小区作为一个典型的大型居民区,人员流动频繁,防疫工作面临诸多挑战。传统的防疫管理方式,如人工登记、电话随访等,不仅......
  • springboot+vue车位服务小程序【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着城市化进程的加速,车辆数量急剧增加,停车难问题已成为困扰城市居民日常生活的重大难题。传统的停车场管理方式往往存在信息不透明、车位利用率低、用户体验差等问题,尤其是在高峰时段,寻找停车位的过程不仅耗时耗力,还常常导致交通拥堵......
  • springboot+vue体育馆预约微信小程序【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着全民健身意识的日益增强,体育馆作为重要的运动场所,其利用率逐年攀升。然而,传统的体育馆预约方式,如电话预约、现场登记等,已难以满足当前社会对高效、便捷服务的需求。尤其在高峰时段,体育馆常常出现人满为患、资源紧张的情况,给广大运......
  • (开题报告)django+vue基于web的动物园管理系统源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于动物园管理系统的研究,现有研究主要以传统管理模式为主,专门针对基于web的动物园管理系统,利用django+vue技术构建的研究较少。在国......