From d4daa1ea31db6fd421c0e86bab178a9f3b512141 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 23 九月 2024 18:02:54 +0800
Subject: [PATCH] 使用新导入
---
src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 47 insertions(+), 2 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 cc3f478..cb7c8be 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
@@ -3,6 +3,7 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.domain.*;
+import com.mindskip.xzs.domain.enums.AnswerInvalidEnum;
import com.mindskip.xzs.domain.enums.ExamPaperAnswerStatusEnum;
import com.mindskip.xzs.domain.enums.ExamPaperTypeEnum;
import com.mindskip.xzs.domain.enums.QuestionTypeEnum;
@@ -32,6 +33,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -277,7 +279,7 @@
@Override
public PageInfo<ExamPaperAnswer> adminPage(com.mindskip.xzs.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM requestVM) {
- return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "user_score desc").doSelectPageInfo(() ->
+ return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "create_time desc").doSelectPageInfo(() ->
examPaperAnswerMapper.adminPage(requestVM));
}
@@ -317,7 +319,25 @@
@Override
public Map<String, Object> statistic(ExamPaperStatisticVO examPaperStatisticVO) {
// 鑾峰彇鍘熷鏁版嵁
- Map<String, Object> histogram = examPaperAnswerMapper.histogram(examPaperStatisticVO);
+ Map<String, Object> histogram;
+ ExamPaperDataExportVO examPaperDataExportVO;
+ if (Objects.equals(examPaperStatisticVO.getExamPaperType(), 7)) {
+ histogram = examPaperAnswerMapper.histogramByTemplate(examPaperStatisticVO);
+ examPaperDataExportVO = examPaperAnswerMapper.totalByTemplate(new ExamPaperDataVO().setId(examPaperStatisticVO.getExamPaperId()).setDeptIds(examPaperStatisticVO.getDepartmentId()));
+ } else {
+ histogram = examPaperAnswerMapper.histogram(examPaperStatisticVO);
+ examPaperDataExportVO = examPaperAnswerMapper.totalByPaper(new ExamPaperDataVO().setId(examPaperStatisticVO.getExamPaperId()).setDeptIds(examPaperStatisticVO.getDepartmentId()));
+ }
+
+ // 涓嶅瓨鍦ㄦ椂濉厖0
+ if (Objects.isNull(examPaperDataExportVO)) {
+ examPaperDataExportVO = new ExamPaperDataExportVO()
+ .setExamTotal(examPaperAnswerMapper.getExamTotal(examPaperStatisticVO))
+ .setFactPeopleTotal(0)
+ .setAverageScore(BigDecimal.ZERO)
+ .setReferencePercentage(BigDecimal.ZERO);
+ }
+
Map<String, Object> pieChart = examPaperAnswerMapper.pieChart(examPaperStatisticVO);
// 鍒濆鍖栫粨鏋滃鍣�
HashMap<String, Object> map = new HashMap<>();
@@ -349,6 +369,7 @@
map.put("score", score);
map.put("age", age);
map.put("examPeopleNum", examPeopleNum);
+ map.put("total", examPaperDataExportVO);
return map;
}
@@ -381,4 +402,28 @@
return dataByPaper;
}
}
+
+ @Override
+ public void maxGrade(ExamPaperAnswer examPaperAnswer, Integer templateId) {
+ // 鑾峰彇鏌愪竴鍦鸿�冭瘯鏇剧粡鐨勬渶楂樻垚缁�
+ ExamPaperAnswer maxGrade;
+ if (Objects.equals(examPaperAnswer.getPaperType(), 7)) {
+ maxGrade = examPaperAnswerMapper.getTemplateOtherExamAnswer(examPaperAnswer, templateId);
+ } else {
+ maxGrade = examPaperAnswerMapper.getPaperOtherExamAnswer(examPaperAnswer);
+ }
+ if (Objects.isNull(maxGrade)) {
+ return;
+ }
+ // 鏈鑰冭瘯鍒嗘暟涓嶅涔嬪墠锛屾湰娆℃棤鏁�
+ if (maxGrade.getUserScore() > examPaperAnswer.getUserScore()) {
+ // 涔嬪墠鐨勬垚缁╂湁鏁�
+ maxGrade.setInvalid(AnswerInvalidEnum.VALID);
+ examPaperAnswerMapper.updateByPrimaryKeySelective(maxGrade);
+ // 鏈鐨勪笉鏄渶楂樺垎锛屾棤鏁�
+ examPaperAnswer.setInvalid(AnswerInvalidEnum.INVALID);
+ examPaperAnswerMapper.updateByPrimaryKeySelective(examPaperAnswer);
+ }
+ }
+
}
--
Gitblit v1.8.0