您的当前位置:首页正文

【毕业设计】基于SpringBoot的学生公寓管理系统的设计与实现

2024-11-25 来源:个人技术集锦

一、项目介绍 

本系统中主要的功能。包括新生的入宿、在宿学生的管理、来访管理、宿舍扣分情况管理及值班日记等。其中,系统应能提供有效的、快捷的获知有空床位的寝室情况和该寝室内已住学生的基本信息;对各寝室在宿学生情况能有效管理;对外来人员的访问要详细登记证件号、要访问学生所在的公寓楼和宿舍号及时间等信息。

二、项目主要技术 

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven: apache-maven 3.8.1-bin

三、系统功能

该系统设计三个角色:系统管理员、公寓管理员、学生

(1)用户管理模块:
系统管理员作为使用者,能够开展一系列的操作,包括:分配权限、对用户信息进行增添/查看删除/修改、设置角色等。
(2)登录模块:
不同角色用户能够在输入用户名及密码之后,成功进入到系统内,并结合不同的需求开展相关操作。学生及公寓管理工作者能够进入到系统前台页面,在一些模块内进行操作;系统管理员能够在全部模块内开展操作。
(3)宿舍分配模块︰
公寓管理人员作为该模块的使用者,能够对学生房间号、宿舍学生信息等多种公寓宿舍分配信息进行查看。在对学生宿舍进行分配的过程中,管理员能够依据所查看的相关信息,制定出合理的分配决策,同时还能够删除、增添及修改宿舍信息,对宿舍的分配状况进行整理。
(4)人员来访登记模块:
对进出公寓人员的来访登记及结束访问进行详细记录。物品的名称、进出公寓的详细记录

(5)学生报修模块

(6)新闻公告模块

(7)卫生评比模块

可以对学生的宿舍卫生进行增扣分登记

详细说来,本系统应能完成业务:

1.系统管理:本功能应能完成对系统中所有日常数据的维护。包括对系统初始状态时的公寓楼管理、各公寓楼房间的管理、学院名称管理、专业名称管理、年级管理及系统管理员管理等。

2.日常管理:这是本系统中主要的功能。包括新生的入宿、在宿学生的管理、来访管理、宿舍扣分情况管理及值班日记等。其中,系统应能提供有效的、快捷的获知有空床位的寝室情况和该寝室内已住学生的基本信息;对各寝室在宿学生情况能有效管理;对外来人员的访问要详细登记证件号、要访问学生所在的公寓楼和宿舍号及时间等信息。 

四、系统实现

登录页面

学生管理 

宿舍信息管理

来访登记管理 

缺勤信息管理

宿舍评比管理

五、实现代码

宿舍信息

/**
 * 宿舍信息
 * 后端接口
 * @author 
 * @email 
 * @date 2023-04-22 17:58:16
 */
@RestController
@RequestMapping("/sushexinxi")
public class SushexinxiController {
    @Autowired
    private SushexinxiService sushexinxiService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,SushexinxiEntity sushexinxi,
		HttpServletRequest request){
        EntityWrapper<SushexinxiEntity> ew = new EntityWrapper<SushexinxiEntity>();

		PageUtils page = sushexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, sushexinxi), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,SushexinxiEntity sushexinxi, 
		HttpServletRequest request){
        EntityWrapper<SushexinxiEntity> ew = new EntityWrapper<SushexinxiEntity>();

		PageUtils page = sushexinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, sushexinxi), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(SushexinxiEntity sushexinxi){
        EntityWrapper< SushexinxiEntity> ew = new EntityWrapper< SushexinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( sushexinxi, "sushexinxi")); 
		SushexinxiView sushexinxiView =  sushexinxiService.selectView(ew);
		return R.ok("查询宿舍信息成功").put("data", sushexinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        SushexinxiEntity sushexinxi = sushexinxiService.selectById(id);
        return R.ok().put("data", sushexinxi);
    }

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



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



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


    

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

}

 

显示全文