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