From 5e75ef24e5dd45ae934dc7f03f6c7736ca73c9ff Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 27 八月 2024 15:01:32 +0800
Subject: [PATCH] fix order search
---
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java | 53 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 33 insertions(+), 20 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..32367ed 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,19 +1,22 @@
package com.dy.pmsProduct.schedule;
-import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.EasyExcel;
import com.dy.common.aop.SsoPowerAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.aop.Log;
import com.dy.pmsGlobal.pojoPr.PrSchedule;
-import com.dy.pmsGlobal.util.QrCodeUtil;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -25,8 +28,8 @@
@RestController
@RequestMapping(path="schedule")
public class ScheduleCtrl {
- private static final String fileName = "鎺掔彮淇℃伅" ;
- private static final String sheetName = "鎺掔彮淇℃伅" ;
+ private String fileName = "鎺掔彮淇℃伅" ;
+ private String sheetName = "鎺掔彮淇℃伅" ;
private ScheduleSv sv;
@Autowired
public void setScheduleSv(ScheduleSv scheduleSv) {
@@ -103,24 +106,34 @@
@PostMapping(path="export")
@SsoPowerAop(power = "-1")
@Log("瀵煎嚭鎺掔彮")
- public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response){
- List<Converter> list = new ArrayList<>() ;
+ public void exportSchedule(@RequestBody QueryVo queryVo, HttpServletResponse response) throws IOException {
+ List<ExcelVo> list = new ArrayList<>();
List<PrSchedule> schList = sv.selectAll(queryVo);
- // 浣跨敤骞惰娴佹彁楂樻�ц兘
- schList.parallelStream().forEach(sch -> {
- sch.relList.forEach(rel -> {
- ExcelVo vo = new ExcelVo();
- vo.userName = sch.userName;
- vo.scheduleDate = sch.scheduleDate;
- vo.dt = sch.dt;
- vo.planName = rel.planName;
- vo.nodeName = rel.nodeName;
- vo.stationName = rel.stationName;
- vo.workDetails = rel.workDetails;
- list.add(vo);
+ if (CollectionUtils.isNotEmpty(schList)) {
+ schList.forEach(sch -> {
+ if (CollectionUtils.isNotEmpty(sch.relList)) {
+ 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;
+ vo.planName = rel.planName;
+ vo.nodeName = rel.nodeName;
+ vo.stationName = rel.stationName;
+ vo.workDetails = rel.workDetails;
+ list.add(vo);
+ });
+ }
});
- });
- QrCodeUtil.downloadExcel(response, fileName,sheetName,list);
+ }
+
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setCharacterEncoding("utf-8");
+ fileName = URLEncoder.encode(fileName, StandardCharsets.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);
}
}
--
Gitblit v1.8.0