From 00fe3336b89c3c24ffe2826f45419d8e7dbb17fc Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 23 五月 2024 15:46:57 +0800 Subject: [PATCH] feat:统计新需求 --- src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java index 8db064e..b33c030 100644 --- a/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java +++ b/src/main/java/com/mindskip/xzs/service/impl/ExamPaperServiceImpl.java @@ -9,7 +9,9 @@ import com.mindskip.xzs.domain.exam.ExamPaperQuestionItemObject; import com.mindskip.xzs.domain.exam.ExamPaperTitleItemObject; import com.mindskip.xzs.domain.other.KeyValue; +import com.mindskip.xzs.domain.vo.ExamTemplatesVO; import com.mindskip.xzs.domain.vo.PaperExcelVO; +import com.mindskip.xzs.domain.vo.UserVO; import com.mindskip.xzs.repository.ExamPaperAnswerMapper; import com.mindskip.xzs.repository.ExamPaperMapper; import com.mindskip.xzs.repository.QuestionMapper; @@ -32,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; @@ -162,6 +163,9 @@ .flatMap(t -> t.getQuestionItems().stream() .map(q -> q.getId())) .collect(Collectors.toList()); + if (ObjectUtils.isEmpty(questionIds)) { + throw new RuntimeException("璇ヨ瘯鍗锋病鏈夐鐩�"); + } List<Question> questions = questionMapper.selectByIds(questionIds); //鍗曢�夋暟閲� Integer singleChoice = questions.stream().filter(e -> e.getQuestionType() == 1).collect(Collectors.toList()).size(); @@ -205,8 +209,11 @@ List<ExamPaperUser> examPaperUsers = examPaperUserService.getByExamPaperId(examPaper.getId()); Integer[][] userIds = new Integer[examPaperUsers.size()][2]; for (int i = 0; i < examPaperUsers.size(); i++) { - Integer[] userId = {userService.getUserById(examPaperUsers.get(i).getUserId()).getUserLevel(), examPaperUsers.get(i).getUserId()}; - userIds[i] = userId; + User user = userService.getUserById(examPaperUsers.get(i).getUserId()); + if (ObjectUtils.isNotEmpty(user)) { + Integer[] userId = {user.getUserLevel(), examPaperUsers.get(i).getUserId()}; + userIds[i] = userId; + } } vm.setUserId(userIds); return vm; @@ -219,8 +226,8 @@ @Override - public Integer selectAllCount() { - return examPaperMapper.selectAllCount(); + public Integer selectAllCount(List<Integer> deptIds) { + return examPaperMapper.selectAllCount(deptIds); } @Override @@ -614,5 +621,37 @@ } // 鏍规嵁鑰冭瘯id灏嗛�夋嫨鐨勮ˉ鑰冭�冪敓鐨勮�冭瘯鎴愮哗璁剧疆涓烘棤鏁� examPaperAnswerMapper.setMissExam(model); + + // 琛ヨ�冩椂灏嗘病鏈夐�夋嫨鐨勫苟涓旀病鏈夊弬鍔犺繃鑰冭瘯鐨勮�冪敓澧炲姞涓�鏉¢浂鍒嗚�冭瘯璁板綍锛屽惁鍒欐病鏈夊弬鍔犺繃鑰冭瘯鐨勫嵆浣夸笉琚�夋嫨涔熷彲浠ュ弬鍔犺ˉ鑰� + examPaperAnswerMapper.insertDefault(model); + } + + @Override + @Transactional + public void missExamByTemplateId(ExamTemplatesVO model) { + List<Integer> id = examPaperMapper.getExamPaperByTemplateId(model); + model.setPaperIds(id); + // 鏍规嵁鑰冭瘯id灏嗛�夋嫨鐨勮ˉ鑰冭�冪敓鐨勮�冭瘯鎴愮哗璁剧疆涓烘棤鏁� + examPaperAnswerMapper.setMissExamByTemplate(model); + } + + @Override + public List<ExamPaper> list(List<Integer> deptIds) { + return examPaperMapper.list(deptIds); + } + + @Override + public PageInfo<UserVO> selectStudent(UserVO userVO, List<Integer> adminDeptIds) { + userVO.setDeptIds(ObjectUtils.isNotEmpty(userVO.getDeptIds()) ? userVO.getDeptIds() : adminDeptIds); + return PageHelper.startPage(userVO.getPageIndex(), userVO.getPageSize()).doSelectPageInfo(() -> + examPaperMapper.selectStudent(userVO)); + } + + @Override + public List<ExamPaper> queryCondition() { + List<ExamPaper> examPaperList = examPaperMapper.getExamPaper(); + List<ExamPaper> templateList = examPaperMapper.getTemplate(); + examPaperList.addAll(templateList); + return examPaperList.stream().sorted(Comparator.comparing(ExamPaper::getCreateTime).reversed()).collect(Collectors.toList()); } } -- Gitblit v1.8.0