diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryProjectListFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryProjectListFormDTO.java index d182572061..3da140aa04 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryProjectListFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/CategoryProjectListFormDTO.java @@ -11,12 +11,13 @@ import java.io.Serializable; * @DESC */ @Data -public class CategoryProjectListFormDTO implements Serializable { +public class CategoryProjectListFormDTO extends ProjectCategoryFormDTO implements Serializable { private static final long serialVersionUID = -5448734274886241594L; public interface CategoryProjectListForm{} + @NotNull(message = "pageSize不能为空",groups = CategoryProjectListForm.class) private Integer pageSize; @@ -26,22 +27,21 @@ public class CategoryProjectListFormDTO implements Serializable { /** * 项目状态:closed:已结案,all:全部 */ - @NotNull(message = "status不能为空",groups = CategoryProjectListForm.class) + @NotNull(message = "status不能为空",groups = {CategoryProjectListForm.class, CategoryProjectExportForm.class}) private String status; - @NotNull(message = "categoryCode不能为空",groups = CategoryProjectListForm.class) + @NotNull(message = "categoryCode不能为空",groups = {CategoryProjectListForm.class, CategoryProjectExportForm.class}) private String categoryCode; + @NotNull(message = "categoryName不能为空",groups = CategoryProjectExportForm.class) + private String categoryName; + private String parentCategoryName; + /** * 组织ID */ private String orgId; - /** - * 组织类型:agency:组织,grid:网格 - */ - private String orgType; - /** * 是否分页,默认true,false的时候 给导出用 */ diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectCategoryFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectCategoryFormDTO.java index 34043933bc..8cd3a4f083 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectCategoryFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/form/ProjectCategoryFormDTO.java @@ -16,6 +16,7 @@ public class ProjectCategoryFormDTO implements Serializable { private static final long serialVersionUID = 5047143743629810527L; public interface ProjectCategoryForm{} + public interface CategoryProjectExportForm {} /** * 组织ID @@ -27,7 +28,7 @@ public class ProjectCategoryFormDTO implements Serializable { */ private String orgType; - @NotBlank(message = "结束时间不能为空",groups = ProjectCategoryForm.class) + @NotBlank(message = "结束时间不能为空",groups = {ProjectCategoryForm.class,CategoryProjectExportForm.class}) private String endTime; /** diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java index afc882a39d..3a58d96d4c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/ScreenProjectController.java @@ -29,6 +29,7 @@ import com.epmet.project.dto.result.ProjectCategoryResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Workbook; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -195,20 +196,13 @@ public class ScreenProjectController { * @date 2021/11/4 3:38 下午 */ @PostMapping("selectprojectcategory/export") - public void selectProjectCategoryExport(@RequestBody ProjectCategoryFormDTO formDTO, /*@LoginUser*/ TokenDto tokenDto, HttpServletResponse response) throws Exception { - tokenDto.setUserId("36bc0fb38565ecdebf8ab9b476b44548"); - tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); - ValidatorUtils.validateEntity(formDTO, ProjectCategoryFormDTO.ProjectCategoryForm.class); + public void selectProjectCategoryExport(@RequestBody ProjectCategoryFormDTO formDTO, @LoginUser TokenDto tokenDto, HttpServletResponse response) throws Exception { + //tokenDto.setUserId("36bc0fb38565ecdebf8ab9b476b44548"); + //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); + ValidatorUtils.validateEntity(formDTO, ProjectCategoryFormDTO.CategoryProjectExportForm.class); List data = screenProjectService.selectProjectCategory(formDTO, tokenDto); String templatePath = "excel/project_category_temp.xlsx"; - StringBuilder dateBuilder = new StringBuilder(); - if (StringUtils.isNotBlank(formDTO.getStartTime())){ - dateBuilder.append(formDTO.getStartTime()).append(StrConstant.HYPHEN); - } - if (StringUtils.isNotBlank(formDTO.getEndTime())){ - dateBuilder.append(formDTO.getEndTime()); - } List resultDTOList = new ArrayList<>(); data.forEach(e->{ resultDTOList.add(e); @@ -219,7 +213,7 @@ public class ScreenProjectController { Map mapData = new HashMap<>(); mapData.put("list",resultDTOList); mapData.put("orgName",staffInfo.getAgencyName()); - mapData.put("exportDate",dateBuilder.toString()); + mapData.put("exportDate",getExportDateStr(formDTO.getStartTime(),formDTO.getEndTime())); Workbook workbook = ExcelExportUtil.exportExcel(new TemplateExportParams(templatePath), mapData); response.setHeader("content-Type", "application/vnd.ms-excel"); response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("项目分类统计.xls", "UTF-8")); @@ -239,4 +233,50 @@ public class ScreenProjectController { return new Result().ok(screenProjectService.selectCategoryProjectList(formDTO,tokenDto)); } + /** + * @Description 【项目分类】查询项目分类 + * @param formDTO + * @param tokenDto + * @author zxc + * @date 2021/11/4 3:38 下午 + */ + @PostMapping("selectcategoryprojectlist/export") + public void selectProjectCategoryExport(@RequestBody CategoryProjectListFormDTO formDTO,/*@LoginUser*/ TokenDto tokenDto, HttpServletResponse response) throws Exception { + tokenDto.setUserId("36bc0fb38565ecdebf8ab9b476b44548"); + tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); + formDTO.setIsPage(false); + formDTO.setStatus("all"); + formDTO.setCategoryCode("0102"); + ValidatorUtils.validateEntity(formDTO, ProjectCategoryFormDTO.CategoryProjectExportForm.class); + PageCategoryProjectListResultDTO data = screenProjectService.selectCategoryProjectList(formDTO,tokenDto); + String templatePath = "excel/project_temp.xlsx"; + + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); + Map mapData = new HashMap<>(); + mapData.put("list",data.getList()); + mapData.put("orgName",staffInfo.getAgencyName()); + mapData.put("exportDate",getExportDateStr(formDTO.getStartTime(),formDTO.getEndTime())); + mapData.put("categoryName", formDTO.getCategoryName()); + if (StringUtils.isNotBlank(formDTO.getParentCategoryName())){ + mapData.put("categoryName", formDTO.getParentCategoryName().concat(StrConstant.HYPHEN).concat(formDTO.getCategoryName())); + } + + Workbook workbook = ExcelExportUtil.exportExcel(new TemplateExportParams(templatePath), mapData); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode("项目统计.xls", "UTF-8")); + workbook.write(response.getOutputStream()); + } + + @NotNull + private String getExportDateStr(String startTime,String endTime) { + StringBuilder dateBuilder = new StringBuilder(); + if (StringUtils.isNotBlank(startTime)) { + dateBuilder.append(startTime).append(StrConstant.HYPHEN); + } + if (StringUtils.isNotBlank(endTime)) { + dateBuilder.append(endTime); + } + return dateBuilder.toString(); + } + } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/excel/project_category_temp.xlsx b/epmet-module/data-report/data-report-server/src/main/resources/excel/project_category_temp.xlsx index f12e92967d..6054a88289 100644 Binary files a/epmet-module/data-report/data-report-server/src/main/resources/excel/project_category_temp.xlsx and b/epmet-module/data-report/data-report-server/src/main/resources/excel/project_category_temp.xlsx differ diff --git a/epmet-module/data-report/data-report-server/src/main/resources/excel/project_temp.xlsx b/epmet-module/data-report/data-report-server/src/main/resources/excel/project_temp.xlsx new file mode 100644 index 0000000000..743bd60ecc Binary files /dev/null and b/epmet-module/data-report/data-report-server/src/main/resources/excel/project_temp.xlsx differ