From 64a9eae8cdecf9290616db982d9bc53e5ed94e70 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 17 Feb 2023 14:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E5=BB=BA=E6=B4=BB=E5=8A=A8=E3=80=81?= =?UTF-8?q?=E8=81=94=E5=BB=BA=E5=8D=95=E4=BD=8D=E4=B8=8B=E8=BD=BD=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IcPartyActivityController.java | 31 ++++++++++++++++++ .../controller/IcPartyUnitController.java | 28 ++++++++++++++++ .../templates/icpartyactivity_import_tem.xlsx | Bin 0 -> 9091 bytes .../templates/icpartyunit_impoort_tem.xlsx | Bin 0 -> 9316 bytes 4 files changed, 59 insertions(+) create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyactivity_import_tem.xlsx create mode 100644 epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyunit_impoort_tem.xlsx diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java index 38b63b836d..5fb1845333 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java @@ -41,13 +41,18 @@ import com.epmet.service.IcPartyActivityService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -214,4 +219,30 @@ public class IcPartyActivityController { PageData page = icPartyActivityService.getActivityList(tokenDto, formDTO); return new Result>().ok(page); } + + /** + * 下载联建活动导入模板 + * @param response + * @throws IOException + */ + @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("联建活动导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/icpartyactivity_import_tem.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } + + } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java index 4545cb226b..dfa0808fce 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java @@ -27,14 +27,19 @@ import com.epmet.service.IcPartyUnitService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.InputStream; +import java.net.URLEncoder; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -330,4 +335,27 @@ public class IcPartyUnitController { return new Result(); } + /** + * 下载联建单位导入模板 + * @param response + * @throws IOException + */ + @RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) + public void downloadTemplate(HttpServletResponse response) throws IOException { + response.setCharacterEncoding("UTF-8"); + response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); + //response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel"); + response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("联建单位导入模板", "UTF-8") + ".xlsx"); + + InputStream is = this.getClass().getClassLoader().getResourceAsStream("templates/icpartyunit_impoort_tem.xlsx"); + try { + ServletOutputStream os = response.getOutputStream(); + IOUtils.copy(is, os); + } finally { + if (is != null) { + is.close(); + } + } + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyactivity_import_tem.xlsx b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyactivity_import_tem.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1d04c7c15d9349ff3e64e60391b15e6d6dcc760a GIT binary patch literal 9091 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 literal 0 HcmV?d00001