From b49786ef4fa9035931727c419b21584f1c0aecc8 Mon Sep 17 00:00:00 2001 From: xxssyyyyssxx Date: Tue, 2 Nov 2021 09:39:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/BaseController.java | 6 +++--- .../controller/backend/ProjectController.java | 20 +++++++++++++++++++ .../templates/admin/project_list.ftl | 18 ++++++++++++++--- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/BaseController.java b/src/main/java/cn/palmte/work/controller/backend/BaseController.java index 678e99d..422db18 100644 --- a/src/main/java/cn/palmte/work/controller/backend/BaseController.java +++ b/src/main/java/cn/palmte/work/controller/backend/BaseController.java @@ -61,7 +61,7 @@ public class BaseController { * @param response HttpServletResponse * @param fileName 文件名 */ - protected void downloadHearder(HttpServletResponse response, String fileName, String contentType) { + protected void downloadHeader(HttpServletResponse response, String fileName, String contentType) { response.setContentType(contentType); response.setCharacterEncoding("UTF-8"); try { @@ -72,10 +72,10 @@ public class BaseController { } /** - * @see BaseController {@link #downloadHearder(HttpServletResponse, String, String)} + * @see BaseController {@link #downloadHeader(HttpServletResponse, String, String)} */ protected void downloadHearder(HttpServletResponse response, String fileName) { - downloadHearder(response, fileName, "application/octet-stream"); + downloadHeader(response, fileName, "application/octet-stream"); } diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 6f97f96..ea1557f 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -6,6 +6,8 @@ import cn.palmte.work.model.DeptRepository; import cn.palmte.work.model.Project; import cn.palmte.work.service.ProjectService; import cn.palmte.work.utils.InterfaceUtil; +import cn.palmte.work.utils.Utils; +import cn.palmte.work.utils.excel.ExportUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +18,8 @@ import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -33,6 +37,9 @@ public class ProjectController extends BaseController{ @Autowired private DeptRepository deptRepository; + /** + * 项目列表 + */ @RequestMapping("/list") public String list(@RequestParam(value = "keywords",required = false) String keywords, @RequestParam(value = PAGE_NUMBER, defaultValue = DEFAULT_PAGE_NUMBER) int pageNumber, @@ -46,6 +53,19 @@ public class ProjectController extends BaseController{ return "admin/project_list"; } + /** + * 项目导出 + */ + @RequestMapping("/export") + public void export(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { + Map searchInfo = getSearchInfo(keywords); + downloadHeader(httpServletResponse , Utils.generateExcelName("项目报表"), "application/octet-stream"); + String[] headers = {"项目名称","项目类型","项目状态","审核状态","当前审核人","项目创建者","部门名称","项目开始时间","项目结束时间"}; + String[] exportColumns = {"name","typeDesc","statusDesc","approveStatusDesc","approveName","creatorName","deptName","startDate","endDate"}; + ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, + httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList()); + } + /** * 新增,至项目概算 diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 546c7c3..c9fe9c8 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -215,9 +215,22 @@