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