From e64cf23c812a1a27cefe0c763d447323261b0c89 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 20 八月 2024 18:25:10 +0800 Subject: [PATCH] refactor:核算导出调整 --- ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java index 8020953..eab4a39 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java @@ -1,10 +1,15 @@ package com.ycl.platform.service.impl; import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.CalculateRecord; import com.ycl.platform.domain.entity.CalculateReport; +import com.ycl.platform.domain.entity.CalculateRule; import com.ycl.platform.domain.excel.CalculateExport; import com.ycl.platform.domain.form.CalculateReportBackfillForm; import com.ycl.platform.domain.form.CalculateReportForm; @@ -14,6 +19,7 @@ import com.ycl.platform.mapper.CalculateRecordMapper; import com.ycl.platform.mapper.CalculateReportMapper; import com.ycl.platform.service.CalculateReportService; +import com.ycl.platform.service.ICalculateRuleService; import com.ycl.system.Result; import com.ycl.system.page.PageUtil; import enumeration.general.CalculateReportStatusEnum; @@ -44,7 +50,7 @@ @RequiredArgsConstructor public class CalculateReportServiceImpl extends ServiceImpl<CalculateReportMapper, CalculateReport> implements CalculateReportService { - private final CalculateReportMapper calculateReportMapper; + private final ICalculateRuleService calculateRuleService; private final CalculateRecordMapper calculateRecordMapper; /** @@ -211,13 +217,19 @@ calculateExport.setNum(list.stream().mapToInt(CalculateExport::getNum).sum()); calculateExport.setScore(100 + list.stream().mapToInt(CalculateExport::getScore).sum()); list.add(calculateExport); + // 鑾峰彇瑙勫垯 + List<CalculateRule> ruleList = calculateRuleService.list(new LambdaQueryWrapper<CalculateRule>().eq(CalculateRule::getContractId, contractId)); // 杈撳嚭鏂囦欢 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); String fileName = URLEncoder.encode("鏍哥畻鎶ュ憡", StandardCharsets.UTF_8).replace("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - EasyExcel.write(response.getOutputStream(), CalculateExport.class) - .sheet("鏍哥畻鎶ュ憡") - .doWrite(list); + // 澧炲姞sheet + try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build()){ + WriteSheet sheet = EasyExcel.writerSheet(0, "鏍哥畻鎶ュ憡").head(CalculateExport.class).build(); + excelWriter.write(list, sheet); + WriteSheet sheet2 = EasyExcel.writerSheet(1, "鏍哥畻瑙勫垯").head(CalculateRule.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); + excelWriter.write(ruleList, sheet2); + } } } -- Gitblit v1.8.0