【开源】基于JAVA的学生综合素质评价系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 学生功能
    • 2.2 教师功能
    • 2.3 教务处功能
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询我的学科竞赛
    • 4.2 保存单个问卷
    • 4.3 根据类型查询学生问卷
    • 4.4 填写语数外评价
    • 4.5 填写品德自评问卷分
  • 五、免责说明


一、摘要

1.1 项目介绍

基于JAVA+Vue+SpringBoot+MySQL的学生综合素质评价系统,包含了成绩查询模块、学生自评模块、教师评价模块和教务打分模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,学生综合素质评价系统基于角色的访问控制,给学生、教师和教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 学生功能

登录:勾选学生登录

学业发展水平(分三个部分,第一个是上学期均分(教师端填写,填写3门课语数外,然后自动计算)学生端只能查看,第二个部分是个自评问卷(内容和分值我会给),第三个部分是获奖情况(用下拉菜单之类的实现等级的区分,国家级,省级之类的,加分和这个有关),对应的加分数值我会给),前两个满分都是一百分,最后的得分取均分加上获奖情况的额外加分。

品德与社会化水平(分两个部分,第一部分是自评问卷,第二部分是教师填写的问卷(教师端填写)自己只能查看填写结果)。满分都是一百分,最后的得分取均分。

身心健康水平(分两个部分,第一部分是自评问卷,第二部分是教师填写的问卷,(教师端填写)自己只能查看填写结果,第三部分是教务处填写的体育考试分数)。三个满分都是一百分,最后的得分取均分。

分数查看功能:查看三个部分的分数和综合分数(综合分数就是三个部分的均分)

2.2 教师功能

登录(选择教师登录)

修改个人信息

评价学生学业发展水平(填写学生上学期分数),没填写的学生会留存在这个页面,直到填写完毕为止。

评价学生品德与社会化水平(填写问卷),没填写的学生会留存在这个页面,直到评价完毕为止。

查询学生信息,只能查询属于自己的班级的(通过姓名或者学号,或者该学生是否评价完的状态(这里的评价完就是指自己有没有评价完,不管学生自评和教务处填写的东西),或者综合成绩的区间)。信息包括学号,姓名,班级,分数的查看(包括学业、品德、身心健康和综合成绩等四项)和是否已经完成评价。

2.3 教务处功能

登录(选择教务处登录)

修改个人信息

评价学生身心健康水平(填写体育考试分数),没填写的学生会留存在这个页面,直到评价完毕为止。

查询学生信息(通过姓名或者学号,或者班级,或者该学生是否评价完的状态(这里的评价完就是指自己有没有评价完,不管学生自评和教师填写的东西),或者综合成绩的区间),信息包括学号,姓名,分数的查看(包括学业、品德、身心健康和综合成绩等四项)和是否已经完成评价。


三、系统展示

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


四、核心代码

4.1 查询我的学科竞赛

@RequestMapping(value = "/getMyPage", method = RequestMethod.GET)
@ApiOperation(value = "查询我的学科竞赛")
public Result<IPage<Competition>> getMyPage(@ModelAttribute Competition competition ,@ModelAttribute PageVo page){User currUser = securityUtil.getCurrUser();QueryWrapper<StudentEvaluate> seQw = new QueryWrapper<>();seQw.eq("user_id",currUser.getId());List<StudentEvaluate> evaluateList = iStudentEvaluateService.list(seQw);StudentEvaluate se = null;if(evaluateList.size() < 1) {se = EvaluateUtils.getBlackStudentEvaluate(currUser.getId());iStudentEvaluateService.saveOrUpdate(se);} else {se = evaluateList.get(0);}QueryWrapper<Competition> qw = new QueryWrapper<>();qw.eq("evaluate_id",se.getId());if(!ZwzNullUtils.isNull(competition.getLevel())) {qw.like("level",competition.getLevel());}if(!ZwzNullUtils.isNull(competition.getTitle())) {qw.like("title",competition.getTitle());}if(!ZwzNullUtils.isNull(competition.getValue())) {qw.like("value",competition.getValue());}IPage<Competition> data = iCompetitionService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<Competition>>().setData(data);
}

4.2 保存单个问卷

