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/controller/admin/ExamPaperGradeController.java | 114 +++++++++++++++++++++++++++++++++----------------------- 1 files changed, 67 insertions(+), 47 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(){ -- Gitblit v1.8.0