| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | PageInfo<ExamPaperAnswerPageResponseVM> page = PageInfoHelper.copyMap(pageInfo, e -> { |
| | | |
| | | ExamPaperAnswerPageResponseVM vm = modelMapper.map(e, ExamPaperAnswerPageResponseVM.class); |
| | | User user = userService.selectByIdName(e.getCreateUser(), model.getUserName()); |
| | | if (user == null) { |
| | | return null; |
| | | } |
| | | // User user = userService.selectByIdName(e.getCreateUser(), model.getUserName()); |
| | | // if (user == null) { |
| | | // return null; |
| | | // } |
| | | // Subject subject = subjectService.selectById(vm.getSubjectId()); |
| | | ExamPaperAnswer examPaperAnswer = examPaperAnswerService.getById(vm.getId()); |
| | | Integer[] ids = examPaperSubjectService.getByExamPaperId(examPaperAnswer.getExamPaperId()) |
| | |
| | | vm.setSubjectName(name); |
| | | vm.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime())); |
| | | |
| | | vm.setUserName(user.getUserName()); |
| | | // vm.setUserName(user.getRealName()); |
| | | return vm; |
| | | }); |
| | | page.setList(page.getList().stream().filter(e -> e != null).collect(Collectors.toList())); |
| | | if (page.getSize() > 0) { |
| | | // page.setList(page.getList().stream().filter(e -> e != null).collect(Collectors.toList())); |
| | | if (page.getList().size() > 0) { |
| | | Double avg = page.getList().stream().mapToInt(ExamPaperAnswerPageResponseVM -> Integer.parseInt(ExamPaperAnswerPageResponseVM.getUserScore())).average().getAsDouble(); |
| | | page.getList().get(0).setAvgSource(avg); |
| | | } |
| | |
| | | Integer max = examPaperAnswers.stream().map(ExamPaperAnswer::getUserScore).max(Integer::compareTo).get(); |
| | | Integer min = examPaperAnswers.stream().map(ExamPaperAnswer::getUserScore).min(Integer::compareTo).get(); |
| | | Double avg = examPaperAnswers.stream().mapToDouble(ExamPaperAnswer::getUserScore).average().getAsDouble(); |
| | | BigDecimal two = new BigDecimal(avg); |
| | | Double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); |
| | | object.setAdvanced(advanced); |
| | | object.setAvg(avg); |
| | | object.setAvg(three); |
| | | object.setIntermediate(intermediate); |
| | | object.setMax(max); |
| | | object.setMin(min); |