前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >再生资源回收系统 毕业设计 JAVA+Vue+SpringBoot+MySQL

再生资源回收系统 毕业设计 JAVA+Vue+SpringBoot+MySQL

作者头像
Designer 小郑
发布2024-02-24 09:20:31
1530
发布2024-02-24 09:20:31
举报
文章被收录于专栏:跟着小郑学JAVA跟着小郑学JAVA

作者主页Designer 小郑 作者简介:3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型,CSDN博客专家,阿里云社区专家博主,蓝桥云课讲师。

\color{red}{本文项目编号:S095。}

一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的再生资源回收系统,包含了资源管理模块、出货地管理模块、回收单管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,再生资源回收系统基于角色的访问控制,给资源管理员、回收专员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏

https://www.bilibili.com/video/BV1ay421a77V?t=11.7

二、功能模块

通过对再生资源回收系统的需求分析,我将再生资源回收系统分为四大菜单,分别是系统基础支持模块、再生资源模块、再生资源出货地模块、再生资源回收单模块。

2.1 系统基础支持模块

系统基础支持模块包括了用户管理、组织架构管理、再生资源的图片管理、菜单角色权限管理、系统日志管理,这些是支持再生资源回收系统运行的基础模块。

2.2 再生资源模块

再生资源模块是再生资源回收系统的其中一个模块。这个模块用于维护再生资源的类型,管理员可以在这个模块增加、删除、编辑、查询再生资源,也可以对单个再生资源发送通知提醒。

2.3 再生资源出货地模块

再生资源出货地模块,用于维护再生资源的出货地列表,出货地是再生资源的来源地。

2.4 再生资源回收单模块

再生资源回收单模块是再生资源回收系统的一部分。有了出货地模块和再生资源模块后,出货地就可以将再生资源回收了,再生资源回收单模块就是为了帮助出货地完成这件事情。

三、可行性分析

3.1 可靠性

对于再生资源回收系统来说,再生资源的产量数据必须正确无误。也就是要确保再生资源回收系统的可靠性。只有当再生资源回收系统的数据受到再生资源运维人员的信任,这套再生资源回收系统才能解决再生资源的需求,从而投入使用。

3.2 易用性

为了降低再生资源回收系统的培训成本,再生资源回收系统的设计必须满足广大再生资源运维人员的要求。再生资源工作人员的计算机水平有高有低,不能根据专业、部门等因素一概而论。所以在设计再生资源回收系统时,必须要考虑到再生资源运维人员操作的每种情况,对每个细节可能出现的误操作,必须加以预防和弹框提示。

3.3 维护性

为了保证再生资源回收系统的可维护性,再生资源回收系统每天应该保证18小时的开机时间,在开机时间范围内应实时对再生资源运维人员提供服务,并每日对再生资源回收系统的冗余数据进行清理,便于后续进行再生资源数据分析。

四、系统展示


五、核心代码

5.1 查询再生资源

代码语言:javascript
复制
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询再生资源")
public Result<IPage<Commodity>> getByPage(@ModelAttribute Commodity commodity, @ModelAttribute PageVo page){
    QueryWrapper<Commodity> qw = new QueryWrapper<>();
    if(StrUtil.isNotBlank(commodity.getName())) {
        qw.eq("name",commodity.getName());
    }
    if(StrUtil.isNotBlank(commodity.getType())) {
        qw.eq("type",commodity.getType());
    }
    if(StrUtil.isNotBlank(commodity.getStock())) {
        qw.eq("stock",commodity.getStock());
    }
    if(StrUtil.isNotBlank(commodity.getSupplierId())) {
        qw.eq("supplier_id",commodity.getSupplierId());
    }
    if(StrUtil.isNotBlank(commodity.getUnitPrice())) {
        qw.eq("unit_price",commodity.getUnitPrice());
    }
    IPage<Commodity> data = iCommodityService.page(PageUtil.initMpPage(page),qw);
    for (Commodity com : data.getRecords()) {
        Supplier supplier = iSupplierService.getById(com.getSupplierId());
        if(supplier != null) {
            com.setSupplierName(supplier.getName());
        }
    }
    return new ResultUtil<IPage<Commodity>>().setData(data);
}

5.2 新增再生资源

