From ab06fbcd79f0e48cb83e3f0621e944a90c2b20a0 Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期一, 26 八月 2024 16:24:01 +0800
Subject: [PATCH] 排班导出优化
---
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java | 61 +++++++++++++++---------------
1 files changed, 31 insertions(+), 30 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 962f7d2..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,21 +1,22 @@
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;
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;
@@ -27,7 +28,8 @@
@RestController
@RequestMapping(path="schedule")
public class ScheduleCtrl {
-
+ private String fileName = "鎺掔彮淇℃伅" ;
+ private String sheetName = "鎺掔彮淇℃伅" ;
private ScheduleSv sv;
@Autowired
public void setScheduleSv(ScheduleSv scheduleSv) {
@@ -100,39 +102,38 @@
return BaseResponseUtils.buildSuccess(list);
}
- private String fileName = "鎺掔彮淇℃伅" ;
- private String sheetName = "鎺掔彮淇℃伅" ;
+
@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.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;
- 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);
+ });
+ }
});
- });
-
- 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);
}
+
+ 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