From 3ea61dd8477c0e652ff660aabbd11a11cdf63a45 Mon Sep 17 00:00:00 2001
From: 16639036659 <577530412@qq.com>
Date: 星期三, 15 五月 2024 09:56:55 +0800
Subject: [PATCH] 导出调整
---
src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java | 16 ++++---
src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java | 7 +++
src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java | 74 +++++++++++++++++++++++++------------
3 files changed, 65 insertions(+), 32 deletions(-)
diff --git a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java
index 52d5f77..a3acaa4 100644
--- a/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java
+++ b/src/main/java/com/gkhy/labRiskManage/api/controller/basic/OldRiskAssessController.java
@@ -20,6 +20,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
/**
@@ -134,20 +135,21 @@
}
@PostMapping("/select/exportOldRiskAssess")
- public Result exportOldRiskAssess(@RequestBody OldRiskAssessQueryReqBO queryReqDO){
+ public Result exportOldRiskAssess(@RequestBody OldRiskAssessQueryReqBO queryReqDO, HttpServletResponse response, HttpServletRequest request){
Result result = new Result();
result.setCode(ResultCode.OK);
result.setMsg("导出成功");
- int importResult = oldRiskAssessService.exportOldRiskAssess(getCurrentUserId(), queryReqDO);
+ Result<OldRiskAssessExportRespDTO> importResult = oldRiskAssessService.exportOldRiskAssess(getCurrentUserId(), queryReqDO, response, request);
- if (importResult < 1){
- result.setCode(ResultCode.NOT_OK);
- result.setMsg("导出失败");
- }
- result.setCount(importResult);
+// if (importResult < 1){
+// result.setCode(ResultCode.NOT_OK);
+// result.setMsg("导出失败");
+// }
+ result.setCount(importResult.getCount());
+ result.setData(importResult.getData());
return result;
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java
index 75e5159..ca81ac9 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/OldRiskAssessService.java
@@ -1,10 +1,15 @@
package com.gkhy.labRiskManage.domain.basic.service;
import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO;
+import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessExportRespDTO;
import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO;
+import com.gkhy.labRiskManage.commons.domain.Result;
import com.gkhy.labRiskManage.commons.domain.SearchResult;
import com.gkhy.labRiskManage.domain.basic.entity.OldRiskAssess;
import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
public interface OldRiskAssessService {
@@ -18,5 +23,5 @@
int importOldRiskAssess(Long currentUserId, MultipartFile file);
- int exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO);
+ Result<OldRiskAssessExportRespDTO> exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO, HttpServletResponse response, HttpServletRequest request);
}
diff --git a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java
index 517e209..eda1981 100644
--- a/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java
+++ b/src/main/java/com/gkhy/labRiskManage/domain/basic/service/impl/OldRiskAssessServiceImpl.java
@@ -1,7 +1,9 @@
package com.gkhy.labRiskManage.domain.basic.service.impl;
import com.gkhy.labRiskManage.api.controller.basic.dto.repDto.OldRiskAssessQueryReqBO;
+import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessExportRespDTO;
import com.gkhy.labRiskManage.api.controller.basic.dto.respDto.OldRiskAssessQueryRespDTO;
+import com.gkhy.labRiskManage.commons.domain.Result;
import com.gkhy.labRiskManage.commons.domain.SearchResult;
import com.gkhy.labRiskManage.commons.enums.ResultCode;
import com.gkhy.labRiskManage.commons.enums.StatusEnum;
@@ -21,6 +23,7 @@
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Base64Utils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
@@ -28,9 +31,14 @@
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
import java.text.NumberFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
@@ -317,7 +325,7 @@
}
@Override
- public int exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO) {
+ public Result<OldRiskAssessExportRespDTO> exportOldRiskAssess(Long currentUserId, OldRiskAssessQueryReqBO queryReqDO , HttpServletResponse response, HttpServletRequest request) {
//组装查询条件
Specification<OldRiskAssess> specification = new Specification<OldRiskAssess>() {
@@ -354,6 +362,7 @@
}
};
List<OldRiskAssess> list = repository.findAll(specification);
+ Result result = new Result<>();
//创建工作薄
HSSFWorkbook workbook = new HSSFWorkbook();
@@ -402,29 +411,46 @@
cell.setCellValue(oldRiskAssess.getControlLevel());
}
- // 保存Excel文件
- try{
- // 获取桌面路径
- String desktopPath = System.getProperty("user.home") + "/Desktop/";
- // 导出文件名
- String fileName = desktopPath + "评分标准.xlsx";
- FileOutputStream fileOutputStream = new FileOutputStream(new File(fileName));
- // 将工作簿写入文件
- workbook.write(fileOutputStream);
- workbook.close();
- fileOutputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- if (workbook != null){
- try {
- workbook.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return StatusEnum.SUCCESS.getCode();
+// // 保存Excel文件
+// try{
+// ServletOutputStream out = null;
+// response.setContentType("application/json");
+// response.setCharacterEncoding("utf-8");
+// response.setContentType("application/octet-stream;charset=UTF-8");
+// String fileName = "测试测试.xls";
+//
+// String agent = request.getHeader("USER-AGENT").toLowerCase();
+// String uncodeFileNameString = "";
+// if(agent.contains("firefox")){
+// // 火狐
+// uncodeFileNameString = "=?UTF-8?B?" + (new String(Base64Utils.encodeToString(fileName.getBytes("UTF-8")))) + "?=";
+// }else{
+// // 其他
+// uncodeFileNameString = URLEncoder.encode(fileName, "UTF-8");
+// uncodeFileNameString = uncodeFileNameString.replace("+", "%20"); // 空格被转为了 "+" ,要转成utf-8的空格符号 "%20"
+// }
+// response.setContentType("application/octet-stream;charset=UTF-8");
+// response.setHeader("Content-disposition", "attachment; filename=" + uncodeFileNameString);
+// out = response.getOutputStream();
+//
+//
+//// // 获取桌面路径
+//// String desktopPath = System.getProperty("user.home") + "/Desktop/";
+//// // 导出文件名
+//// String fileName = desktopPath + "评分标准.xlsx";
+//// FileOutputStream fileOutputStream = new FileOutputStream(new File(fileName));
+// // 将工作簿写入文件
+// workbook.write(out);
+// workbook.close();
+// out.close();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+
+ result.setData(list);
+ result.setCount(list.size());
+
+ return result;
}
@Override
--
Gitblit v1.9.2