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

女爷i 2024-04-20 11:49 150阅读 0赞

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

在这里插入图片描述

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


目录

  • 一、摘要
    • 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 查询资源回收单
  • 六、免责说明

一、摘要

1.1 项目介绍

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

1.2 项目录屏


二、功能模块

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

在这里插入图片描述

2.1 系统基础支持模块

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

在这里插入图片描述

2.2 再生资源模块

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

在这里插入图片描述

2.3 再生资源出货地模块

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

在这里插入图片描述

2.4 再生资源回收单模块

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

在这里插入图片描述


三、可行性分析

3.1 可靠性

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

3.2 易用性

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

3.3 维护性

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


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询再生资源

  1. @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
  2. @ApiOperation(value = "查询再生资源")
  3. public Result<IPage<Commodity>> getByPage(@ModelAttribute Commodity commodity, @ModelAttribute PageVo page){
  4. QueryWrapper<Commodity> qw = new QueryWrapper<>();
  5. if(StrUtil.isNotBlank(commodity.getName())) {
  6. qw.eq("name",commodity.getName());
  7. }
  8. if(StrUtil.isNotBlank(commodity.getType())) {
  9. qw.eq("type",commodity.getType());
  10. }
  11. if(StrUtil.isNotBlank(commodity.getStock())) {
  12. qw.eq("stock",commodity.getStock());
  13. }
  14. if(StrUtil.isNotBlank(commodity.getSupplierId())) {
  15. qw.eq("supplier_id",commodity.getSupplierId());
  16. }
  17. if(StrUtil.isNotBlank(commodity.getUnitPrice())) {
  18. qw.eq("unit_price",commodity.getUnitPrice());
  19. }
  20. IPage<Commodity> data = iCommodityService.page(PageUtil.initMpPage(page),qw);
  21. for (Commodity com : data.getRecords()) {
  22. Supplier supplier = iSupplierService.getById(com.getSupplierId());
  23. if(supplier != null) {
  24. com.setSupplierName(supplier.getName());
  25. }
  26. }
  27. return new ResultUtil<IPage<Commodity>>().setData(data);
  28. }

5.2 新增再生资源

  1. @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST)
  2. @ApiOperation(value = "新增再生资源")
  3. public Result<Commodity> saveOrUpdate(Commodity commodity){
  4. if(iCommodityService.saveOrUpdate(commodity)){
  5. return new ResultUtil<Commodity>().setData(commodity);
  6. }
  7. return new ResultUtil<Commodity>().setErrorMsg("操作失败");
  8. }

5.3 查询单条消息提醒

  1. @RequestMapping(value = "/addMessage", method = RequestMethod.GET)
  2. @ApiOperation(value = "查询单条消息提醒")
  3. public Result<MessageRemind> addMessage(@RequestParam String id){
  4. Commodity commodity = iCommodityService.getById(id);
  5. if(commodity == null) {
  6. return ResultUtil.error("资源不存在");
  7. }
  8. User currUser = securityUtil.getCurrUser();
  9. List<User> userList = iUserService.list();
  10. for (User user : userList) {
  11. MessageRemind mr = new MessageRemind();
  12. mr.setTitle(commodity.getName() + "资源请留意");
  13. mr.setRemind(currUser.getNickname());
  14. mr.setReminded(user.getId());
  15. mr.setRemindTime(DateUtil.now());
  16. iMessageRemindService.saveOrUpdate(mr);
  17. }
  18. return ResultUtil.success();
  19. }

5.4 查询资源供应商

  1. @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
  2. @ApiOperation(value = "查询资源供应商")
  3. public Result<IPage<Supplier>> getByPage(@ModelAttribute Supplier supplier, @ModelAttribute PageVo page){
  4. QueryWrapper<Supplier> qw = new QueryWrapper<>();
  5. if(StrUtil.isNotBlank(supplier.getAddress())) {
  6. qw.eq("address",supplier.getAddress());
  7. }
  8. if(StrUtil.isNotBlank(supplier.getMobile())) {
  9. qw.eq("mobile",supplier.getMobile());
  10. }
  11. if(StrUtil.isNotBlank(supplier.getName())) {
  12. qw.eq("name",supplier.getName());
  13. }
  14. if(StrUtil.isNotBlank(supplier.getType())) {
  15. qw.eq("type",supplier.getType());
  16. }
  17. IPage<Supplier> data = iSupplierService.page(PageUtil.initMpPage(page),qw);
  18. return new ResultUtil<IPage<Supplier>>().setData(data);
  19. }

5.5 查询资源回收单

  1. @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
  2. @ApiOperation(value = "查询资源回收单")
  3. public Result<IPage<Bill>> getByPage(@ModelAttribute Bill bill, @ModelAttribute PageVo page){
  4. QueryWrapper<Bill> qw = new QueryWrapper<>();
  5. if(!ZwzNullUtils.isNull(bill.getUserId())) {
  6. qw.eq("user_id",bill.getUserId());
  7. }
  8. if(!ZwzNullUtils.isNull(bill.getCommodityId())) {
  9. qw.eq("commodity_id",bill.getCommodityId());
  10. }
  11. if(!ZwzNullUtils.isNull(bill.getSupplierId())) {
  12. qw.eq("supplier_id",bill.getSupplierId());
  13. }
  14. IPage<Bill> data = iBillService.page(PageUtil.initMpPage(page),qw);
  15. for (Bill bill1 : data.getRecords()) {
  16. Supplier supplier = iSupplierService.getById(bill1.getSupplierId());
  17. if(supplier != null) {
  18. bill1.setSupplierName(supplier.getName());
  19. } else {
  20. bill1.setSupplierName("无");
  21. }
  22. Commodity commodity = iCommodityService.getById(bill1.getCommodityId());
  23. if(commodity != null) {
  24. bill1.setCommodityName(commodity.getName());
  25. } else {
  26. bill1.setCommodityName("无");
  27. }
  28. User user = iUserService.getById(bill1.getUserId());
  29. if(user != null) {
  30. bill1.setUserName(user.getNickname());
  31. } else {
  32. bill1.setUserName("无");
  33. }
  34. }
  35. return new ResultUtil<IPage<Bill>>().setData(data);
  36. }

六、免责说明

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

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

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读

    相关 再生龙复制安装centos系统

    1、在自己本机上设置ip地址和华为服务器上的地址在同一个网段。 ![这里写图片描述][SouthEast] 在浏览器中输入改ip地址,服务器上写有该地址,访问后可以看到如