@RequestMapping(value = "/saveOneByType", method = RequestMethod.GET)
@ApiOperation(value = "保存单个问卷")
public Result<Object> getOneByType(@RequestParam int type, @RequestParam String value){StudentEvaluate studentEvaluate = evaluateUtils.getMyStudentEvaluate();QueryWrapper<Questionnaire> qw = new QueryWrapper<>();qw.eq("evaluate_id",studentEvaluate.getId());qw.eq("type",type);List<Questionnaire> questionnaireList = iQuestionnaireService.list(qw);if(questionnaireList.size() < 1) {Questionnaire qu = new Questionnaire();qu.setType(type);qu.setValue(value);qu.setEvaluateId(studentEvaluate.getId());qu.setStatus(1);iQuestionnaireService.saveOrUpdate(qu);} else {Questionnaire questionnaire = questionnaireList.get(0);questionnaire.setValue(value);questionnaire.setStatus(1);iQuestionnaireService.saveOrUpdate(questionnaire);}return ResultUtil.success();
}

4.3 根据类型查询学生问卷

@RequestMapping(value = "/getOneByType", method = RequestMethod.GET)
@ApiOperation(value = "根据类型查询学生问卷")
public Result<List<String>> getOneByType(@RequestParam int type){StudentEvaluate se = evaluateUtils.getMyStudentEvaluate();QueryWrapper<Questionnaire> qw = new QueryWrapper<>();qw.eq("evaluate_id",se.getId());qw.eq("type",type);List<Questionnaire> questionnaireList = iQuestionnaireService.list(qw);if(questionnaireList.size() < 1) {return new ResultUtil<List<String>>().setData(new ArrayList<>());}return new ResultUtil<List<String>>().setData(StrToListUtils.getListByStr(questionnaireList.get(0).getValue()));
}

4.4 填写语数外评价

@RequestMapping(value = "/editYuShuWai", method = RequestMethod.GET)
@ApiOperation(value = "填写语数外评价")
public Result<StudentEvaluate> editYuShuWai(@RequestParam String id,@RequestParam float yu,@RequestParam float shu,@RequestParam float wai){StudentEvaluate evaluate = iStudentEvaluateService.getById(id);if(evaluate == null) {return ResultUtil.error("评价单不存在");}evaluate.setAchievementOne(BigDecimal.valueOf(yu));evaluate.setAchievementTwo(BigDecimal.valueOf(shu));evaluate.setAchievementThree(BigDecimal.valueOf(wai));evaluate.setAchievementSum(BigDecimal.valueOf((yu + shu + wai) / 3));double oneSum = (evaluate.getAchievementSum().floatValue() +  evaluate.getQuestionnaireOne().floatValue()) / 2 + evaluate.getCompetitionMine().floatValue();evaluate.setAnsOne(BigDecimal.valueOf(oneSum));double ansSum = (evaluate.getAnsOne().floatValue() + evaluate.getAnsTwo().floatValue() + evaluate.getAnsThree().floatValue()) / 3;evaluate.setAnsSum(BigDecimal.valueOf(ansSum));iStudentEvaluateService.saveOrUpdate(evaluate);return new ResultUtil<StudentEvaluate>().setData(iStudentEvaluateService.getById(id));
}

4.5 填写品德自评问卷分

@RequestMapping(value = "/editPinDeZiPing", method = RequestMethod.GET)
@ApiOperation(value = "填写品德自评问卷分")
public Result<Object> editPinDeZiPing(@RequestParam float grade){StudentEvaluate evaluate = evaluateUtils.getMyStudentEvaluate();evaluate.setQuestionnaireTwo(BigDecimal.valueOf(grade));double twoSum = (evaluate.getQuestionnaireTwo().floatValue() +  evaluate.getQuestionnaireThree().floatValue()) / 2;evaluate.setAnsTwo(BigDecimal.valueOf(twoSum));double ansSum = (evaluate.getAnsOne().floatValue() + evaluate.getAnsTwo().floatValue() + evaluate.getAnsThree().floatValue()) / 3;evaluate.setAnsSum(BigDecimal.valueOf(ansSum));iStudentEvaluateService.saveOrUpdate(evaluate);return ResultUtil.success();
}

五、免责说明

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

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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/434129.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

招商引资小程序来了!如何解决信息不对称和低效率问题?

