From ded4f0891dd2a76f36844d7c220155e3cd1e6918 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 16 五月 2024 17:10:28 +0800 Subject: [PATCH] feat:部门管理员功能权限控制 --- src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 45 insertions(+), 7 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 5a69f38..98bf0e8 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java @@ -10,7 +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.ScoreTemplatesCountVO; +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; @@ -22,6 +22,7 @@ import com.mindskip.xzs.utility.ExamUtil; import com.mindskip.xzs.utility.JsonUtil; import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM; +import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradeQuery; import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitItemVM; import com.mindskip.xzs.viewmodel.student.exam.ExamPaperSubmitVM; import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageVM; @@ -29,9 +30,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @Service @@ -307,8 +306,47 @@ } @Override - public PageInfo<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO) { - return PageHelper.startPage(scoreTemplatesCountVO.getPageIndex(), scoreTemplatesCountVO.getPageSize(), "id desc").doSelectPageInfo(() -> - examPaperAnswerMapper.getByCreatUser(scoreTemplatesCountVO)); + public PageInfo<ExamPaperAnswer> getByCreatUser(ExamPaperGradeQuery query) { + query.setFullTime(); + return PageHelper.startPage(query.getPageIndex(), query.getPageSize(), "id desc").doSelectPageInfo(() -> + examPaperAnswerMapper.getByCreatUser(query)); + } + + @Override + 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<>(); + 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