From d9ced0cba82dfb6931ca65540eed2f55058342db Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期二, 02 一月 2024 20:23:08 +0800
Subject: [PATCH] 取水口的 添加 修改 逻辑删除 查询一个 查询全部 分页查询
---
pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
index 66ef655..f6d2a12 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/divide/DivideCtrl.java
@@ -1,5 +1,7 @@
package com.dy.pipIrrProject.divide;
+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;
@@ -16,14 +18,20 @@
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 jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
@@ -55,7 +63,7 @@
)
})
@GetMapping(path = "/getDivides", consumes = MediaType.APPLICATION_JSON_VALUE)
- @SsoAop("-1")
+ @SsoAop()
public BaseResponse<QueryResultVo<List<VoDivide>>> getDivides(@RequestBody @Parameter(description = "鏌ヨform琛ㄥ崟json鏁版嵁", required = true) QueryVo vo){
try {
QueryResultVo<List<VoDivide>> res = divideSv.getDivides(vo);
@@ -77,7 +85,7 @@
})
@PostMapping(path = "add", consumes = MediaType.APPLICATION_JSON_VALUE)
@Transactional(rollbackFor = Exception.class)
- @SsoAop("-1")//@SsoAop(power = "-1")
+ @SsoAop()
public BaseResponse<Boolean> add(@RequestBody @Parameter(description = "form琛ㄥ崟json鏁版嵁", required = true) @Valid PrDivide po, @Parameter(hidden = true) BindingResult bindingResult){
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if(bindingResult != null && bindingResult.hasErrors()){
@@ -93,4 +101,44 @@
return BaseResponseUtils.buildSuccess(true) ;
}
+
+ /**
+ * 瀵煎嚭鍒嗘按鎴垮垪琛�
+ * @param response
+ * @param vo
+ */
+ @SneakyThrows(IOException.class)
+ @RequestMapping(value = "/exportDivides", method = RequestMethod.GET)
+ public void exportDivides(HttpServletResponse response, QueryVo vo) {
+ setExcelRespProp(response, "鍒嗘按鎴垮垪琛�");
+ //List<VoDivide> memberList = LocalJsonUtil.getListFromJson("json/members.json", VoDivide.class);
+ List<VoDivide> memberList = divideSv.exportDivides(vo);
+
+ EasyExcel.write(response.getOutputStream())
+ .head(VoDivide.class)
+ .excelType(ExcelTypeEnum.XLSX)
+ .sheet("鍒嗘按鎴垮垪琛�")
+ .doWrite(memberList);
+ }
+
+ @SneakyThrows
+ @RequestMapping(value = "/importDivides", method = RequestMethod.POST)
+ @ResponseBody
+ public BaseResponse<Boolean> importDivides(@RequestPart("file") MultipartFile file) {
+ List<VoDivide> memberList = EasyExcel.read(file.getInputStream())
+ .head(VoDivide.class)
+ .sheet()
+ .doReadSync();
+ return BaseResponseUtils.buildSuccess(memberList) ;
+ }
+
+ /**
+ * 璁剧疆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