开源项目:基于SpringBoot的学生综合素质评价系统
创作时间:
作者:
@小白创作中心
开源项目:基于SpringBoot的学生综合素质评价系统
引用
CSDN
1.
https://blog.csdn.net/askf01/article/details/136818213
一、项目介绍
基于JAVA+Vue+SpringBoot+MySQL的学生综合素质评价系统,包含了成绩查询模块、学生自评模块、教师评价模块和教务打分模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,学生综合素质评价系统基于角色的访问控制,给学生、教师和教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
二、功能模块
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();
}
热门推荐
头孢克肟胶囊与阿司匹林肠溶片同服风险大揭秘!
如何避免误服速普乐?医生教你正确吃药!
快递新规落地满月,你的包裹“按约投递”了吗?
橄榄树:和平之花的永恒象征
为什么维护祖国统一对国家发展重要
L-鸟氨酸单盐酸盐:改善睡眠质量的科学之选
喜得贵子?教你如何优雅送上祝福!
朋友圈晒娃:用温馨话语庆祝朋友添孙儿
敖瑞鹏:从游戏原画设计师到实力派演员的蜕变之路
林志颖:一只虎的传奇人生
林志颖:虎年出生的演艺圈全能王
林志颖:虎年生人的2025运势与性格解读
林志颖:生肖虎VS星座天秤座,哪个更准?
桶装水安全问题频发,如何保障"放心水"?
揭秘黑心水站:从资质到品牌,教你识别真假桶装水
3·15揭秘:山寨桶装水危害社区健康
崇左百年老街:一条街见证边疆巨变
崇左大新县 vs 北海:谁是冬季度假胜地?
龙马精神:生肖马的历史文化传承
2025年马年运势:事业财运双丰收,感情健康稳中向好
儿童食物过敏全攻略:8大常见过敏原及预防方法
北京儿童医院推荐:秋冬宝宝皮肤护理全攻略
如何预防宝宝的丘疹性荨麻疹?
如何正确处理孩子湿疹红疙瘩?
妙佑医疗教你正确使用抗生素
北京大学第一医院专家教你正确使用抗生素
春秋战国大事件思维导图
秦始皇统一文字的历史意义与影响
成都到四川自驾游攻略:路线、耗时与距离详解-成都到四川开车要多久
用磁力片玩转科学启蒙:从数学到物理的全方位教育