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

在这里插入图片描述


目录

  • 一、摘要
    • 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/467578.html

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

相关文章

【Spring】Bean 的作用域

一、singleton 默认情况下&#xff0c;Spring 的 IoC 容器创建的 Bean 对象是单例的&#xff08;单例模式&#xff09; 默认情况下&#xff0c;Bean 对象的创建是在初始化 Spring 上下文的时候就完成的 package org.qiu.spring.bean;/*** author 秋玄* version 1.0* email q…

【c++基础】温度统计员

说明 炎热的夏日&#xff0c;KC非常的不爽。他宁可忍受北极的寒冷&#xff0c;也不愿忍受厦门的夏天。最近&#xff0c;他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦&#xff0c;他收集了连续N&#xff08;1<N<10000&#xff09;天的最高气温…

idea:如何连接数据库

1、在idea中打开database: 2、点击 ‘’ ---> Data Source ---> MySQL 3、输入自己的账号和密码其他空白处可以不填&#xff0c;用户和密码可以在自己的mysql数据库中查看 4、最后选择自己需要用的数据库&#xff0c;点击运用ok&#xff0c;等待刷新即可 最后&#xff1a…

C# EventHandler<T> 示例

新建一个form程序&#xff0c;在调试窗口输出执行过程&#xff1b; 为了使用Debug.WriteLine&#xff0c;添加 using System.Diagnostics; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using S…

celery异步框架的使用

文章目录 celery的介绍celery的架构celery的快速使用celery 包结构celery 定时 异步 延迟任务django使用celery celery的介绍 celery是什么&#xff1f; -翻译过来是芹菜 -官网&#xff1a;https://docs.celeryq.dev/en/stable/ -吉祥物&#xff1a;芹菜 -分布式的异步任务框架…

MySQL数据库⑨_事务(四个属性+回滚提交+隔离级别+MVCC)

目录 1. 事务的概念和四个属性 2. 事务的支持版本 3. 事务的提交方式 4. 事务的相关演示 4.1 常规操作_回滚_提交 4.2 原子性_演示 4.3 持久性_演示 4.4 begin自动更改提交方式 4.5 单条SQL与事务的关系 5. 事务的隔离级别 5.1 四种隔离级别 5.2 查看与设置隔离级别…

HarmonyOS 鸿蒙 ArkTS ArkUI 页面之间切换转换动画设置

第一步&#xff1a;导入 import promptAction from ohos.promptAction 第二步&#xff1a;在build下方写入 pageTransition(){PageTransitionEnter({ duration: 1200 }).slide(SlideEffect.Right)PageTransitionExit({ delay: 100 }).translate({ x: 100.0, y: 100.0 }).opac…

Servlet验证技术

验证技术 验证是验证用户信息并确定该用户是否有权访问服务器资源的过程。用于验证用户信息的各种验证技术包括: 基本验证基于表单的验证摘要验证客户机整数验证1. 基本验证 网站可能包含两种类型的网站,即受保护和不受保护网页。默认情况下,所有用户都可以访问不受保护或者…

学习Python需要准备什么?BoBo仔为您指点明经~~~

前言 大家好&#xff01;我是bobo仔&#xff0c;欢迎来阅读我的文章。我的这篇文章是专门为Python新手筹备的&#xff0c;大家一定要好好阅读&#xff0c;做好每一步&#xff0c;完成每一节。 【注&#xff1a;部分内容为作者见解、发现&#xff0c;如有版权侵袭或是信息错误…

类与结构体(6)

我们上一起讲了这一期讲存储类和继承&#xff0c;这个难度很大的。 存储类 存储类主要规定了函数和变量的范围&#xff0c;在c中有这些存储类↓&#xff1a; ৹ auto&#xff08;自动判断函数是什么类型&#xff09; ৹ register (常用的变量和inline差不多&#xff0c;但应…

【Java程序设计】【C00253】基于Springboot的在线考试管理系统(有论文)

基于Springboot的在线考试管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线考试系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块&#xff1a;系统登录&#xff0c;管理…

Java奠基】玩转字符串从基础到高级的操作技巧

目录 初识String StringBuilder StringJoiner 字符串原理 综合练习 初识String java.lang.String 类代表字符串&#xff0c;Java程序中的所有字符串文字(例如“abc”)都为此类的对象&#xff0c;例&#xff1a; String name "张三" 当使用双引号直接赋值时&…