| | |
| | | @RequestMapping(value = "/export", method = RequestMethod.GET) |
| | | public void export(Integer id, Integer type, HttpServletResponse response) { |
| | | |
| | | |
| | | try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build()) { |
| | | // 部门考试统计sheet |
| | | List<ExamPaperDataExportVO> list = examPaperAnswerService.dataExport(new ExamPaperDataVO().setId(id).setType(type)); |
| | |
| | | excelWriter.write(list, writeSheet); |
| | | |
| | | // 考试详情sheet,一个单位一个sheet |
| | | List<PaperExcelVO> paperDetailList = examPaperService.getPaperExcelById(id); |
| | | List<PaperExcelVO> paperDetailList = examPaperService.getRandomPaperExcelById(id); |
| | | List<Integer> deptIds = paperDetailList.stream().map(PaperExcelVO::getDeptId).collect(Collectors.toList()); |
| | | Map<Integer, List<Department>> deptMap = departmentService.gets(deptIds).stream().collect(Collectors.groupingBy(Department::getId)); |
| | | Map<Integer, List<PaperExcelVO>> deptDataMap = paperDetailList.stream().collect(Collectors.groupingBy(PaperExcelVO::getDeptId)); |
| | |
| | | List<ExamPaper> getExamPaper(); |
| | | |
| | | List<ExamPaper> getTemplate(); |
| | | |
| | | /** |
| | | * 获取随机试卷的exampaper |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<PaperExcelVO> getRandomPaperExcelById(Integer id); |
| | | } |
| | |
| | | package com.mindskip.xzs.repository; |
| | | |
| | | import com.mindskip.xzs.domain.Department; |
| | | import com.mindskip.xzs.domain.UserDepartment; |
| | | import com.mindskip.xzs.domain.vo.BaseSelect; |
| | | import com.mindskip.xzs.domain.vo.DepartmentExamineVO; |
| | |
| | | |
| | | List<UserDepartment> selectByUserId(@Param("userId") Integer userId); |
| | | |
| | | List<Department> selectDeptByUserId(@Param("userId") Integer userId); |
| | | |
| | | List<UserDepartment> selectByDepartmentId(@Param("departmentId") Integer departmentId); |
| | | |
| | | Integer removeByUserId(@Param("userId") Integer userId); |
| | |
| | | |
| | | List<ExamPaper> gets(Integer[] ids); |
| | | |
| | | /** |
| | | * 普通试卷答题记录 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<PaperExcelVO> getPaperExcelById(Integer id); |
| | | |
| | | /** |
| | | * 随机试卷答题记录 |
| | | * |
| | | * @param id |
| | | * @return |
| | | */ |
| | | List<PaperExcelVO> getRandomPaperExcelById(Integer id); |
| | | |
| | | void missExam(ExamPaperEditRequestVM model); |
| | | |
| | | List<ExamPaper> list(List<Integer> deptIds); |
| | |
| | | return paperExcel; |
| | | } |
| | | |
| | | @Override |
| | | public List<PaperExcelVO> getRandomPaperExcelById(Integer id) { |
| | | List<PaperExcelVO> paperExcel = examPaperMapper.getRandomPaperExcelById(id); |
| | | 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()); |
| | | } |
| | | return e; |
| | | }).collect(Collectors.toList()); |
| | | return paperExcel; |
| | | } |
| | | |
| | | private void examPaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, ExamPaper examPaper, List<ExamPaperTitleItemVM> titleItemsVM) { |
| | | // Integer gradeLevel = subjectService.levelBySubjectId(examPaperEditRequestVM.getSubjectId()); |
| | | Integer questionCount = titleItemsVM.stream() |
| | |
| | | </select> |
| | | |
| | | <select id="getResult" resultMap="BaseResultMap" parameterType="list"> |
| | | select * from t_exam_paper_answer where (exam_paper_id) in |
| | | select * from t_exam_paper_answer where invalid = 0 and (exam_paper_id) in |
| | | <foreach collection="list" item="item" open="(" close=")" separator=","> |
| | | (#{item}) |
| | | </foreach> |
| | |
| | | where a.exam_paper_id = #{id} |
| | | </select> |
| | | |
| | | <select id="getRandomPaperExcelById" resultType="com.mindskip.xzs.domain.vo.PaperExcelVO" parameterType="java.lang.Integer"> |
| | | select u.real_name as name,a.create_user as userId,a.user_score as userScore,a.paper_score as paperScore |
| | | from t_exam_paper_answer a |
| | | inner join t_user u on u.id = a.create_user |
| | | inner join t_exam_templates_user_count uc ON a.exam_paper_id = uc.exam_paper_id AND uc.exam_templates_id = #{id} |
| | | where a.invalid = 0 |
| | | </select> |
| | | |
| | | |
| | | <select id="list" resultType="com.mindskip.xzs.domain.ExamPaper"> |
| | | select id, name, paper_type, create_time from t_exam_paper |
| | | where paper_type != 7 |
| | |
| | | where user_id = #{userId,jdbcType=INTEGER} |
| | | </select> |
| | | |
| | | <select id="selectDeptByUserId" resultType="com.mindskip.xzs.domain.Department"> |
| | | SELECT |
| | | d.id,d.name |
| | | FROM t_user_department ud INNER JOIN t_department d ON ud.department_id = d.id |
| | | WHERE ud.user_id = #{userId} AND d.deleted = 0 |
| | | </select> |
| | | |
| | | <select id="selectByDepartmentId" parameterType="java.lang.Integer" resultMap="BaseResultMap"> |
| | | select |
| | | <include refid="Base_Column_List" /> |