​在经济全球化的今天&#xff0c;招商引资已经成为各地发展经济的重要手段。然而&#xff0c;传统的招商方式存在着信息不对称、效率低下等问题&#xff0c;这不仅影响了招商效果&#xff0c;也给客商带来了不小的困扰。 那么&#xff0c;有没有一种方式&#xff0c;可以有效…

【论文解读】Object Goal Navigation usingGoal-Oriented Semantic Exploration

论文&#xff1a;https://devendrachaplot.github.io/papers/semantic-exploration.pdf 代码&#xff1a;https://github.com/devendrachaplot/Object-Goal-Navigation 项目&#xff1a; Object Goal Navigation using Goal-Oriented Semantic Exploration example&#xff1…

第3章-python深度学习——(波斯美女)

第3章 神经网络入门 本章包括以下内容&#xff1a; 神经网络的核心组件 Keras 简介 建立深度学习工作站 使用神经网络解决基本的分类问题与回归问题 本章的目的是让你开始用神经网络来解决实际问题。你将进一步巩固在第 2 章第一个示例中学到的知识&#xff0c;还会将学到的…

误删libstdc++.so.6文件导致Ubuntu系统无法正常启动

1 背景 在使用pycharm测试代码时&#xff0c;出现&#xff1a; ImportError: /lib/x86_64-linux-gnu/libstdc.so.6: version GLIBCXX_3.4.29 not found 错误。看了网上的一些博客&#xff0c;并follow了解决方案&#xff0c;结果导致误删/usr/lib/x86_64-linux-gnu/libstdc.s…

代码随想录算法训练营第32天 | 122.买卖股票的最佳时机II + 55. 跳跃游戏 + 45.跳跃游戏II

今日任务 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 122.买卖股票的最佳时机II - Medium 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i…

Image Enhancement Guided Object Detection in Visually Degraded Scenes

Abstract 目标检测准确率在视觉退化场景下降严重。一个普遍的解决方法就是对退化图像进行增强然后再执行目标检测。但是&#xff0c;这是一种次优的方案&#xff0c;而且未必对目标检测的准确率有提升&#xff0c;因为图像增强和目标检测两个任务的不同。为了解决这个问题&…

【方法论】费曼学习方法

费曼学习方法是由诺贝尔物理学奖得主理查德费曼提出的一种学习方法。这种方法强调通过将所学的知识以自己的方式解释给别人来提高学习效果。 费曼学习方法的步骤如下&#xff1a; 选择一个概念&#xff1a;选择一个要学习的概念或主题。 理解和学习&#xff1a;用自己的方式学…

对接京东SDK踩坑

背景 最近刚好需要对接京东本地生活&#xff0c;部分接口和数据可以直接对接京东的开放平台&#xff0c;有一些敏感数据需要在京东云鼎上面入驻&#xff0c;然后在鼎内做一些业务逻辑&#xff0c;然后再将数据做一个转发&#xff0c;然后踩了一个坑就是京东SDK打包时未打包依赖…

2024最新版Visual Studio Code安装使用指南

2024最新版Visual Studio Code安装使用指南 Installation and Usage Guide for the Latest Visual Studio Code in 2024 By JacksonML Visual Studio Code最新版1.85已经于2023年11月由其官网 https://code.visualstudio.com正式发布&#xff0c;这是微软公司2024年发行的的最…

YOLOv5改进 | Conv篇 | 在线重参数化卷积OREPA助力二次创新(提高推理速度 + FPS)

一、本文介绍 本文给大家带来的改进机制是一种重参数化的卷积模块OREPA,这种重参数化模块非常适合用于二次创新,我们可以将其替换网络中的其它卷积模块可以不影响推理速度的同时让模型学习到更多的特征。OREPA是通过在线卷积重参数化(Online Convolutional Re-parameteriza…

流动雨滴效果

<html><head><meta name"Generator" content"EditPlus" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>流动雨滴效果</title><style>body {overflow: hi…

Redis为什么速度快:数据结构、存储及IO网络原理总结

Redis&#xff0c;作为内存数据结构存储的佼佼者&#xff0c;其高性能表现一直备受赞誉。那么&#xff0c;Redis究竟是如何实现这一点的呢&#xff1f;接下来&#xff0c;我们将更深入地探讨其背后的关键技术&#xff0c;并提供进一步的优化策略。 一、内存存储与数据结构设计…