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