From 8d87e04c9e5fb2fd54b25b045af6c60bf5641027 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期五, 29 十一月 2024 14:54:26 +0800 Subject: [PATCH] 导出升级结果为excel文件的一个bug --- pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 6 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java index 3a99797..8115374 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-base/src/main/java/com/dy/pipIrrBase/rtuUpgrade/task/UgRtuResultCtrl.java @@ -1,5 +1,7 @@ package com.dy.pipIrrBase.rtuUpgrade.task; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.support.ExcelTypeEnum; import com.dy.common.aop.SsoAop; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; @@ -13,13 +15,17 @@ import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.List; /** @@ -59,12 +65,50 @@ if (vo.taskId == null) { return BaseResponseUtils.buildErrorMsg("鍗囩骇浠诲姟id涓嶈兘涓虹┖"); } - try { - QueryResultVo<List<VoUgResult>> res = this.sv.selectSome(vo); - return BaseResponseUtils.buildSuccess(res); - } catch (Exception e) { - log.error("鏌ヨRTU鍗囩骇浠诲姟寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()); + if(vo.state != null && vo.state == 1){ + //鏌ヨ鍗囩骇鎴愬姛鐨� + vo.fail = null ; } + if(vo.state == null && vo.fail != null){ + //鏌ヨ鍗囩骇澶辫触鐨� + vo.state = 0 ; + } + QueryResultVo<List<VoUgResult>> res = this.sv.selectSome(vo); + return BaseResponseUtils.buildSuccess(res); + } + + /** + * 瀵煎嚭鍗囩骇缁撴灉RTU鍒楄〃 + * @param response + */ + @RequestMapping(value = "/exportAll", method = RequestMethod.GET) + @SsoAop() + public void exportAll(HttpServletResponse response, QueryUgResultVo vo) throws Exception { + if(vo.state != null && vo.state == 1){ + //鏌ヨ鍗囩骇鎴愬姛鐨� + vo.fail = null ; + } + if(vo.state == null && vo.fail != null){ + //鏌ヨ鍗囩骇澶辫触鐨� + vo.state = 0 ; + } + setExcelRespProp(response, "鍗囩骇缁撴灉鍒楄〃"); + List<VoUgResult> rsList = this.sv.selectAll(vo); + EasyExcel.write(response.getOutputStream()) + .head(VoUgResult.class) + .excelType(ExcelTypeEnum.XLSX) + .sheet("鍗囩骇缁撴灉鍒楄〃") + .doWrite(rsList); + } + + + /** + * 璁剧疆excel涓嬭浇鍝嶅簲澶村睘鎬� + */ + private void setExcelRespProp(HttpServletResponse response, String rawFileName) throws UnsupportedEncodingException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode(rawFileName, "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); } } -- Gitblit v1.8.0