From 143ebce41207eb0d3a4df3b6bbd3d482e4f0a8c2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 16 五月 2024 18:20:41 +0800 Subject: [PATCH] 学生在线学习api --- src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java | 47 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 36 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java index 25c7afe..6b0d9f2 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java @@ -10,6 +10,7 @@ import com.mindskip.xzs.domain.other.ExamPaperAnswerUpdate; import com.mindskip.xzs.domain.other.KeyValue; import com.mindskip.xzs.domain.task.TaskItemAnswerObject; +import com.mindskip.xzs.domain.vo.ExamPaperStatisticVO; import com.mindskip.xzs.repository.ExamPaperAnswerMapper; import com.mindskip.xzs.repository.ExamPaperMapper; import com.mindskip.xzs.repository.QuestionMapper; @@ -160,8 +161,8 @@ } @Override - public Integer selectAllCount() { - return examPaperAnswerMapper.selectAllCount(); + public Integer selectAllCount(List<Integer> deptIds) { + return examPaperAnswerMapper.selectAllCount(deptIds); } @Override @@ -312,16 +313,40 @@ } @Override - public Map<String, Object> statistic(String examPaperId, String departmentId) { + public Map<String, Object> statistic(ExamPaperStatisticVO examPaperStatisticVO) { + // 鑾峰彇鍘熷鏁版嵁 + Map<String, Object> histogram = examPaperAnswerMapper.histogram(examPaperStatisticVO); + Map<String, Object> pieChart = examPaperAnswerMapper.pieChart(examPaperStatisticVO); + // 鍒濆鍖栫粨鏋滃鍣� HashMap<String, Object> map = new HashMap<>(); - Map<String, Object> histogram = examPaperAnswerMapper.histogram(examPaperId, departmentId); - Map<String, Object> pieChart = examPaperAnswerMapper.pieChart(examPaperId, departmentId); - ArrayList<Double> histograms = new ArrayList<>(); - ArrayList<Double> pieCharts = new ArrayList<>(); - histogram.forEach((k, v) -> histograms.add(Double.valueOf(v.toString()))); - pieChart.forEach((k, v) -> pieCharts.add(Double.valueOf(v.toString()))); - map.put("histogram", histograms); - map.put("pieChart", pieCharts); + List<Map<String, Object>> score = new ArrayList<>(); + List<Map<String, Object>> age = new ArrayList<>(); + List<Map<String, Object>> examPeopleNum = new ArrayList<>(); + // 澶勭悊鎴愮哗涓庡勾榫勫垎甯� + histogram.forEach((k, v) -> { + Map<String, Object> hashMap = new HashMap<>(); + hashMap.put(k, v); + if (k.contains("score")) { + score.add(hashMap); + } + if (k.contains("age")) { + age.add(hashMap); + } + }); + // 澶勭悊鍙傝�冧汉鏁帮紙鍑哄腑涓庣己甯級 + pieChart.forEach((k, v) -> { + Map<String, Object> hashMap = new HashMap<>(); + hashMap.put(k, v); + if ("totalAttended".equals(k)) { + examPeopleNum.add(hashMap); + } + if ("totalAbsent".equals(k)) { + examPeopleNum.add(hashMap); + } + }); + map.put("score", score); + map.put("age", age); + map.put("examPeopleNum", examPeopleNum); return map; } } -- Gitblit v1.8.0