【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统

这篇具有很好参考价值的文章主要介绍了【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言



一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的高校宿舍调配管理系统,包含了宿舍管理模块、宿舍分配模块、个人配置模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,高校宿舍调配管理系统基于角色的访问控制,给高校管理员、教师和学生角色使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能需求

第二章为功能需求,并非实际功能模块,请同学们知晓。

使用技术:前端vue 后端springboot 数据库mysql。

名称:基于多维匹配度分析的宿舍调配管理系统开发。

登录界面分角色登录,在登录之前展示如下界面。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
点击右上方登录进入登录界面,如下。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
一共有三个用户:学生 宿管 老师

2.1 学生端

有个人信息的添加修改,退出登录,分配信息(填写宿舍分配所需个人信息),调宿信息(填写申请调宿申请和查看反馈结果),我的舍友(展示宿舍分配之后的舍友信息)。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言

申请调宿的信息:

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
分配宿舍的信息:

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
在分配宿舍这块使用 kmeans 算法或者 贪心 算法。

2.2 宿管

个人信息的填写修改,学生管理(该楼学生的信息查询)。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言

2.3 老师端

个人信息,学生查询(精准查询(按照学号),模糊查询(学院专业班级)),宿舍调配(处理学生的申请调宿问题),再有一个对按照算法分配好的学生宿舍结果的一个确认。

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言


三、系统展示

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言
【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言


四、核心代码

4.1 查询单条个人习惯

@RequestMapping(value = "/getMySettings", method = RequestMethod.GET)
@ApiOperation(value = "查询单条个人习惯")
public Result<MySettings> getMySettings(){
    User currUser = securityUtil.getCurrUser();
    MySettings mySettings = iMySettingsService.getById(currUser.getId());
    if(mySettings == null) {
        mySettings = MySettingsUtils.getMySettings(currUser);
        iMySettingsService.saveOrUpdate(mySettings);
    }
    return new ResultUtil<MySettings>().setData(mySettings);
}

4.2 查询我的室友

@RequestMapping(value = "/getMyFriend", method = RequestMethod.GET)
@ApiOperation(value = "查询我的室友")
public Result<List<MySettings>> getMyFriend(){
    User currUser = securityUtil.getCurrUser();
    MySettings mySettings = iMySettingsService.getById(currUser.getId());
    if(mySettings == null) {
        return ResultUtil.error("没有你的配置");
    }
    QueryWrapper<MySettings> qw = new QueryWrapper<>();
    qw.eq("dorm_id",mySettings.getDormId());
    return new ResultUtil<List<MySettings>>().setData(iMySettingsService.list(qw));
}

4.3 查询宿舍

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询宿舍")
public Result<IPage<Dorm>> getByPage(@ModelAttribute Dorm dorm ,@ModelAttribute PageVo page){
    QueryWrapper<Dorm> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(dorm.getHouse())) {
        qw.like("house",dorm.getHouse());
    }
    if(!ZwzNullUtils.isNull(dorm.getRoom())) {
        qw.like("room",dorm.getRoom());
    }
    if(!ZwzNullUtils.isNull(dorm.getType())) {
        qw.like("type",dorm.getType());
    }
    IPage<Dorm> data = iDormService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Dorm>>().setData(data);
}

4.4 查询指定性别全部宿舍

@RequestMapping(value = "/getMyAll", method = RequestMethod.GET)
@ApiOperation(value = "查询指定性别全部宿舍")
public Result<List<Dorm>> getMyAll(){
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<Dorm> qw = new QueryWrapper<>();
    if(Objects.equals("女",currUser.getSex())) {
        qw.eq("type","女生宿舍");
    } else {
        qw.eq("type","男生宿舍");
    }
    return new ResultUtil<List<Dorm>>().setData(iDormService.list(qw));
}

4.5 初次分配宿舍

