当前位置:   article > 正文

基于Java+SpringBoot+Vue仓库管理系统的设计与实现 前后端分离【Java毕业设计/课程设计·文档报告·代码讲解·安装调试】_仓库管理系统数据库逻辑设计

仓库管理系统数据库逻辑设计

博主介绍:⚡全栈开发工程师,精通Web前后端技术、数据库、架构设计。专注于Java技术领域和小程序领域的开发,毕业设计课程设计项目中主要包括定制化开发、源代码、代码讲解、文档报告辅导、安装调试等

✅文末获取联系✅

目录

1 项目介绍 

2 技术选型 

3 系统总体设计 

4 项目效果图

5 代码实现  

6 总结  

7 源码获取或咨询 


1 项目介绍 

仓储管理系统的开发不但涉及到页面设计和功能分析,还涉及到数据库系统和计算机语言。针对已经毕业的用户而言,一是夯实有关专业知识;二是让用户懂得如何将基础理论知识用于具体软件的开发全过程;三是让用户明白知识是无边无际的,我们应该时时刻刻了解学无止境的精髓,让用户培养时时刻刻学习的好习惯。与此同时,大家也要相信,通过这些流程的开发,用户对专业知识的理解软件开发水平的提升会有很大帮助 。

仓库管理系统包括管理员、用户、仓库管理员三个角色,主要功能有个人信息管理、仓库管理、物资管理、物资类型管理、公告类型管理、公告管理、用户管理、数据统计等功能模块。

2 技术选型 

仓库管理系统采用的是Java语言,使用框架技术有SpringBoot+mybatis/mybatisplus+vue等,数据库使用的是MySQL,采用Maven构建工具,可使用开发软件有 idea/navicat/vscode,都能够正常运行。 

3 系统总体设计 

3.1系统功能模块设计 

 3.2 数据库概念结构设计

 (1)公告实体属性图

 (2)物资实体属性图

(3) 物资申请实体属性图

3.3 数据库逻辑结构设计  

 表3.1公告表

表3.2仓库管理员表

表3.3物资表

表3.4物资申请表​​​​​​​

表3.5用户表​​​​​​​​​​​​​​

表3.6管理员表​​​​​​​

 4 项目效果图

(1)用户登录界面​​​​​​​​ (2)系统首页

 (3)仓库管理界面​​​​​​​

 (4)物资类型管理界面​​​​​​​

 (5)物资申请管理界面​​​​​​​

 (6)物资管理界面​​​​​​​

 (7)仓库管理员管理界面​​​​​​​

 (8)物资申请审核界面​​​​​​​

 (9)物资申请管理界面​​​​​​​

5 代码实现  

  1. /**
  2. * 物资
  3. * 后端接口
  4. * @author 计算机学姐
  5. */
  6. @RestController
  7. @Controller
  8. @RequestMapping("/wuzi")
  9. public class WuziController {
  10. private static final Logger logger = LoggerFactory.getLogger(WuziController.class);
  11. private static final String TABLE_NAME = "wuzi";
  12. @Autowired
  13. private WuziService wuziService;
  14. @Autowired
  15. private TokenService tokenService;
  16. @Autowired
  17. private DictionaryService dictionaryService;//字典
  18. @Autowired
  19. private GonggaoService gonggaoService;//公告
  20. @Autowired
  21. private LaoshiService laoshiService;//仓库管理员
  22. @Autowired
  23. private WuziShenqingService wuziShenqingService;//物资申请
  24. @Autowired
  25. private XueshengService xueshengService;//用户
  26. @Autowired
  27. private UsersService usersService;//管理员
  28. /**
  29. * 后端列表
  30. */
  31. @RequestMapping("/page")
  32. public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
  33. logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
  34. String role = String.valueOf(request.getSession().getAttribute("role"));
  35. if(false)
  36. return R.error(511,"永不会进入");
  37. else if("用户".equals(role))
  38. params.put("xueshengId",request.getSession().getAttribute("userId"));
  39. else if("仓库管理员".equals(role))
  40. params.put("laoshiId",request.getSession().getAttribute("userId"));
  41. CommonUtil.checkMap(params);
  42. PageUtils page = wuziService.queryPage(params);
  43. //字典表数据转换
  44. List<WuziView> list =(List<WuziView>)page.getList();
  45. for(WuziView c:list){
  46. //修改对应字典表字段
  47. dictionaryService.dictionaryConvert(c, request);
  48. }
  49. return R.ok().put("data", page);
  50. }
  51. /**
  52. * 后端详情
  53. */
  54. @RequestMapping("/info/{id}")
  55. public R info(@PathVariable("id") Long id, HttpServletRequest request){
  56. logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
  57. WuziEntity wuzi = wuziService.selectById(id);
  58. if(wuzi !=null){
  59. //entity转view
  60. WuziView view = new WuziView();
  61. BeanUtils.copyProperties( wuzi , view );//把实体数据重构到view中
  62. //修改对应字典表字段
  63. dictionaryService.dictionaryConvert(view, request);
  64. return R.ok().put("data", view);
  65. }else {
  66. return R.error(511,"查不到数据");
  67. }
  68. }
  69. /**
  70. * 后端保存
  71. */
  72. @RequestMapping("/save")
  73. public R save(@RequestBody WuziEntity wuzi, HttpServletRequest request){
  74. logger.debug("save方法:,,Controller:{},,wuzi:{}",this.getClass().getName(),wuzi.toString());
  75. String role = String.valueOf(request.getSession().getAttribute("role"));
  76. if(false)
  77. return R.error(511,"永远不会进入");
  78. Wrapper<WuziEntity> queryWrapper = new EntityWrapper<WuziEntity>()
  79. .eq("wuzi_name", wuzi.getWuziName())
  80. .eq("wuzi_danwei", wuzi.getWuziDanwei())
  81. .eq("wuzi_types", wuzi.getWuziTypes())
  82. .eq("wuzi_kucun_number", wuzi.getWuziKucunNumber())
  83. .eq("wuzi_yuzhi", wuzi.getWuziYuzhi())
  84. .eq("cangku_types", wuzi.getCangkuTypes())
  85. ;
  86. logger.info("sql语句:"+queryWrapper.getSqlSegment());
  87. WuziEntity wuziEntity = wuziService.selectOne(queryWrapper);
  88. if(wuziEntity==null){
  89. wuzi.setInsertTime(new Date());
  90. wuzi.setCreateTime(new Date());
  91. wuziService.insert(wuzi);
  92. return R.ok();
  93. }else {
  94. return R.error(511,"表中有相同数据");
  95. }
  96. }

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

6 总结  

仓库管理系统现已完成了开发,除了基本功能可以符合用户需求外,在页面设计层面上没有融入更多的设计元素,需要从美学角度进行优化,另外在程序的代码层面,也有许多重合部分,需要进行整理归类,让代码变得更加的简洁。实践出真知,但是知识也是通过实践变得更加深刻,这次作品制作,让自己的专业知识水平与解决问题的能力得到了提高。也让自己更加明白活到老学到老的真正含义。

7 源码获取或咨询 

 关注公众号:计算机编程吧

关注后 会不定时更新学习资源,发放福利哟!

 感谢大家能够积极点赞、收藏、关注、评论哦 ,更多推荐:计算机毕业设计

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/146593
推荐阅读
相关标签