From 0c479f17e5f9ff3ad638f3af783cf22b0a77fbd0 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期一, 26 八月 2024 16:04:43 +0800
Subject: [PATCH] 排班导出优化

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
index d583cb9..962f7d2 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java
@@ -1,5 +1,6 @@
 package com.dy.pmsProduct.schedule;
 
+import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.converters.Converter;
 import com.dy.common.aop.SsoPowerAop;
 import com.dy.common.webUtil.BaseResponse;
@@ -14,6 +15,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -25,8 +27,7 @@
 @RestController
 @RequestMapping(path="schedule")
 public class ScheduleCtrl {
-    private static final String fileName = "鎺掔彮淇℃伅" ;
-    private static final String sheetName = "鎺掔彮淇℃伅" ;
+
     private ScheduleSv sv;
     @Autowired
     public void setScheduleSv(ScheduleSv scheduleSv) {
@@ -99,7 +100,8 @@
         return BaseResponseUtils.buildSuccess(list);
     }
 
-
+    private String fileName = "鎺掔彮淇℃伅" ;
+    private String sheetName = "鎺掔彮淇℃伅" ;
     @PostMapping(path="export")
     @SsoPowerAop(power = "-1")
     @Log("瀵煎嚭鎺掔彮")
@@ -107,10 +109,10 @@
         List<Converter> list = new ArrayList<>() ;
 
         List<PrSchedule> schList = sv.selectAll(queryVo);
-        // 浣跨敤骞惰娴佹彁楂樻�ц兘
-        schList.parallelStream().forEach(sch -> {
+        schList.forEach(sch -> {
             sch.relList.forEach(rel -> {
                 ExcelVo vo = new ExcelVo();
+                vo.id = sch.id.toString();
                 vo.userName = sch.userName;
                 vo.scheduleDate = sch.scheduleDate;
                 vo.dt = sch.dt;
@@ -121,6 +123,16 @@
                 list.add(vo);
             });
         });
-        QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
+
+        try{
+            response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+            response.setCharacterEncoding("utf-8");
+            fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
+            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+            EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName)
+                    .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list);
+        }catch (Exception e){
+            log.error("瀵煎嚭鎺掔彮淇℃伅寮傚父", e);
+        }
     }
 }

--
Gitblit v1.8.0