@RequestMapping(value = "/createDorm", method = RequestMethod.GET)
@ApiOperation(value = "初次分配宿舍")
public Result<Object> createDorm(){
    User currUser = securityUtil.getCurrUser();
    MySettings mySettings = iMySettingsService.getById(currUser.getId());
    if(mySettings == null) {
        return ResultUtil.error("未初始化");
    }
    if(!ZwzNullUtils.isNull(mySettings.getDormId())) {
        return ResultUtil.error("您的宿舍已分配!");
    }
    QueryWrapper<DormChange> qw2 = new QueryWrapper<>();
    qw2.eq("user_id",currUser.getId());
    qw2.eq("status","未审核");
    if(iDormChangeService.count(qw2) > 0L) {
        return ResultUtil.error("您已申请,请等待审核!");
    }
    // 确认学生的性别
    String sex = mySettings.getSex();
    if(!Objects.equals("女",sex)) {
        sex = "男";
    }
    // 查询所有宿舍
    List<Dorm> dormList = iDormService.list();
    // 次优解,空宿舍
    Dorm ans2 = null;
    // 最优解,有人且符合条件的宿舍
    Dorm ans1 = null;
    // 最优解符合的条件数
    Integer ansCount = -1;
    for (Dorm d : dormList) {
        if(Objects.equals("男",sex) && Objects.equals("女生宿舍",d.getType()) || Objects.equals("女",sex) && Objects.equals("男生宿舍",d.getType())) {
            // 宿舍性别过滤
            continue;
        }
        // 查询宿舍内的学生
        QueryWrapper<MySettings> sQw = new QueryWrapper<>();
        sQw.eq("dorm_id",d.getId());
        List<MySettings> settingsList = iMySettingsService.list(sQw);
        if(settingsList.size() > 1) {
            // 设定两人满员,过滤该宿舍
        } else if(settingsList.size() < 1) {
            // 找到次优解
            if(ans2 == null) {
                ans2 = d;
            }
        } else {
            // 宿舍内满足条件的数量
            Integer maxCount = 0;
            MySettings se = settingsList.get(0);
            if(se == null) {
                continue;
            }
            // 计算和室友关系的匹配指标
            if(Objects.equals(se.getSetting1(),mySettings.getSetting1())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting2(),mySettings.getSetting2())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting3(),mySettings.getSetting3())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting4(),mySettings.getSetting4())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting5(),mySettings.getSetting5())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting6(),mySettings.getSetting6())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting7(),mySettings.getSetting7())) {
                maxCount ++;
            }
            if(Objects.equals(se.getSetting8(),mySettings.getSetting8())) {
                maxCount ++;
            }
            if(maxCount > ansCount) {
                // 如果满足最优条件
                ansCount = maxCount;
                ans1 = d;
            }
        }
    }
    if(ans1 != null) {
        DormChange dc = MySettingsUtils.createDormChange(mySettings, ans1);
        iDormChangeService.saveOrUpdate(dc);
    } else if(ans2 != null) {
        DormChange dc = MySettingsUtils.createDormChange(mySettings, ans2);
        iDormChangeService.saveOrUpdate(dc);
    } else {
        return ResultUtil.error("没有合适的宿舍");
    }
    return ResultUtil.success();
}

五、免责说明

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

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

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

【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统,java,开源,vue.js,spring boot,前端,开发语言文章来源地址https://www.toymoban.com/news/detail-817300.html

到了这里,关于【开源】基于JAVA+Vue+SpringBoot的高校宿舍调配管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JAVA毕业设计109—基于Java+Springboot+Vue的宿舍管理系统(源码+数据库)

    本系统前后端分离 本系统分为学生、宿管、超级管理员三种角色 1、用户: 登录、我的宿舍、申请调宿、报修申请、水电费管理、卫生检查、个人信息修改。 2、宿管: 登录、用户管理、宿舍管理、楼宇管理、维修管理、申请管理、访客管理、卫生检查、个人信息修改。 3、

    2024年02月05日
    浏览(49)
  • 基于Java的高校宿舍管理系统设计与实现(源码+lw+部署文档+讲解等)

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年02月07日
    浏览(49)
  • 基于Springboot+Vue实现的宿舍管理系统

    前言 :     在现代教育环境中,学生宿舍的管理显得尤为重要,需要一套能够快速响应、灵活适应的管理系统。我们的系统采用了SpringBoot作为后端框架,为您提供了稳定可靠的服务端支持,确保系统在各种情况下都能够高效运行。同时,借助Vue作为前端框架,我们设计了

    2024年02月21日
    浏览(45)
  • 基于微信小程序的高校宿舍管理系统设计与实现(亮点:选择宿舍、宿舍评分、宿舍报修)

    💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2023-2024年最值得选的微信小程序毕业设计

    2024年04月25日
    浏览(53)
  • IDEA+springboot+ssm+layui+mysql高校宿舍管理系统源码

    本系统实现了高校宿舍管理系统源码,管理端实现了管理员登录、 宿舍列表、 预分配宿舍、 宿舍分配信息、 留校管理、 报修管理、 留言管理、 卫生管理,学生端实现了我的宿舍、我的报修、卫生检查记录、离校登记、留校申请、返校登记、留言板、我的留言 JDK版本:1

    2024年02月15日
    浏览(49)
  • 基于微信小程序的高校宿舍管理系统

    随着移动通讯技术的快速发展和智能终端的快速普及,微信小程序的应用随着智能手机现在已经进入千家万户,通过微信小程序进行娱乐通信学习已经成为学生非常喜欢的方式。学生宿舍作为学生重要的生活学习场所,如何能够可以通过智能终端设备进行宿舍信息的管理成为一

    2024年02月16日
    浏览(46)
  • 一个基于SpringBoot+Vue前后端分离学生宿舍管理系统详细设计实现

    博主介绍 : ✌ 全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到哟 2022-2024年

    2024年02月07日
    浏览(137)
  • 【开源】基于JAVA+Vue+SpringBoot的超市账单管理系统

    基于JAVA+Vue+SpringBoot+MySQL的超市账单管理系统,包含供应商模块、商品管理模块、超市账单模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,超市账单管理系统基于角色的访问控制,给超市管理员

    2024年02月02日
    浏览(53)
  • 【开源】基于JAVA+Vue+SpringBoot的食品生产管理系统

    基于JAVA+Vue+SpringBoot+MySQL的食品生产管理系统,包含了加工厂管理、客户管理、食品管理、生产订单、销售订单、系统公告模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,食品生产管理系统基于

    2024年01月22日
    浏览(48)
  • 基于springboot+Vue+ Element-Plus+mysql实现学生宿舍管理系统

    系统主要功能: 系统管理员:用户管理(学生信息、宿管员信息)、宿舍管理(楼宇信息、房间信息)、信息管理(公告信息、报修信息)、申请管理(调宿申请)、访客管理、水电费管理、卫生检查、个人信息 宿管员:用户管理(学生信息)、宿舍管理(楼宇信息、房间

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包