From 247cb86585a1d1894596ed18a6c93efecb992946 Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期四, 14 十一月 2024 10:34:27 +0800 Subject: [PATCH] 班级成绩图表分析 --- src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java index 06049e7..58608cf 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperScoreServiceImpl.java @@ -8,6 +8,8 @@ import com.ycl.jxkg.domain.ExamPaperAnswerInfo; import com.ycl.jxkg.domain.entity.*; import com.ycl.jxkg.domain.other.KeyValue; +import com.ycl.jxkg.domain.vo.admin.exam.ClassExamScoreInfoVO; +import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperInfoVO; import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.admin.paper.UserAnswerPageRequestVO; import com.ycl.jxkg.domain.vo.student.exam.ExamPaperSubmitItemVO; @@ -31,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -296,21 +299,42 @@ examPaperScoreMapper.pageUser(model)); } + + @Override - public Result queryMaxAndMinScore(Integer id) { - List<ExamPaperScore> list = new ArrayList<>(); + public Result<ExamPaperInfoVO> getExamPaperInfo(Integer id) { + ExamPaperInfoVO result = new ExamPaperInfoVO(); + // 鏌ヨ鑰冭瘯淇℃伅 + ExamPaperAnswerPageRequestVO model = new ExamPaperAnswerPageRequestVO(); + model.setExamId(id); + // 鏈�楂樺垎銆佹渶浣庡垎 ExamPaperScore max = examPaperScoreMapper.selectOne(new LambdaQueryWrapper<>(ExamPaperScore.class) .eq(ExamPaperScore::getExamId, id) .orderByDesc(ExamPaperScore::getTotalScore) .last("limit 1")); - list.add(max); if (null != max) { + result.setHighestScore(max.getTotalScore()); ExamPaperScore min = examPaperScoreMapper.selectOne(new LambdaQueryWrapper<>(ExamPaperScore.class) .eq(ExamPaperScore::getExamId, id) .orderByAsc(ExamPaperScore::getTotalScore) .last("limit 1")); - list.add(min); + // 鍒ゆ柇max鍜宮in鏄惁涓哄悓涓�鏉℃暟鎹� + if (null != min && !max.getId().equals(min.getId())) { + result.setLowestScore(min.getTotalScore()); + }else { + result.setLowestScore(BigDecimal.valueOf(0)); + } + }else { + result.setHighestScore(BigDecimal.valueOf(0)); + result.setLowestScore(BigDecimal.valueOf(0)); } - return Result.ok(list); + // 鏌ヨ鐝骇瀛﹀憳鍚嶇О鍙婅�冭瘯鎴愮哗 + List<ClassExamScoreInfoVO> info = examPaperScoreMapper.getClassExamScoreInfo(id); + result.setTotalUserCount(info.size()); + ClassExamScoreInfoVO classExamScoreInfoVO = info.get(0); + result.setLackUserCount(classExamScoreInfoVO.getLackUserCount()); + result.setUserNames(info.stream().map(item -> item.getRealName()).collect(Collectors.toList())); + result.setUserScores(info.stream().map(item -> item.getTotalScore()).collect(Collectors.toList())); + return Result.ok(result); } } -- Gitblit v1.8.0