基于JAVA+Vue+SpringBoot+MySQL的学生综合素质评价系统,包含了成绩查询模块、学生自评模块、教师评价模块和教务打分模块,还包含系统自带的用户管理、班级管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,学生综合素质评价系统基于角色的访问控制,给学生、教师和教务管理员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。
登录:勾选学生登录
学业发展水平(分三个部分,第一个是上学期均分(教师端填写,填写3门课语数外,然后自动计算)学生端只能查看,第二个部分是个自评问卷(内容和分值我会给),第三个部分是获奖情况(用下拉菜单之类的实现等级的区分,国家级,省级之类的,加分和这个有关),对应的加分数值我会给),前两个满分都是一百分,最后的得分取均分加上获奖情况的额外加分。
品德与社会化水平(分两个部分,第一部分是自评问卷,第二部分是教师填写的问卷(教师端填写)自己只能查看填写结果)。满分都是一百分,最后的得分取均分。
身心健康水平(分两个部分,第一部分是自评问卷,第二部分是教师填写的问卷,(教师端填写)自己只能查看填写结果,第三部分是教务处填写的体育考试分数)。三个满分都是一百分,最后的得分取均分。
分数查看功能:查看三个部分的分数和综合分数(综合分数就是三个部分的均分)
登录(选择教师登录)
修改个人信息
评价学生学业发展水平(填写学生上学期分数),没填写的学生会留存在这个页面,直到填写完毕为止。
评价学生品德与社会化水平(填写问卷),没填写的学生会留存在这个页面,直到评价完毕为止。
查询学生信息,只能查询属于自己的班级的(通过姓名或者学号,或者该学生是否评价完的状态(这里的评价完就是指自己有没有评价完,不管学生自评和教务处填写的东西),或者综合成绩的区间)。信息包括学号,姓名,班级,分数的查看(包括学业、品德、身心健康和综合成绩等四项)和是否已经完成评价。
登录(选择教务处登录)
修改个人信息
评价学生身心健康水平(填写体育考试分数),没填写的学生会留存在这个页面,直到评价完毕为止。
查询学生信息(通过姓名或者学号,或者班级,或者该学生是否评价完的状态(这里的评价完就是指自己有没有评价完,不管学生自评和教师填写的东西),或者综合成绩的区间),信息包括学号,姓名,分数的查看(包括学业、品德、身心健康和综合成绩等四项)和是否已经完成评价。
@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);
}
@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();
}
@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()));
}
@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));
}
@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();
}
下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!