From 3a8e1524dcf0eeb610d38123d5f0a3ef838379cd Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期一, 12 四月 2021 15:44:53 +0800 Subject: [PATCH] Merge branch '20210406-maqv2' into 20210412-youhua --- src/main/java/com/ots/project/exam/controller/TExamReportController.java | 34 +++++++++++++++++++++++++++------- 1 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ots/project/exam/controller/TExamReportController.java b/src/main/java/com/ots/project/exam/controller/TExamReportController.java index 96f28b2..764dafe 100644 --- a/src/main/java/com/ots/project/exam/controller/TExamReportController.java +++ b/src/main/java/com/ots/project/exam/controller/TExamReportController.java @@ -65,6 +65,7 @@ import org.apache.commons.collections.map.HashedMap; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.IndexedColors; +import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; @@ -123,6 +124,7 @@ private IExamUtilService iExamUtilService; @Autowired private IEntTestPackageService entTestPackageService; + @Autowired private ITExamPaperService itExamPaperService; @@ -535,7 +537,7 @@ setSysHeadToEnglish(tExamReportList, reportResultMap, reportType); // 鍐欐枃浠� - writeFile(fileNameResult, reportResultMap); + writeMutiFile(fileNameResult, reportResultMap); // 杩斿洖涓嬭浇 return AjaxResult.success(examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"); @@ -635,13 +637,31 @@ private void writeFile(String fileNameResult, Map<String, List<List<Object>>> reportResultMap) { for (Map.Entry<String, List<List<Object>>> entryReport : reportResultMap.entrySet()) { - ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getWriter(fileNameResult, entryReport.getKey()); + ExcelWriter writer = cn.hutool.poi.excel.ExcelUtil.getBigWriter(fileNameResult, entryReport.getKey()); StyleSet styleSet = writer.getStyleSet(); styleSet.setBorder(BorderStyle.NONE, IndexedColors.OLIVE_GREEN); writer.write(entryReport.getValue(), true); + SXSSFSheet sheet = (SXSSFSheet) writer.getSheet(); + sheet.trackAllColumnsForAutoSizing(); + writer.autoSizeColumnAll(); writer.close(); } - + } + private void writeMutiFile(String fileNameResult, Map<String, List<List<Object>>> reportResultMap) { + FileUtil.del(fileNameResult); + ExcelWriter writer = null; + for (Map.Entry<String, List<List<Object>>> entryReport : reportResultMap.entrySet()) { + if (Objects.isNull(writer)) { + writer = new ExcelWriter(fileNameResult,entryReport.getKey()); + } + writer.setSheet(entryReport.getKey()); + StyleSet styleSet = writer.getStyleSet(); + styleSet.setBorder(BorderStyle.NONE, IndexedColors.OLIVE_GREEN); + writer.write(entryReport.getValue(), true); + writer.autoSizeColumnAll(); + writer.setSheet(entryReport.getKey()); + } + writer.close(); } private void setReportResultList(List<Object> demographyHeadSystem, List<List<Object>> reportResultList, Map<String, Object> textMap) { @@ -677,6 +697,10 @@ private String getReportType(TExamReport tExamReport) { String reportType = ReportTypeEnum.RuiLin.getCode(); TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(tExamReport.getProductId()); + tExamPaper.getName(); + if (tExamPaper.getName().indexOf("鐫块偦")>0 || tExamPaper.getName().indexOf("RuiLin")>0 ) { + return reportType; + } List<TReportTemplate> tReportTemplateList = itReportTemplateService.selectTReportTemplates(tExamPaper.getReportTemplateId()); for (TReportTemplate tReportTemplate : tReportTemplateList) { if (Objects.isNull(tReportTemplate.getReportType())) { @@ -698,10 +722,6 @@ } private void setDataReportHeader(DataReportHead dataReportHead, Map<String, List<List<Object>>> reportResultMap, String reportType, boolean isRight) { - //濡傛灉涓虹┖閲嶆柊鑾峰彇 - if(Objects.isNull(reportType)){ - - } if (Objects.equals(reportType, ReportTypeEnum.RuiLin.getCode())) { setDataReportHeaderRuilin(dataReportHead, reportResultMap, isRight); } else if (Objects.equals(reportType, ReportTypeEnum.CAQ.getCode())) { -- Gitblit v1.9.1