• 基于SSM的社区疫情居民信息登记系统


    博主主页猫头鹰源码

    博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

    主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

    文末联系获取

    项目介绍: 

    该系统创作于2022年5月,包含详细数据库设计。基于ssm整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:社区、疫情、居民登记、信息登记等。

    项目功能:

    系统共分为用户端,管理员端。

    用户端
    登录注册
    社区用户信息管理:填写
    公告管理:查看
    外来人员报备管理:填写
    志愿者申请管理:填写
    在线交流管理:填写对社区意见,填写完页面会显示。
    物资需求管理:填写


    管理员端
    登录注册
    用户管理:新增用户,修改,查看,删除
    管理员管理:新增管理员,修改,查看,删除
    社区用户信息管理:新增社区用户信息,修改,查看,删除
    外来人员报备管理:新增外来人员报备信息,修改,查看,删除
    志愿者申请管理:新增志愿者申请信息,修改,查看,删除
    物资需求管理:新增物资需求信息,修改,查看,删除
    公告管理:新增公告,修改,查看,删除
    在线交流管理:新增在线交流信息,修改,查看,删除

    添加功能:

    1、用户新增物资需求,由管理员进行审批
    2、管理员添加志愿服务模块,维护志愿服务内容,用户申请志愿者,需要对某一个志愿服务进行申请,申请后,等待管理员审核
    3、统计近7日外来人员数量曲线
    4、物资需求添加分类字段,统计每个分类物资需求的饼状图
    5、管理员入库物资,用户的物资需求需要选择已经入库的物资,填写完成后,管理员审核通过后入库的数量会相应减少

    数据模型设计:

    数据库表结构文档:

    系统包含技术:

    后端:SSM
    前端:layui,js,css等
    开发工具:idea
    数据库:mysql 5.7
    JDK版本:jdk1.8
    服务器:tomcat8

    部分截图说明:

    下面是登录页面

    管理员首页

    管理员对用户进行管理

     管理员社区用户管理

    管理员志愿者申请维护

    在线交流

    用户申请物资

     修改个人信息

    部分代码:

    物资相关操作

    1. /**
    2. * 分页查询
    3. * pageIndex 当前页码
    4. * pageSize 显示条数
    5. */
    6. @RequestMapping(value = "/findMeterial")
    7. public String findMeterial(Integer pageIndex, Integer pageSize,String mid, Model model,HttpServletRequest request) {
    8. HttpSession session = request.getSession();
    9. if(session.getAttribute("ad") == null){
    10. session.setAttribute("msg", "对不起,请登录!");
    11. return "login";
    12. }
    13. Map mp = new HashMap();
    14. mp.put("mid",mid);
    15. PageInfo<Meterial> pageList = meterialService.findPageInfo(pageIndex,pageSize,mp);
    16. model.addAttribute("pageList",pageList);
    17. List<MeterialInfo> meterialInfos = meterialInfoService.getAll();
    18. model.addAttribute("meterialInfos",meterialInfos);
    19. return "MeterialList";
    20. }
    21. /**
    22. * 添加
    23. */
    24. @RequestMapping(value = "/addMeterial" ,method = RequestMethod.POST)
    25. @ResponseBody
    26. public String addMeterial( @RequestBody Meterial meterial,HttpServletRequest request) {
    27. try{
    28. HttpSession session = request.getSession();
    29. if(session.getAttribute("ad") == null){
    30. session.setAttribute("msg", "对不起,请登录!");
    31. return "login";
    32. }
    33. MeterialInfo meterialInfoById = meterialInfoService.findMeterialInfoById(meterial.getMid());
    34. int mnum = Integer.parseInt(meterial.getNum());
    35. int minum = Integer.parseInt(meterialInfoById.getNum());
    36. if(mnum>minum){
    37. return "202";
    38. }
    39. User user = (User)session.getAttribute("ad");
    40. meterial.setUid(user.getId());
    41. meterial.setStatus("01");
    42. SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    43. meterial.setCreateTime(sf.format(new Date()));
    44. meterialService.addMeterial(meterial);
    45. //更新库存
    46. int kucun = minum - mnum;
    47. meterialInfoById.setNum(String.valueOf(kucun));
    48. meterialInfoService.updateMeterialInfo(meterialInfoById);
    49. return "200";
    50. }catch (Exception e){
    51. e.printStackTrace();
    52. return "201";
    53. }
    54. }
    55. /**
    56. * 删除
    57. */
    58. @RequestMapping( "/deleteMeterial")
    59. @ResponseBody
    60. public String deleteMeterial(String id) {
    61. int d = meterialService.deleteMeterial(id);
    62. return "MeterialList";
    63. }
    64. /**
    65. * 修改
    66. */
    67. @RequestMapping( "/updateMeterial")
    68. @ResponseBody
    69. public String updateMeterial(@RequestBody Meterial meterial) {
    70. try{
    71. meterialService.updateMeterial(meterial);
    72. return "200";
    73. }catch (Exception e){
    74. e.printStackTrace();
    75. return "201";
    76. }
    77. }
    78. /**
    79. * 审批
    80. */
    81. @RequestMapping( "/shenpi")
    82. @ResponseBody
    83. public String shenpi(String id,String status,HttpServletRequest request) {
    84. HttpSession session = request.getSession();
    85. if(session.getAttribute("ad") == null){
    86. session.setAttribute("msg", "对不起,请登录!");
    87. return "login";
    88. }
    89. Meterial meterial = new Meterial();
    90. meterial.setId(id);
    91. meterial.setStatus(status);
    92. int d = meterialService.updateMeterial(meterial);
    93. if(status.equals("03")){
    94. Meterial meterial1 = meterialService.findMeterialById(id);
    95. MeterialInfo meterialInfo = meterialInfoService.findMeterialInfoById(meterial1.getMid());
    96. int meterial_num = Integer.parseInt(meterial1.getNum());
    97. meterial_num = meterial_num+Integer.parseInt(meterialInfo.getNum());
    98. meterialInfo.setNum(String.valueOf(meterial_num));
    99. meterialInfoService.updateMeterialInfo(meterialInfo);
    100. }
    101. return "200";
    102. }

    以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

    好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

  • 相关阅读:
    pycocotools库的使用
    【分享】在集简云搭建流程,日期格式需要调整怎么办?
    pm命令给某个应用授权限
    使用pytorch实现一个线性回归训练函数
    挑战来了!如何应对大商家订单多小商家没有订单的数据倾斜问题?
    【Linux】进程终止
    java多线程-单例模式与多线程
    Vue.js的设计思路
    矢量叉乘能否反求矢量
    129-Vue中表单修饰符
  • 原文地址:https://blog.csdn.net/mtyedu/article/details/126714965