From 112c6efef4d58786890dc37d87322aa5ad9e6190 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 19 May 2021 09:49:17 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=84=E4=BB=B7bug?= =?UTF-8?q?=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resigroup/form/GroupActRankFormDTO.java | 45 +++++++++++++++++++ .../result/GroupActRankDetailDTO.java | 13 ++++++ .../result/GroupActRankResultDTO.java | 22 +++++++++ .../controller/GroupActController.java | 15 +++++++ .../govorg/impl/GovOrgServiceImpl.java | 9 ---- .../service/resigroup/ResiGroupService.java | 18 ++++---- .../resigroup/impl/ResiGroupServiceImpl.java | 21 +++++++-- 7 files changed, 122 insertions(+), 21 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java new file mode 100644 index 0000000000..e9a920f869 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java @@ -0,0 +1,45 @@ +package com.epmet.dataaggre.dto.resigroup.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 005、【支建+联建】下级组织排行列表 + * + * @author yinzuomei@elink-cn.com + * @date 2021/5/18 17:30 + */ +@Data +public class GroupActRankFormDTO implements Serializable { + private static final long serialVersionUID = 2293552582281839132L; + public interface AddUserInternalGroup { + } + + /** + * 支部建设:100;联建共建:101 + */ + @NotBlank(message = "firstCategoryCode必传,支部建设:100;联建共建:101", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) + private String firstCategoryCode; + + /** + * 当前客户id + */ + @NotBlank(message = "客户id不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) + private String customerId; + + /** + * 当前组织或者网格id + */ + @NotBlank(message = "orgId不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) + private String orgId; + + /** + * 默认传组织:agency; 网格:grid + */ + @NotBlank(message = "orgType不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) + private String orgType; + + private String rankCode; +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java new file mode 100644 index 0000000000..21e3dc29fd --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java @@ -0,0 +1,13 @@ +package com.epmet.dataaggre.dto.resigroup.result; + +import lombok.Data; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/5/19 9:31 + */ +@Data +public class GroupActRankDetailDTO { +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java new file mode 100644 index 0000000000..45efaa413b --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dataaggre.dto.resigroup.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 005、【支建+联建】下级组织排行列表 + * + * @author yinzuomei@elink-cn.com + * @date 2021/5/18 17:33 + */ +@Data +public class GroupActRankResultDTO implements Serializable { + private String orgId; + private String orgType; + private String orgName; + private Integer organizeTotal; + private String organizeName = "组织总次数"; + private Integer participateUserTotal; + private String participateUserName = "参加总人数"; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java index a88f86456e..b79cb0b7f7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.form.BranchConAnalysisFormDTO; import com.epmet.dataaggre.dto.resigroup.form.GroupActCategoryQueryFormDTO; +import com.epmet.dataaggre.dto.resigroup.form.GroupActRankFormDTO; import com.epmet.dataaggre.dto.resigroup.form.SubAnalysisByCodeFormDTO; import com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO; +import com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO; import com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO; import com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO; import com.epmet.dataaggre.service.resigroup.ResiGroupService; @@ -86,4 +88,17 @@ public class GroupActController { } + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @author yinzuomei + * @description 005、【支建+联建】下级组织排行列表 + * @Date 2021/5/18 17:46 + **/ + @PostMapping("subranklist") + public Result> querySubRankList(@RequestBody GroupActRankFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.class); + return new Result>().ok(resiGroupService.querySubRankList(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 18ad900fc6..100978e144 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -175,15 +175,6 @@ public class GovOrgServiceImpl implements GovOrgService { agecnyInfo.setOrgType("agency"); result.add(agecnyInfo); }); - }else if("grid".equals(orgType)){ - List list= customerGridDao.selectGridListByAgencyId(orgId); - list.forEach(grid->{ - OrgInfoCommonDTO gridInfo=new OrgInfoCommonDTO(); - gridInfo.setOrgId(grid.getGridId()); - gridInfo.setOrgName(grid.getGridName()); - gridInfo.setOrgType("grid"); - result.add(gridInfo); - }); } return result; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java index d0cb64fade..68f4afb4ee 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/ResiGroupService.java @@ -2,14 +2,8 @@ package com.epmet.dataaggre.service.resigroup; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO; -import com.epmet.dataaggre.dto.resigroup.form.BranchConAnalysisFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.CandidateListFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.GroupActCategoryQueryFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.SubAnalysisByCodeFormDTO; -import com.epmet.dataaggre.dto.resigroup.result.BranchConAnalysisResultDTO; -import com.epmet.dataaggre.dto.resigroup.result.CandidateListResultDTO; -import com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO; -import com.epmet.dataaggre.dto.resigroup.result.SubAnalysisByCodeResultDTO; +import com.epmet.dataaggre.dto.resigroup.form.*; +import com.epmet.dataaggre.dto.resigroup.result.*; import java.util.List; @@ -59,4 +53,12 @@ public interface ResiGroupService { * @return com.epmet.dataaggre.dto.resigroup.result.RankCodeResultDTO */ List queryRankCodeList(GroupActCategoryQueryFormDTO formDTO); + + /** + * 005、【支建+联建】下级组织排行列表 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO + */ + List querySubRankList(GroupActRankFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java index 6d726bba69..030adf6b6a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java @@ -11,10 +11,7 @@ import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; import com.epmet.dataaggre.dto.epmetuser.result.UserInfosResultDTO; import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; import com.epmet.dataaggre.dto.resigroup.ResiTopicDTO; -import com.epmet.dataaggre.dto.resigroup.form.BranchConAnalysisFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.CandidateListFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.GroupActCategoryQueryFormDTO; -import com.epmet.dataaggre.dto.resigroup.form.SubAnalysisByCodeFormDTO; +import com.epmet.dataaggre.dto.resigroup.form.*; import com.epmet.dataaggre.dto.resigroup.result.*; import com.epmet.dataaggre.entity.resigroup.ResiGroupEntity; import com.epmet.dataaggre.redis.ResiGroupRedis; @@ -271,4 +268,20 @@ public class ResiGroupServiceImpl implements ResiGroupService { }); return resultList; } + + /** + * 005、【支建+联建】下级组织排行列表 + * + * @param formDTO + * @return com.epmet.dataaggre.dto.resigroup.result.GroupActRankResultDTO + */ + @Override + public List querySubRankList(GroupActRankFormDTO formDTO) { + List orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType()); + if (CollectionUtils.isEmpty(orgInfoDTOList)) { + return new ArrayList<>(); + } + // todo + return null; + } } From 535837686c082900d08863c886c18c217c028337 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 19 May 2021 12:28:14 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=94=AF=E9=83=A8=E5=BB=BA=E8=AE=BE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resigroup/form/GroupActRankFormDTO.java | 3 ++ .../result/GroupActRankDetailDTO.java | 14 +++++- .../result/GroupActRankResultDTO.java | 21 +++++++++ .../controller/GroupActController.java | 2 +- .../dataaggre/dao/datastats/DataStatsDao.java | 7 +++ .../service/datastats/DataStatsService.java | 4 ++ .../datastats/impl/DataStatsServiceImpl.java | 10 ++++ .../service/govorg/GovOrgService.java | 2 +- .../govorg/impl/GovOrgServiceImpl.java | 17 +++++-- .../resigroup/impl/ResiGroupServiceImpl.java | 47 +++++++++++++++++-- .../mapper/datastats/DatsStatsDao.xml | 20 ++++++++ 11 files changed, 136 insertions(+), 11 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java index e9a920f869..58a029661b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/form/GroupActRankFormDTO.java @@ -41,5 +41,8 @@ public class GroupActRankFormDTO implements Serializable { @NotBlank(message = "orgType不能为空", groups = BranchConAnalysisFormDTO.AddUserInternalGroup.class) private String orgType; + /** + * 排序编码;可以不传,前端自己处理。 + */ private String rankCode; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java index 21e3dc29fd..575b9bd803 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java @@ -2,12 +2,22 @@ package com.epmet.dataaggre.dto.resigroup.result; import lombok.Data; +import java.io.Serializable; + /** - * 描述一下 + * 005、【支建+联建】下级组织排行列表 * * @author yinzuomei@elink-cn.com * @date 2021/5/19 9:31 */ @Data -public class GroupActRankDetailDTO { +public class GroupActRankDetailDTO implements Serializable { + private static final long serialVersionUID = 7738751412518098478L; + + private String categoryCode; + private String categoryName; + private Integer organizeTotal; + private Integer participateUserTotal; + private String organizeName="组织总次数"; + private String participateUserName="参加总人数"; } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java index 45efaa413b..56822631f2 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java @@ -1,8 +1,12 @@ package com.epmet.dataaggre.dto.resigroup.result; +import com.epmet.commons.tools.constant.NumConstant; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; /** * 005、【支建+联建】下级组织排行列表 @@ -19,4 +23,21 @@ public class GroupActRankResultDTO implements Serializable { private String organizeName = "组织总次数"; private Integer participateUserTotal; private String participateUserName = "参加总人数"; + private List categoryList; + + @JsonIgnore + private Integer sortValue; + + public GroupActRankResultDTO() { + this.orgId = ""; + this.orgType = ""; + this.orgName = ""; + this.organizeTotal = NumConstant.ZERO; + this.organizeName = "组织总次数"; + this.participateUserTotal = NumConstant.ZERO; + this.participateUserName = "参加总人数"; + this.categoryList = new ArrayList<>(); + } + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java index b79cb0b7f7..ee86d8c1d1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GroupActController.java @@ -97,7 +97,7 @@ public class GroupActController { **/ @PostMapping("subranklist") public Result> querySubRankList(@RequestBody GroupActRankFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.class); + ValidatorUtils.validateEntity(formDTO,GroupActRankFormDTO.AddUserInternalGroup.class); return new Result>().ok(resiGroupService.querySubRankList(formDTO)); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java index 2a7aae6f5e..61632b35bd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java @@ -21,6 +21,8 @@ import com.epmet.dataaggre.dto.datastats.FactGroupActDailyDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.result.*; +import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; +import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; import com.epmet.dataaggre.entity.datastats.DimGridEntity; import org.apache.ibatis.annotations.Mapper; @@ -219,4 +221,9 @@ public interface DataStatsDao { @Param("pid")String pid, @Param("dateId")String dateId, @Param("categoryCode")String categoryCode); + + List selectGroupActRankDetail(@Param("customerId") String customerId, + @Param("dateId") String dateId, + @Param("orgId") String orgId, + @Param("actCategoryDictDTOList") List actCategoryDictDTOList); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java index 0fe6517106..1e99251989 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java @@ -7,6 +7,8 @@ import com.epmet.dataaggre.dto.datastats.form.GridBasicDataFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.result.*; +import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; +import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; import java.util.List; @@ -124,4 +126,6 @@ public interface DataStatsService { List branchConAnalysis(String customerId, String orgId, String orgType, String dateId, String parentCode); List querySubAnalysisByCode(String customerId, String pid, String dateId, String categoryCode); + + List selectGroupActRankDetail(String customerId, String dateId, String orgId, List actCategoryDictDTOList); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index acb2cc22a0..415b1e969b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -13,6 +13,8 @@ import com.epmet.dataaggre.dto.datastats.form.GridBasicDataFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubAgencyFormDTO; import com.epmet.dataaggre.dto.datastats.form.SubGridFormDTO; import com.epmet.dataaggre.dto.datastats.result.*; +import com.epmet.dataaggre.dto.resigroup.ActCategoryDictDTO; +import com.epmet.dataaggre.dto.resigroup.result.GroupActRankDetailDTO; import com.epmet.dataaggre.entity.datastats.DimAgencyEntity; import com.epmet.dataaggre.entity.datastats.DimGridEntity; import com.epmet.dataaggre.service.datastats.DataStatsService; @@ -999,4 +1001,12 @@ public class DataStatsServiceImpl implements DataStatsService { return dataStatsDao.querySubAnalysisByCode(customerId,pid,dateId,categoryCode); } + @Override + public List selectGroupActRankDetail(String customerId, String dateId, String orgId, List actCategoryDictDTOList) { + if(CollectionUtils.isNotEmpty(actCategoryDictDTOList)){ + return dataStatsDao.selectGroupActRankDetail(customerId,dateId,orgId,actCategoryDictDTOList); + } + return new ArrayList<>(); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index d0780b046d..916044b1f3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -47,5 +47,5 @@ public interface GovOrgService { List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO); - List queryNextOrgInfoDTO(String customerId, String orgId, String orgType); + List queryNextOrgInfoDTO(String customerId, String orgId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 100978e144..ec45f0419f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -164,10 +164,10 @@ public class GovOrgServiceImpl implements GovOrgService { } @Override - public List queryNextOrgInfoDTO(String customerId, String orgId, String orgType) { + public List queryNextOrgInfoDTO(String customerId, String orgId) { List result=new ArrayList<>(); - if("agency".equals(orgType)){ - List customerAgencyEntityList = customerAgencyDao.selectNextAgency(customerId, orgId); + List customerAgencyEntityList = customerAgencyDao.selectNextAgency(customerId, orgId); + if(CollectionUtils.isNotEmpty(customerAgencyEntityList)){ customerAgencyEntityList.forEach(agencyEntity->{ OrgInfoCommonDTO agecnyInfo=new OrgInfoCommonDTO(); agecnyInfo.setOrgId(agencyEntity.getId()); @@ -175,6 +175,17 @@ public class GovOrgServiceImpl implements GovOrgService { agecnyInfo.setOrgType("agency"); result.add(agecnyInfo); }); + return result; + } + List gridInfoResultDTOList=customerGridDao.selectGridListByAgencyId(orgId); + if(CollectionUtils.isNotEmpty(gridInfoResultDTOList)){ + gridInfoResultDTOList.forEach(grid->{ + OrgInfoCommonDTO gridInfo=new OrgInfoCommonDTO(); + gridInfo.setOrgId(grid.getGridId()); + gridInfo.setOrgName(grid.getGridName()); + gridInfo.setOrgType("grid"); + result.add(gridInfo); + }); } return result; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java index 030adf6b6a..a56c37e37f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java @@ -25,8 +25,10 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -198,7 +200,7 @@ public class ResiGroupServiceImpl implements ResiGroupService { */ @Override public List querySubAnalysisByCode(SubAnalysisByCodeFormDTO formDTO) { - List orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType()); + List orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId()); if (CollectionUtils.isEmpty(orgInfoDTOList)) { return new ArrayList<>(); } @@ -277,11 +279,48 @@ public class ResiGroupServiceImpl implements ResiGroupService { */ @Override public List querySubRankList(GroupActRankFormDTO formDTO) { - List orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getOrgType()); + List orgInfoDTOList = govOrgService.queryNextOrgInfoDTO(formDTO.getCustomerId(), formDTO.getOrgId()); if (CollectionUtils.isEmpty(orgInfoDTOList)) { return new ArrayList<>(); } - // todo - return null; + List resultDTOList=new ArrayList<>(); + String dateId = DateUtils.getBeforeNDay(NumConstant.ONE); + // 1、根据以及编码查询出二级编码列表 + List actCategoryDictDTOList=queryActCategoryDictList(formDTO.getCustomerId(),formDTO.getFirstCategoryCode()); + for(OrgInfoCommonDTO orgInfo:orgInfoDTOList){ + GroupActRankResultDTO resultDTO=new GroupActRankResultDTO(); + resultDTO.setOrgId(orgInfo.getOrgId()); + resultDTO.setOrgName(orgInfo.getOrgName()); + resultDTO.setOrgType(orgInfo.getOrgType()); + if(!CollectionUtils.isEmpty(actCategoryDictDTOList)){ + int organizeTotal = NumConstant.ZERO; + int participateUserTotal = NumConstant.ZERO; + List detailList=dataStatsService.selectGroupActRankDetail(formDTO.getCustomerId(),dateId,orgInfo.getOrgId(),actCategoryDictDTOList); + for(GroupActRankDetailDTO deatil:detailList){ + organizeTotal+=deatil.getOrganizeTotal(); + participateUserTotal+=deatil.getParticipateUserTotal(); + } + resultDTO.setOrganizeTotal(organizeTotal); + resultDTO.setParticipateUserTotal(participateUserTotal); + resultDTO.setCategoryList(detailList); + } + resultDTOList.add(resultDTO); + } + + if(StringUtils.isEmpty(formDTO.getRankCode())||"orgtotal".equals(formDTO.getRankCode())){ + //按照 组织总次数降序排列 + resultDTOList.sort(Comparator.comparing(GroupActRankResultDTO::getOrganizeTotal).reversed()); + }else{ + resultDTOList.forEach(m->{ + for(GroupActRankDetailDTO categoryDto:m.getCategoryList()){ + if(formDTO.getRankCode().equals(categoryDto.getCategoryCode())){ + m.setSortValue(categoryDto.getOrganizeTotal()); + break; + } + } + }); + resultDTOList.sort(Comparator.comparing(GroupActRankResultDTO::getSortValue).reversed()); + } + return resultDTOList; } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index d918e91a3f..0b41cf0b15 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -578,4 +578,24 @@ AND m.DATE_ID = #{dateId} AND m.PID = #{pid} + + \ No newline at end of file From dc7c29270d572a2821391f7eace5fe6f50ab97eb Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 19 May 2021 12:50:09 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=94=AF=E9=83=A8=E5=BB=BA=E8=AE=BE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/GroupActRankDetailDTO.java | 4 +-- .../resigroup/impl/ResiGroupServiceImpl.java | 25 +++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java index 575b9bd803..60be83657e 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankDetailDTO.java @@ -18,6 +18,6 @@ public class GroupActRankDetailDTO implements Serializable { private String categoryName; private Integer organizeTotal; private Integer participateUserTotal; - private String organizeName="组织总次数"; - private String participateUserName="参加总人数"; + private String organizeName; + private String participateUserName; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java index a56c37e37f..a2f853dd2f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/resigroup/impl/ResiGroupServiceImpl.java @@ -293,16 +293,37 @@ public class ResiGroupServiceImpl implements ResiGroupService { resultDTO.setOrgName(orgInfo.getOrgName()); resultDTO.setOrgType(orgInfo.getOrgType()); if(!CollectionUtils.isEmpty(actCategoryDictDTOList)){ + + List detailList=new ArrayList<>(); + List detailRecords=dataStatsService.selectGroupActRankDetail(formDTO.getCustomerId(),dateId,orgInfo.getOrgId(),actCategoryDictDTOList); + Map map = detailRecords.stream().collect(Collectors.toMap(GroupActRankDetailDTO::getCategoryCode, a -> a, (k1, k2) -> k1)); + + for(ActCategoryDictDTO actCategoryDictDTO:actCategoryDictDTOList){ + GroupActRankDetailDTO temp=new GroupActRankDetailDTO(); + temp.setCategoryCode(actCategoryDictDTO.getCategoryCode()); + temp.setCategoryName(actCategoryDictDTO.getCategoryName()); + temp.setOrganizeName("组织总次数"); + temp.setParticipateUserName("参加总人数"); + if(map.containsKey(actCategoryDictDTO.getCategoryCode())){ + temp.setOrganizeTotal(map.get(actCategoryDictDTO.getCategoryCode()).getOrganizeTotal()); + temp.setParticipateUserTotal(map.get(actCategoryDictDTO.getCategoryCode()).getParticipateUserTotal()); + }else{ + temp.setOrganizeTotal(NumConstant.ZERO); + temp.setParticipateUserTotal(NumConstant.ZERO); + } + detailList.add(temp); + } + resultDTO.setCategoryList(detailList); + int organizeTotal = NumConstant.ZERO; int participateUserTotal = NumConstant.ZERO; - List detailList=dataStatsService.selectGroupActRankDetail(formDTO.getCustomerId(),dateId,orgInfo.getOrgId(),actCategoryDictDTOList); for(GroupActRankDetailDTO deatil:detailList){ organizeTotal+=deatil.getOrganizeTotal(); participateUserTotal+=deatil.getParticipateUserTotal(); } resultDTO.setOrganizeTotal(organizeTotal); resultDTO.setParticipateUserTotal(participateUserTotal); - resultDTO.setCategoryList(detailList); + } resultDTOList.add(resultDTO); } From 3dba5488f9e061c3350a02637a4c99d55e07e72b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 19 May 2021 12:50:39 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=94=AF=E9=83=A8=E5=BB=BA=E8=AE=BE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dto/resigroup/result/GroupActRankResultDTO.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java index 56822631f2..8bb3ed181f 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/resigroup/result/GroupActRankResultDTO.java @@ -20,9 +20,9 @@ public class GroupActRankResultDTO implements Serializable { private String orgType; private String orgName; private Integer organizeTotal; - private String organizeName = "组织总次数"; + private String organizeName; private Integer participateUserTotal; - private String participateUserName = "参加总人数"; + private String participateUserName; private List categoryList; @JsonIgnore