基于springboot+vue的学生宿舍管理系统(前后端分离)

发布时间:2024年01月22日

博主主页猫头鹰源码

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

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

文末联系获取

项目背景:??

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。所以各行业,尤其是规模较大的企业和学校等都开始借助互联网和软件工具管理信息,传播信息,共享信息等等,以此可以增强自身实力,提高在同行业当中的竞争能力,并从各种激烈的竞争中获取发展的机会。针对学生宿舍信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,经过分析和考虑,在目前的情况下,可以引进一款学生宿舍管理系统这样的现代化管理工具,这个工具就是解决上述问题的最好的解决方案。它不仅可以实时完成信息处理,还缩短学生宿舍信息管理流程,使其系统化和规范化。同时还可以减少工作量,节约学生宿舍信息管理需要的人力和资金。所以学生宿舍管理系统是信息管理环节中不可缺少的工具,它对管理者来说非常重要。

课题意义:

现如今,信息种类变得越来越多,信息的容量也变得越来越大,这就是信息时代的标志。近些年,计算机科学发展得也越来越快,而且软件开发技术也越来越成熟,因此,在生活中的各个领域,只要存在信息管理,几乎都有计算机的影子,可以说很多行业都采用计算机的方式管理信息。信息计算机化处理相比手工操作,有着保密性强,效率高,存储空间大,成本低等诸多优点。针对学生宿舍信息管理,采用学生宿舍管理系统可以有效管理,使信息管理能够更加科学和规范。

总之,在实际中使用学生宿舍管理系统,其意义如下:

第一点:学生宿舍管理系统的实际运用,可以帮助管理人员在短时间内完成信息处理工作;

第二点:通过系统页面的合理排版布局,可以更加直观的展示系统的内容,并且使用者可以随时阅读页面信息,随时操作系统提供的功能;

第三点:可以实现信息管理计算机化;

第四点:可以降低信息管理成本;

功能介绍:

不同的系统提供的服务也不相同,其对应的功能也不相同,所以,系统开工前,需要明确其用途,确定其功能。由此,才可以进行各个任务的开展。

学生宿舍管理系统经过分析,确定了其需要设置管理员的角色,其操作的功能通过用例图展示(见下图)。管理员管理宿管员,管理学生,修改密码,维护个人信息。

学生宿舍管理系统经过分析,确定了其需要设置宿管员的角色,其操作的功能通过用例图展示(见下图)。宿管员管理公寓资产,缴费信息,公共场所清理信息,日常事务信息,审核学生床位安排信息。

学生宿舍管理系统经过分析,确定了其需要设置学生的角色,其操作的功能通过用例图展示(见下图)。学生查看公共场所清理信息,日常事务,缴费信息,在线申请床位,查看床位安排。

系统包含技术:

后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

管理员进入指定功能操作区之后可以管理宿管员。其页面见下图。宿管员的资料需要管理员负责管理,包括修改,新增,删除等操作。

管理员进入指定功能操作区之后可以管理学生。其页面见下图。学生信息也需要管理员负责管理,包括信息的增删改查操作。

宿管员进入指定功能操作区之后可以管理学生信息。其页面见下图。宿管员增删改查学生信息,为各位学生申请床位,管理学生的卫生记录和日常事务评分。

宿管员进入指定功能操作区之后可以管理公寓资产。其页面见下图。公寓资产存在损坏情况,需要宿管员通过损坏按钮登记公寓资产损坏信息。

宿管员进入指定功能操作区之后可以管理缴费信息。其页面见下图。宿管员增删改缴费信息

宿管员进入指定功能操作区之后可以管理床位安排。其页面见下图。宿管员审核对学生的床位安排信息。

学生进入指定功能操作区之后可以申请床位。其页面见下图。学生可以选择床位号进行床位申请,宿管员审核通过之后,学生才能使用申请的床位。

部分代码:

/**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,GongyuzichanEntity gongyuzichan,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("suguanyuan")) {
			gongyuzichan.setGonghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<GongyuzichanEntity> ew = new EntityWrapper<GongyuzichanEntity>();
		PageUtils page = gongyuzichanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongyuzichan), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,GongyuzichanEntity gongyuzichan, HttpServletRequest request){
        EntityWrapper<GongyuzichanEntity> ew = new EntityWrapper<GongyuzichanEntity>();
		PageUtils page = gongyuzichanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongyuzichan), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( GongyuzichanEntity gongyuzichan){
       	EntityWrapper<GongyuzichanEntity> ew = new EntityWrapper<GongyuzichanEntity>();
      	ew.allEq(MPUtil.allEQMapPre( gongyuzichan, "gongyuzichan")); 
        return R.ok().put("data", gongyuzichanService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(GongyuzichanEntity gongyuzichan){
        EntityWrapper< GongyuzichanEntity> ew = new EntityWrapper< GongyuzichanEntity>();
 		ew.allEq(MPUtil.allEQMapPre( gongyuzichan, "gongyuzichan")); 
		GongyuzichanView gongyuzichanView =  gongyuzichanService.selectView(ew);
		return R.ok("查询公寓资产成功").put("data", gongyuzichanView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        GongyuzichanEntity gongyuzichan = gongyuzichanService.selectById(id);
        return R.ok().put("data", gongyuzichan);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        GongyuzichanEntity gongyuzichan = gongyuzichanService.selectById(id);
        return R.ok().put("data", gongyuzichan);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody GongyuzichanEntity gongyuzichan, HttpServletRequest request){
    	gongyuzichan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gongyuzichan);
        gongyuzichanService.insert(gongyuzichan);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody GongyuzichanEntity gongyuzichan, HttpServletRequest request){
    	gongyuzichan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(gongyuzichan);
        gongyuzichanService.insert(gongyuzichan);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody GongyuzichanEntity gongyuzichan, HttpServletRequest request){
        //ValidatorUtils.validateEntity(gongyuzichan);
        gongyuzichanService.updateById(gongyuzichan);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        gongyuzichanService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

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

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

文章来源:https://blog.csdn.net/mtyedu/article/details/135739101
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。