From 5016dc772bcb3fdba9ce6d255a5674f1a7160964 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期一, 22 七月 2024 11:58:23 +0800 Subject: [PATCH] fix:成绩统计导出完善 --- src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java index cd5e1cf..b355128 100644 --- a/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java +++ b/src/main/java/com/mindskip/xzs/controller/admin/ExamPaperAnswerController.java @@ -7,7 +7,6 @@ import com.github.pagehelper.PageInfo; import com.mindskip.xzs.base.BaseApiController; import com.mindskip.xzs.base.RestResponse; -import com.mindskip.xzs.domain.Department; import com.mindskip.xzs.domain.ExamPaperAnswer; import com.mindskip.xzs.domain.ExamPaperSubject; import com.mindskip.xzs.domain.Subject; @@ -20,13 +19,11 @@ import com.mindskip.xzs.utility.DateTimeUtil; import com.mindskip.xzs.utility.ExamUtil; import com.mindskip.xzs.utility.PageInfoHelper; -import com.mindskip.xzs.utility.excel.ExcelUtils; import com.mindskip.xzs.viewmodel.admin.paper.ExamPaperAnswerPageRequestVM; import com.mindskip.xzs.viewmodel.student.exampaper.ExamPaperAnswerPageResponseVM; import lombok.RequiredArgsConstructor; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -39,6 +36,7 @@ import java.math.RoundingMode; import java.util.List; import java.util.Map; +import java.util.TreeMap; import java.util.stream.Collectors; @RequiredArgsConstructor @@ -149,17 +147,14 @@ // 鑰冭瘯璇︽儏sheet锛屼竴涓崟浣嶄竴涓猻heet 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)); - deptDataMap.forEach((deptId, paperList) -> { - List<Department> departments = deptMap.get(deptId); - String name = ""; - if (CollectionUtils.isNotEmpty(departments)) { - name = departments.get(0).getName(); + Map<Integer, List<PaperExcelVO>> sortedDeptDataMap = new TreeMap<>(deptDataMap); + sortedDeptDataMap.forEach((deptId, paperList) -> { + if (CollectionUtils.isNotEmpty(paperList) && ObjectUtils.isNotEmpty(paperList.get(0))) { + String name = paperList.get(0).getDepartmentName(); + WriteSheet writeSheetNext = EasyExcel.writerSheet(name).head(PaperExcelVO.class).build(); + excelWriter.write(paperList, writeSheetNext); } - WriteSheet writeSheetNext = EasyExcel.writerSheet(name).head(PaperExcelVO.class).build(); - excelWriter.write(paperList, writeSheetNext); }); } catch (IOException e) { e.printStackTrace(); -- Gitblit v1.8.0