From 8fcb8cf1cf3aec6d8ea4c5534a02bd569734cfa5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 8 Dec 2021 14:35:23 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=88=86=E6=9E=90=E3=80=91=E6=96=B9=E6=B3=95=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/CategoryProjectFormDTO.java | 40 +++++++++++++++ .../form/ProjectAnalysisFormDTO.java | 34 +++++++++++++ .../form/ProjectCategoryTotalFormDTO.java | 30 +++++++++++ .../govproject/form/ProjectTotalFormDTO.java | 2 +- .../result/CategoryProjectResultDTO.java | 51 +++++++++++++++++++ .../result/ProjectAnalysisResultDTO.java | 34 +++++++++++++ .../result/ProjectCategoryTotalResultDTO.java | 24 +++++++++ .../controller/GovProjectController.java | 34 +++++++++++-- .../service/govproject/GovProjectService.java | 22 ++++++-- .../impl/GovProjectServiceImpl.java | 31 +++++++++-- 10 files changed, 292 insertions(+), 10 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/CategoryProjectFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectAnalysisFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectCategoryTotalFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectAnalysisResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectCategoryTotalResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/CategoryProjectFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/CategoryProjectFormDTO.java new file mode 100644 index 0000000000..726d01dbce --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/CategoryProjectFormDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dataaggre.dto.govproject.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 赋能平台【项目分类分析】-接口入参 + * @Auth sun + */ +@NoArgsConstructor +@Data +public class CategoryProjectFormDTO implements Serializable { + private static final long serialVersionUID = -8515172319313536407L; + //组织Id + @NotBlank(message = "组织ID不能为空", groups = {Category.class}) + private String agencyId; + //日期yyyymmdd + @NotBlank(message = "组织ID不能为空", groups = {Category.class}) + private String dateId; + //一级分类Id + @NotBlank(message = "分类Id不能为空", groups = {Category.class}) + private String categoryId; + //页码 + @Min(1) + private Integer pageNo = 1; + //每页多少条 + private Integer pageSize = 20; + //是否分页(是:true 否:false) + private Boolean isPage = true; + + public interface Category extends CustomerClientShowGroup { + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectAnalysisFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectAnalysisFormDTO.java new file mode 100644 index 0000000000..9689899cc4 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectAnalysisFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dataaggre.dto.govproject.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 赋能平台【项目分类分析】-接口入参 + * @Auth sun + */ +@NoArgsConstructor +@Data +public class ProjectAnalysisFormDTO implements Serializable { + private static final long serialVersionUID = -8515172319313536407L; + //日期yyyymmdd + @NotBlank(message = "日维度ID不能为空", groups = {Analysis.class}) + private String dateId; + //小程序话题或事件发起人Id + @NotBlank(message = "话题或事件发起人Id不能为空", groups = {Analysis.class}) + private String userId; + //一级分类Id集合 + @NotNull(message = "分类Id集合不能为空", groups = {Analysis.class}) + private List categoryIdList; + + public interface Analysis extends CustomerClientShowGroup { + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectCategoryTotalFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectCategoryTotalFormDTO.java new file mode 100644 index 0000000000..eddd513d1c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectCategoryTotalFormDTO.java @@ -0,0 +1,30 @@ +package com.epmet.dataaggre.dto.govproject.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 赋能平台【项目分类分析】-接口入参 + * @Auth sun + */ +@NoArgsConstructor +@Data +public class ProjectCategoryTotalFormDTO implements Serializable { + private static final long serialVersionUID = -8515172319313536407L; + //组织Id + @NotBlank(message = "组织ID不能为空", groups = {Project.class}) + private String agencyId; + //日期yyyymmdd + @NotBlank(message = "日维度ID不能为空", groups = {Project.class}) + private String dateId; + + public interface Project extends CustomerClientShowGroup { + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java index b277be17c9..22c0e731b6 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/form/ProjectTotalFormDTO.java @@ -19,7 +19,7 @@ public class ProjectTotalFormDTO implements Serializable { @NotBlank(message = "组织ID不能为空", groups = {Total.class, Monthincr.class, Statuslist.class}) private String agencyId; //日期yyyymmdd - @NotBlank(message = "组织ID不能为空", groups = {Total.class, Monthincr.class, Statuslist.class}) + @NotBlank(message = "日维度ID不能为空", groups = {Total.class, Monthincr.class, Statuslist.class}) private String dateId; //状态:待处理 pending,结案closed @NotBlank(message = "项目状态不能为空", groups = {Statuslist.class}) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java new file mode 100644 index 0000000000..6f24967aba --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/CategoryProjectResultDTO.java @@ -0,0 +1,51 @@ +package com.epmet.dataaggre.dto.govproject.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 赋能平台【项目处理分析】分类下项目列表-接口返参 + * @Auth sun + */ +@Data +public class CategoryProjectResultDTO implements Serializable { + private static final long serialVersionUID = 6188316867855643263L; + + //总条数 + private Integer total = 0; + + private List list; + + @Data + public static class Project { + //项目所属组织Id + private String agencyId; + //项目Id + private String projectId; + //项目编码[目前没这个功能 默认为空] + private String projectCode = ""; + //一级分类Id集合 + private List categoryIds; + //一级分类名称集合 + private List categoryNames; + //来源:议题issue 项目立项:agency 事件:resi_event【控制电机查看时里边三个按钮的显示】 + private String origin; + //网格Id[立项项目此值为空] + private String gridId; + //网格名[立项项目此值为空] + private String gridName; + //状态:待处理 pending,已结案closed + private String status; + //标题 + private String title; + //转项目时间 + private String time; + //当前人员是否处理:未处理unhandled,已处理handle + private String isHandle; + //小程序居民端话题或事件创建人【立项项目此值为空】 + private String userId; + } + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectAnalysisResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectAnalysisResultDTO.java new file mode 100644 index 0000000000..62a949a3d2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectAnalysisResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dataaggre.dto.govproject.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 赋能平台【项目处理分析】研判分析-接口返参 + * @Auth sun + */ +@Data +public class ProjectAnalysisResultDTO implements Serializable { + private static final long serialVersionUID = 6188316867855643263L; + + //组织Id + private String agencyId; + //日期yyyymmdd + private String dateId; + //项目总数 + private Integer projectTotal = 0; + //较昨日数 + private Integer dateIncr = 0; + //较上月数 + private Integer monthIncr = 0; + //未结案项目数 + private Integer pendingTotal = 0; + //为结案项目占比 xx% + private String pendingRatio = "0%"; + //已结案项目数 + private Integer closedTotal = 0; + //已结案项目占比 + private String closedRatio = "0%"; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectCategoryTotalResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectCategoryTotalResultDTO.java new file mode 100644 index 0000000000..1d95b68175 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectCategoryTotalResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dataaggre.dto.govproject.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 赋能平台【项目分类分析】各分类项目数图表-接口返参 + * @Auth sun + */ +@Data +public class ProjectCategoryTotalResultDTO implements Serializable { + private static final long serialVersionUID = 6188316867855643263L; + + //组织Id + private String agencyId; + //一级分类Id + private String categoryId; + //一级分类名称 + private String categoryName; + //分类下项目总数 + private Integer total = 0; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java index 1d448806b4..396f14543d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovProjectController.java @@ -6,9 +6,7 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; +import com.epmet.dataaggre.dto.govproject.form.*; import com.epmet.dataaggre.dto.govproject.result.*; import com.epmet.dataaggre.service.govproject.GovProjectService; import org.springframework.beans.factory.annotation.Autowired; @@ -88,4 +86,34 @@ public class GovProjectController { return new Result>().ok(govProjectService.projectStatusList(formDTO)); } + /** + * @Description 赋能平台【项目分类分析】各分类项目数图表 + * @author sun + */ + @PostMapping("projectcategorylist") + public Result projectCategoryList(@RequestBody ProjectCategoryTotalFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ProjectCategoryTotalFormDTO.Project.class); + return new Result().ok(govProjectService.projectCategoryList(formDTO)); + } + + /** + * @Description 赋能平台【项目处理分析】分类下项目列表 + * @author sun + */ + @PostMapping("categoryprojectlist") + public Result categoryProjectList(@RequestBody CategoryProjectFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, CategoryProjectFormDTO.Category.class); + return new Result().ok(govProjectService.categoryProjectList(formDTO)); + } + + /** + * @Description 赋能平台【项目处理分析】研判分析 + * @author sun + */ + @PostMapping("projectanalysis") + public Result projectAnalysis(@RequestBody ProjectAnalysisFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ProjectAnalysisFormDTO.Analysis.class); + return new Result().ok(govProjectService.projectAnalysis(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index 0265b0312f..035e9d5400 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -2,9 +2,7 @@ package com.epmet.dataaggre.service.govproject; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; -import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; +import com.epmet.dataaggre.dto.govproject.form.*; import com.epmet.dataaggre.dto.govproject.result.*; import java.util.LinkedList; @@ -69,4 +67,22 @@ public interface GovProjectService { * @author sun */ List projectStatusList(ProjectTotalFormDTO formDTO); + + /** + * @Description 赋能平台【项目分类分析】各分类项目数图表 + * @author sun + */ + ProjectCategoryTotalResultDTO projectCategoryList(ProjectCategoryTotalFormDTO formDTO); + + /** + * @Description 赋能平台【项目处理分析】分类下项目列表 + * @author sun + */ + CategoryProjectResultDTO categoryProjectList(CategoryProjectFormDTO formDTO); + + /** + * @Description 赋能平台【项目处理分析】研判分析 + * @author sun + */ + ProjectAnalysisResultDTO projectAnalysis(ProjectAnalysisFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 058b0cce9a..9f594e6b70 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -15,9 +15,7 @@ import com.epmet.dataaggre.dto.datastats.result.FactAgencyProjectResultDTO; import com.epmet.dataaggre.dto.govissue.result.IssueInfoDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.dto.govproject.ProjectDTO; -import com.epmet.dataaggre.dto.govproject.form.AllProjectFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectDistributionFormDTO; -import com.epmet.dataaggre.dto.govproject.form.ProjectTotalFormDTO; +import com.epmet.dataaggre.dto.govproject.form.*; import com.epmet.dataaggre.dto.govproject.result.*; import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO; import com.epmet.dataaggre.service.datastats.DataStatsService; @@ -334,4 +332,31 @@ public class GovProjectServiceImpl implements GovProjectService { return resultList; } + /** + * @Description 赋能平台【项目分类分析】各分类项目数图表 + * @author sun + */ + @Override + public ProjectCategoryTotalResultDTO projectCategoryList(ProjectCategoryTotalFormDTO formDTO) { + return null; + } + + /** + * @Description 赋能平台【项目处理分析】分类下项目列表 + * @author sun + */ + @Override + public CategoryProjectResultDTO categoryProjectList(CategoryProjectFormDTO formDTO) { + return null; + } + + /** + * @Description 赋能平台【项目处理分析】研判分析 + * @author sun + */ + @Override + public ProjectAnalysisResultDTO projectAnalysis(ProjectAnalysisFormDTO formDTO) { + return null; + } + }