| | |
| | | @Override |
| | | public List<PaperExcelVO> getRandomPaperExcelById(Integer id) { |
| | | List<PaperExcelVO> paperExcel = examPaperMapper.getRandomPaperExcelById(id); |
| | | // 如果某考生存在多个部门,每个部门都加一遍数据 |
| | | List<PaperExcelVO> needAdd = new ArrayList<>(); |
| | | List<PaperExcelVO> needRemove = new ArrayList<>(); |
| | | paperExcel = paperExcel.stream().map(e->{ |
| | | e.setPaperScore(ExamUtil.scoreToVM(Integer.parseInt(e.getPaperScore()))); |
| | | e.setUserScore(ExamUtil.scoreToVM(Integer.parseInt(e.getUserScore()))); |
| | | List<Department> userDepartments = userDepartmentMapper.selectDeptByUserId(Integer.parseInt(e.getUserId())); |
| | | if(userDepartments.size() != 0) { |
| | | Department department = userDepartments.get(0); |
| | | e.setDepartmentName(department.getName()); |
| | | e.setDeptId(department.getId()); |
| | | for (Department dept : userDepartments) { |
| | | PaperExcelVO vo = new PaperExcelVO(); |
| | | BeanUtils.copyProperties(e, vo); |
| | | vo.setDepartmentName(dept.getName()); |
| | | vo.setDeptId(dept.getId()); |
| | | needAdd.add(vo); |
| | | needRemove.add(e); |
| | | } |
| | | return e; |
| | | }).collect(Collectors.toList()); |
| | | paperExcel.removeAll(needRemove); |
| | | paperExcel.addAll(needAdd); |
| | | return paperExcel; |
| | | } |
| | | |