基于JAVA语言的毕业设计分配选题系统 开源项目

在这里插入图片描述



一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的毕业设计分配选题系统,包含了专业档案模块、学生选题模块、教师放题模块、选题审核模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,毕业设计分配选题系统基于角色的访问控制,给学生、教师、教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 专业档案模块

毕业设计分配选题系统的专业档案模块是一个重要的功能模块,它主要用来管理学校或院系的专业信息和相关档案。专业档案模块可以记录和管理学校或院系的专业信息,包括专业名称、专业代码、专业介绍、开设学年等。专业档案模块可以建立和管理每个专业的档案,包括专业历史、发展动态、教学特点、师资力量、课程设置等相关信息。学生和教师可以通过专业档案模块进行专业档案的查询和检索,快速获取相关信息。专业档案模块可以实现专业档案的更新和维护,保持档案信息的及时性和准确性。

专业档案模块可以设置不同用户的权限,保护专业档案的安全性,确保只有授权用户可以进行档案管理操作。专业档案模块可以对专业的数据进行统计分析,并通过图表或报表的方式展示,帮助学校或院系了解专业的发展状况和趋势。专业档案模块可以与毕业设计选题系统的其他模块进行集成,实现数据的共享和交互,提高系统的整体效率和便利性。毕业设计分配选题系统的专业档案模块可以有效管理和展示学校或院系的专业信息,为学生和教师提供便捷的查询和参考,促进专业的发展和优化。

2.2 学生选题模块

毕业设计分配选题系统的学生选题模块是系统中非常重要的一部分,它用于学生选择和申请毕业设计选题。教师或学校可以在系统中发布各种可供学生选择的毕业设计选题,包括选题名称、选题描述、选题要求等信息。学生可以在系统中浏览已发布的毕业设计选题,并通过搜索、筛选等方式快速找到感兴趣的选题。学生可以选择心仪的选题,并提交选题申请。申请通常包括个人简介、选题理由、选题计划等相关材料。教师或指导教师可以对学生的选题申请进行审核,评估学生的能力和选题的合理性,决定是否通过选题申请。一旦选题申请通过审核,系统可以根据学校或院系的分配规则,自动分配选题给学生,或由指导教师手动分配选题。

学生可以在系统中查看自己已选的毕业设计选题,并进行选题信息的修改或变更。学生和指导教师可以通过系统内部的消息或讨论功能进行选题相关的交流和沟通。系统可以记录和管理学生的选题进度,包括选题的完成情况、报告的提交和评审等信息,方便学校或教师进行进度管理和评估。毕业设计分配选题系统的学生选题模块可以为学生提供方便快捷的选题流程和交流平台,帮助学生在毕业设计中选择适合自己的选题,并提供一定的管理和监督机制,促进毕业设计的顺利进行。

2.3 教师放题模块

毕业设计分配选题系统的教师放题模块主要负责教师发布毕业设计选题的功能。教师通过用户名和密码登录系统。教师选择自己负责的课程或专业。教师可以创建新的毕业设计选题,包括选题名称、描述、要求等信息。教师可以设置选题的相关属性,如选题类型(理论研究、实验设计、系统开发等)、选题难度(初级、中级、高级等)等。教师可以为选题设置限制条件,如最大选题人数、适合的学生专业等。教师可以预览已创建的选题,确保信息准确无误。教师确认无误后,将选题发布到系统中,供学生选择。教师可以随时查看选题的选择情况和学生名单。

2.4 选题审核模块

毕业设计分配选题系统的选题审核模块主要负责对学生提交的毕业设计选题进行审核和评审。学生通过系统提交自己的毕业设计选题申请,包括选题名称、描述、所属课程、选题类型等信息。教师登录系统,进入选题审核模块,查看待审核的选题申请。教师对学生提交的选题申请进行审核,包括对选题的可行性、合理性和创新性进行评估。教师根据学生提交的选题申请和相关资料,对选题的研究目标、方法、可行性等进行评审,并给出评审意见和建议。

系统根据教师的审核结果,给学生发送通知,告知选题审核结果,包括审核通过、审核不通过或需要修改等。如果选题审核不通过或需要修改,学生可以根据教师的建议进行相应修改,并重新提交选题申请。教师对学生修改后的选题申请进行再次审核。教师根据最终审核结果,确定选题的通过与否,并将结果反馈给学生和系统。选题审核模块可以实现对学生提交的毕业设计选题进行全面的审核和评审,确保选题的质量和合理性,为学生提供优质的毕业设计选题。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询专业

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询专业")
public Result<IPage<Major>> getByPage(@ModelAttribute Major major ,@ModelAttribute PageVo page){
    QueryWrapper<Major> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(major.getTitle())) {
        qw.like("title",major.getTitle());
    }
    IPage<Major> data = iMajorService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Major>>().setData(data);
}

4.2 新增专业

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增专业")
public Result<Major> insert(Major major){
    iMajorService.saveOrUpdate(major);
    return new ResultUtil<Major>().setData(major);
}

4.3 选择课题

@RequestMapping(value = "/checkTopic", method = RequestMethod.POST)
@ApiOperation(value = "选择课题")
public Result<Object> checkTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    User currUser = securityUtil.getCurrUser();
    topic.setCheckFlag(true);
    topic.setCheckId(currUser.getId());
    topic.setCheckName(currUser.getNickname());
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

4.4 取消选择课题

@RequestMapping(value = "/checkNotTopic", method = RequestMethod.POST)
@ApiOperation(value = "取消选择课题")
public Result<Object> checkNotTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    topic.setCheckFlag(false);
    topic.setCheckId("");
    topic.setCheckName("");
    topic.setAuditFlag(false);
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

4.5 审核课题

@RequestMapping(value = "/auditTopic", method = RequestMethod.POST)
@ApiOperation(value = "审核课题")
public Result<Object> auditTopic(@RequestParam String id){
    Topic topic = iTopicService.getById(id);
    if(topic == null) {
        return ResultUtil.error("课题不存在");
    }
    topic.setAuditFlag(true);
    iTopicService.saveOrUpdate(topic);
    return ResultUtil.success();
}

五、免责说明

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

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

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

在这里插入图片描述

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡晗靓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值