From 0c29b611124679e564f2e5bd63f10f8c8ac0ba81 Mon Sep 17 00:00:00 2001
From: 17808 <1780814303@qq.com>
Date: 星期四, 09 十一月 2023 12:09:22 +0800
Subject: [PATCH] 成绩统计后端
---
src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java | 1
src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java | 10 ++-
src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java | 4
src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java | 114 ++++++++++++++++++++++---------------
src/main/resources/mapper/ExamPaperAnswerMapper.xml | 1
5 files changed, 77 insertions(+), 53 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
index 47a43cc..f955916 100644
--- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
+++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperGradeController.java
@@ -4,8 +4,11 @@
import com.github.pagehelper.PageInfo;
import com.mindskip.xzs.base.BaseApiController;
import com.mindskip.xzs.base.RestResponse;
-import com.mindskip.xzs.domain.*;
+import com.mindskip.xzs.domain.ExamPaperAnswer;
+import com.mindskip.xzs.domain.User;
+import com.mindskip.xzs.domain.UserDepartment;
import com.mindskip.xzs.domain.vo.ScoreTemplatesCountVO;
+import com.mindskip.xzs.repository.ExamPaperAnswerMapper;
import com.mindskip.xzs.service.*;
import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperGradePageRequestVM;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,8 +17,8 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import java.util.*;
-import java.util.stream.Collectors;
+import java.util.ArrayList;
+import java.util.List;
@RestController("AdminExamPaperGradeController")
@RequestMapping(value = "/api/admin/examPaperGrade")
@@ -33,8 +36,10 @@
private final UserDepartMentService userDepartMentService;
+ private final ExamPaperAnswerMapper examPaperAnswerMapper;
+
@Autowired
- public ExamPaperGradeController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService, ExamPaperSubjectService examPaperSubjectService, ScoreTemplatesUserCountService scoreTemplatesUserCountService,ExamPaperUserService examPaperUserService,UserDepartMentService userDepartMentService) {
+ public ExamPaperGradeController(ExamPaperAnswerService examPaperAnswerService, SubjectService subjectService, UserService userService, ExamPaperSubjectService examPaperSubjectService, ScoreTemplatesUserCountService scoreTemplatesUserCountService, ExamPaperUserService examPaperUserService, UserDepartMentService userDepartMentService, ExamPaperAnswerMapper examPaperAnswerMapper) {
this.examPaperAnswerService = examPaperAnswerService;
this.subjectService = subjectService;
this.userService = userService;
@@ -42,6 +47,7 @@
this.scoreTemplatesUserCountService = scoreTemplatesUserCountService;
this.examPaperUserService = examPaperUserService;
this.userDepartMentService = userDepartMentService;
+ this.examPaperAnswerMapper = examPaperAnswerMapper;
}
@@ -101,57 +107,71 @@
@RequestMapping(value = "/page", method = RequestMethod.POST)
public RestResponse<PageInfo<ExamPaperAnswer>> pageJudgeList(@RequestBody ExamPaperGradePageRequestVM grade) {
- List<ExamPaperAnswer> list = examPaperAnswerService.adminPageByGrade(grade);
- for (ExamPaperAnswer e : list) {
- User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
- if (user==null){
- return null;
+ List<ExamPaperAnswer> filteredList9 = new ArrayList<>();
+ PageInfo<User> info = PageHelper.startPage(grade.getPageIndex(), grade.getPageSize(), "id desc").doSelectPageInfo(() ->
+ userService.getUsers());
+ for (User user : info.getList()) {
+ if(user.getRealName().equals("绠$悊鍛�")){
+ continue;
}
- ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(e.getId());
- Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId()).stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
- String names = "";
- if (ids.length > 0) {
- names = subjectService.selectByIds(ids)
- .stream().map(Subject::getName).collect(Collectors.joining(","));
- }
- Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(), e.getCreateUser());
- if(userId == null){
- return null;
- }
- e.setUserName(user.getRealName());
+ ExamPaperAnswer answer = new ExamPaperAnswer();
+ answer.setCreateUser(user.getId());
+ answer.setUserName(user.getRealName());
+ ScoreTemplatesCountVO vo = new ScoreTemplatesCountVO();
+ vo.setCreateUser(user.getId());
+ List<ExamPaperAnswer> byCreatUser = examPaperAnswerMapper.getByCreatUser(vo);
+ answer.setCounts(byCreatUser.size());
+ filteredList9.add(answer);
}
- List<ExamPaperAnswer> collect = list.stream()
- .filter(exam -> exam != null)
- .collect(Collectors.toList());
- ArrayList<ExamPaperAnswer> list2 = new ArrayList<>();
- Map<String, Long> collect1 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getPaperName, Collectors.counting()));
- collect.forEach(t->t.setCounts(Math.toIntExact(collect1.getOrDefault(t.getPaperName(),0L))));
- Map<String, List<ExamPaperAnswer>> collect2 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getUserName));
- List<ExamPaperAnswer> filteredList1 = new ArrayList<>();
- Set<String> uniqueUserNames = new HashSet<>();
- collect2.forEach((key, value) -> {
- value.forEach(item -> {
- item.setUserName(key);
- item.setCounts(value.size());
- });
- list2.addAll(value);
- });
- for (ExamPaperAnswer item : list2) {
- if (uniqueUserNames.add(item.getUserName())) {
- filteredList1.add(item);
- }
- }
+// PageInfo<ExamPaperAnswer> list = examPaperAnswerService.adminPageByGrade(grade);
+// for (ExamPaperAnswer e : list.getList()) {
+// User user = userService.selectByIdName(e.getCreateUser(), grade.getUserName());
+// if (user==null){
+// return null;
+// }
+// ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(e.getId());
+// Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId()).stream().map(ExamPaperSubject::getSubjectId).toArray(Integer[]::new);
+// String names = "";
+// if (ids.length > 0) {
+// names = subjectService.selectByIds(ids)
+// .stream().map(Subject::getName).collect(Collectors.joining(","));
+// }
+// Integer userId = examPaperUserService.getByPaperIdAndCreatUser(e.getExamPaperId(), e.getCreateUser());
+// if(userId == null){
+// return null;
+// }
+// e.setUserName(user.getRealName());
+// }
+// List<ExamPaperAnswer> collect = list.getList().stream()
+// .filter(exam -> exam != null)
+// .collect(Collectors.toList());
+// ArrayList<ExamPaperAnswer> list2 = new ArrayList<>();
+// Map<String, Long> collect1 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getPaperName, Collectors.counting()));
+// collect.forEach(t->t.setCounts(Math.toIntExact(collect1.getOrDefault(t.getPaperName(),0L))));
+// Map<String, List<ExamPaperAnswer>> collect2 = collect.stream().collect(Collectors.groupingBy(ExamPaperAnswer::getUserName));
+// List<ExamPaperAnswer> filteredList1 = new ArrayList<>();
+// Set<String> uniqueUserNames = new HashSet<>();
+// collect2.forEach((key, value) -> {
+// value.forEach(item -> {
+// item.setUserName(key);
+// item.setCounts(value.size());
+// });
+// list2.addAll(value);
+// });
+// for (ExamPaperAnswer item : list2) {
+// if (uniqueUserNames.add(item.getUserName())) {
+// filteredList1.add(item);
+// }
+// }
PageHelper.startPage(grade.getPageIndex(), grade.getPageSize());
- PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(filteredList1);
+ PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(filteredList9);
return RestResponse.ok(pageInfoPageInfo);
}
@RequestMapping(value = "/details", method = RequestMethod.POST)
public RestResponse<PageInfo<ExamPaperAnswer>> selectSource(@RequestBody ScoreTemplatesCountVO scoreTemplatesCountVO) throws Exception {
- PageHelper.startPage(scoreTemplatesCountVO.getPageIndex(), scoreTemplatesCountVO.getPageSize());
- List<ExamPaperAnswer> byCreatUser = examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO);
- PageInfo<ExamPaperAnswer> pageInfoPageInfo = new PageInfo<>(byCreatUser);
- return RestResponse.ok(pageInfoPageInfo);
+ return RestResponse.ok(examPaperAnswerService.getByCreatUser(scoreTemplatesCountVO));
+
}
@RequestMapping(value = "/updates", method = RequestMethod.POST)
public void updateDepartment(){
diff --git a/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java b/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
index 196f0a0..3e32178 100644
--- a/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
+++ b/src/main/java/com/mindskip/xzs/repository/ExamPaperAnswerMapper.java
@@ -37,4 +37,5 @@
List<ExamPaperAnswer> getByScorePaperIdAndUserId(@Param("scoreTemplatesUserCounts")List<ScoreTemplatesUserCount> scoreTemplatesUserCounts);
List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO);
+
}
diff --git a/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java b/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
index 6e8358a..4ba894a 100644
--- a/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
+++ b/src/main/java/com/mindskip/xzs/service/ExamPaperAnswerService.java
@@ -57,9 +57,9 @@
List<ExamPaperAnswer> getByExamPaperIdAndUserId(List<ExamTemplatesUserCount> examTemplatesUserCount);
- List<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade);
+ PageInfo<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade);
List<ExamPaperAnswer> getByScorePaperIdAndUserId(List<ScoreTemplatesUserCount> scoreTemplatesUserCounts);
- List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO);
+ PageInfo<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO);
}
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 19bf6e4..5a69f38 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperAnswerServiceImpl.java
@@ -296,8 +296,9 @@
}
@Override
- public List<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade) {
- return examPaperAnswerMapper.adminPageByGrade(grade);
+ public PageInfo<ExamPaperAnswer> adminPageByGrade(ExamPaperGradePageRequestVM grade) {
+ return PageHelper.startPage(grade.getPageIndex(), grade.getPageSize(), "id desc").doSelectPageInfo(() ->
+ examPaperAnswerMapper.adminPageByGrade(grade));
}
@Override
@@ -306,7 +307,8 @@
}
@Override
- public List<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO) {
- return examPaperAnswerMapper.getByCreatUser(scoreTemplatesCountVO);
+ public PageInfo<ExamPaperAnswer> getByCreatUser(ScoreTemplatesCountVO scoreTemplatesCountVO) {
+ return PageHelper.startPage(scoreTemplatesCountVO.getPageIndex(), scoreTemplatesCountVO.getPageSize(), "id desc").doSelectPageInfo(() ->
+ examPaperAnswerMapper.getByCreatUser(scoreTemplatesCountVO));
}
}
diff --git a/src/main/resources/mapper/ExamPaperAnswerMapper.xml b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
index 4d449a4..df54ca7 100644
--- a/src/main/resources/mapper/ExamPaperAnswerMapper.xml
+++ b/src/main/resources/mapper/ExamPaperAnswerMapper.xml
@@ -339,4 +339,5 @@
from t_exam_paper_answer where create_user = #{createUser} and create_time between '2023-01-01'and '2023-12-31'
</select>
+
</mapper>
--
Gitblit v1.8.0