| | |
| | | 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; |
| | |
| | | private IExamUtilService iExamUtilService; |
| | | @Autowired |
| | | private IEntTestPackageService entTestPackageService; |
| | | |
| | | @Autowired |
| | | private ITExamPaperService itExamPaperService; |
| | | |
| | |
| | | setSysHeadToEnglish(tExamReportList, reportResultMap, reportType); |
| | | |
| | | // 写文件 |
| | | writeFile(fileNameResult, reportResultMap); |
| | | writeMutiFile(fileNameResult, reportResultMap); |
| | | |
| | | // 返回下载 |
| | | return AjaxResult.success(examUtilService.getLangOrLocalLangString("", tExamReportList.get(0).getProductName()) + "_DateReport.xlsx"); |
| | |
| | | |
| | | 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) { |
| | |
| | | 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())) { |
| | |
| | | } |
| | | |
| | | 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())) { |