代码语言:javascript
复制
@RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
@ApiOperation(value = "新增再生资源")
public Result<Commodity> saveOrUpdate(Commodity commodity){
    if(iCommodityService.saveOrUpdate(commodity)){
        return new ResultUtil<Commodity>().setData(commodity);
    }
    return new ResultUtil<Commodity>().setErrorMsg("操作失败");
}

5.3 查询单条消息提醒

代码语言:javascript
复制
@RequestMapping(value = "/addMessage", method = RequestMethod.GET)
@ApiOperation(value = "查询单条消息提醒")
public Result<MessageRemind> addMessage(@RequestParam String id){
    Commodity commodity = iCommodityService.getById(id);
    if(commodity == null) {
        return ResultUtil.error("资源不存在");
    }
    User currUser = securityUtil.getCurrUser();
    List<User> userList = iUserService.list();
    for (User user : userList) {
        MessageRemind mr = new MessageRemind();
        mr.setTitle(commodity.getName() + "资源请留意");
        mr.setRemind(currUser.getNickname());
        mr.setReminded(user.getId());
        mr.setRemindTime(DateUtil.now());
        iMessageRemindService.saveOrUpdate(mr);
    }
    return ResultUtil.success();
}

5.4 查询资源供应商

代码语言:javascript
复制
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询资源供应商")
public Result<IPage<Supplier>> getByPage(@ModelAttribute Supplier supplier, @ModelAttribute PageVo page){

    QueryWrapper<Supplier> qw = new QueryWrapper<>();
    if(StrUtil.isNotBlank(supplier.getAddress())) {
        qw.eq("address",supplier.getAddress());
    }
    if(StrUtil.isNotBlank(supplier.getMobile())) {
        qw.eq("mobile",supplier.getMobile());
    }
    if(StrUtil.isNotBlank(supplier.getName())) {
        qw.eq("name",supplier.getName());
    }
    if(StrUtil.isNotBlank(supplier.getType())) {
        qw.eq("type",supplier.getType());
    }
    IPage<Supplier> data = iSupplierService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Supplier>>().setData(data);
}

5.5 查询资源回收单

代码语言:javascript
复制
@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询资源回收单")
public Result<IPage<Bill>> getByPage(@ModelAttribute Bill bill, @ModelAttribute PageVo page){
    QueryWrapper<Bill> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(bill.getUserId())) {
        qw.eq("user_id",bill.getUserId());
    }
    if(!ZwzNullUtils.isNull(bill.getCommodityId())) {
        qw.eq("commodity_id",bill.getCommodityId());
    }
    if(!ZwzNullUtils.isNull(bill.getSupplierId())) {
        qw.eq("supplier_id",bill.getSupplierId());
    }
    IPage<Bill> data = iBillService.page(PageUtil.initMpPage(page),qw);
    for (Bill bill1 : data.getRecords()) {
        Supplier supplier = iSupplierService.getById(bill1.getSupplierId());
        if(supplier != null) {
            bill1.setSupplierName(supplier.getName());
        } else {
            bill1.setSupplierName("无");
        }
        Commodity commodity = iCommodityService.getById(bill1.getCommodityId());
        if(commodity != null) {
            bill1.setCommodityName(commodity.getName());
        } else {
            bill1.setCommodityName("无");
        }
        User user = iUserService.getById(bill1.getUserId());
        if(user != null) {
            bill1.setUserName(user.getNickname());
        } else {
            bill1.setUserName("无");
        }
    }
    return new ResultUtil<IPage<Bill>>().setData(data);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、摘要
    • 1.1 项目介绍
      • 1.2 项目录屏
      • 二、功能模块
        • 2.1 系统基础支持模块
          • 2.2 再生资源模块
            • 2.3 再生资源出货地模块
              • 2.4 再生资源回收单模块
              • 三、可行性分析
                • 3.1 可靠性
                  • 3.2 易用性
                    • 3.3 维护性
                    • 四、系统展示
                    • 五、核心代码
                      • 5.1 查询再生资源
                        • 5.2 新增再生资源
                          • 5.3 查询单条消息提醒
                            • 5.4 查询资源供应商
                              • 5.5 查询资源回收单
                              • 六、免责说明
                              相关产品与服务
                              云数据库 MySQL
                              腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档