From 5ebbd35276a129c2913a8320274966171aeb0ed7 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 16 Dec 2021 16:59:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B2=BB=E7=90=86=E6=8C=87=E6=95=B0?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactAgencyGovernDailyEntity.java | 10 +++ .../datastats/impl/DataStatsServiceImpl.java | 17 ++-- .../mapper/datastats/DatsStatsDao.xml | 8 +- .../dto/extract/FactAgencyGovernDailyDTO.java | 9 +++ .../dto/extract/FactGridGovernDailyDTO.java | 9 +++ .../constant/DimObjectActionConstant.java | 2 + .../extract/FactAgencyGovernDailyEntity.java | 9 ++- .../extract/FactGridGovernDailyEntity.java | 11 +++ .../GovernGridClosedTotalCommonDTO.java | 3 + .../FactAgencyGovernDailyServiceImpl.java | 81 ++++++++++--------- .../impl/FactGridGovernDailyServiceImpl.java | 66 ++++++++++----- .../extract/FactOriginProjectLogDailyDao.xml | 69 ++++++---------- .../extract/FactOriginProjectMainDailyDao.xml | 22 +++-- 13 files changed, 200 insertions(+), 116 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java index d709731f77..77bcd7cc34 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java @@ -151,6 +151,15 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { */ private Integer inGroupTopicUnResolvedCount; + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ @@ -171,4 +180,5 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { */ private Integer districtDeptClosedCount; + } 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 e2156dbadb..1d1fac390d 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 @@ -1186,13 +1186,20 @@ public class DataStatsServiceImpl implements DataStatsService { Integer streetClosedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getStreetClosedCount).sum(); //由区直部门结案的项目总数 Integer districtDeptClosedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getDistrictDeptClosedCount).sum(); - + Integer issueResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIssueProjectResolvedCount).sum(); + Integer issueUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getIssueProjectUnResolvedCount).sum(); + Integer projectResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getApprovalProjectResolvedCount).sum(); + Integer projectUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getApprovalProjectUnResolvedCount).sum(); + Integer eventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventResolvedCount).sum(); + Integer eventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventUnResolvedCount).sum(); + Integer closedProjectTotal = issueResolvedCount + issueUnResolvedCount+projectResolvedCount + + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount; resultDTO.setProblemResolvedCount(problemResolvedCount); resultDTO.setGroupSelfGovernRatio(getPercentage(inGroupTopicResolvedCount + inGroupTopicUnResolvedCount, problemResolvedCount)); - resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, problemResolvedCount)); - resultDTO.setCommunityResolvedRatio(getPercentage(communityClosedCount, problemResolvedCount)); - resultDTO.setStreetResolvedRatio(getPercentage(streetClosedCount, problemResolvedCount)); - resultDTO.setDistrictDeptResolvedRatio(getPercentage(districtDeptClosedCount, problemResolvedCount)); + resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, closedProjectTotal)); + resultDTO.setCommunityResolvedRatio(getPercentage(communityClosedCount, closedProjectTotal)); + resultDTO.setStreetResolvedRatio(getPercentage(streetClosedCount, closedProjectTotal)); + resultDTO.setDistrictDeptResolvedRatio(getPercentage(districtDeptClosedCount, closedProjectTotal)); return resultDTO; } 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 c625e19c9b..6b60501d4e 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 @@ -675,7 +675,13 @@ GRID_SELF_GOVERN_PROJECT_TOTAL, COMMUNITY_CLOSED_COUNT, STREET_CLOSED_COUNT, - DISTRICT_DEPT_CLOSED_COUNT + DISTRICT_DEPT_CLOSED_COUNT, + ISSUE_PROJECT_RESOLVED_COUNT, + ISSUE_PROJECT_UN_RESOLVED_COUNT, + APPROVAL_PROJECT_RESOLVED_COUNT, + APPROVAL_PROJECT_UN_RESOLVED_COUNT, + EVENT_RESOLVED_COUNT, + EVENT_UN_RESOLVED_COUNT FROM fact_agency_govern_daily WHERE diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java index 3f9c614f8a..a550775779 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java @@ -129,6 +129,15 @@ public class FactAgencyGovernDailyDTO implements Serializable { */ private Integer inGroupTopicUnResolvedCount; + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java index 778ffcb9a4..b8d585f00f 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java @@ -140,6 +140,15 @@ public class FactGridGovernDailyDTO implements Serializable { */ private Integer fromAgencyUnResolvedInGridCount; + /** + * 15、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 16、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 15、未出当前网格的,结案项目数=11+12+13+14 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java index 1b6697f1ec..6e8c7b153e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/DimObjectActionConstant.java @@ -24,4 +24,6 @@ public interface DimObjectActionConstant { // perfect 非常满意 // created 立项 String PROJECT_RETURN="return"; + + String PROJECT_CLOSE="close"; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java index 2f37f9a113..95f48fdeee 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java @@ -150,7 +150,14 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 10、当前组织内,未出小组即未转议题的:话题关闭无需解决数 */ private Integer inGroupTopicUnResolvedCount; - + /** + * 11、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 12、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java index 22fa2b2b67..827a6fdf75 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java @@ -169,6 +169,15 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { */ private Integer gridSelfGovernProjectTotal; + /** + * 15、当前组织内:来源于事件的项目:结案已解决数 + */ + private Integer eventResolvedCount; + /** + * 16、当前组织内:来源于事件的项目:结案无需解决数 + */ + private Integer eventUnResolvedCount; + /** * 当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数 @@ -208,6 +217,8 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { this.issueProjectUnResolvedCount=NumConstant.ZERO; this.approvalProjectResolvedCount=NumConstant.ZERO; this.approvalProjectUnResolvedCount=NumConstant.ZERO; + this.eventResolvedCount=NumConstant.ZERO; + this.eventUnResolvedCount=NumConstant.ZERO; this.inGroupTopicResolvedCount=NumConstant.ZERO; this.inGroupTopicUnResolvedCount=NumConstant.ZERO; this.fromIssueResolvedInGridCount=NumConstant.ZERO; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java index fcc4193885..d38e74cabb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/GovernGridClosedTotalCommonDTO.java @@ -51,6 +51,8 @@ public class GovernGridClosedTotalCommonDTO implements Serializable { */ private Integer districtDeptClosedCount; + private Integer gridSelfGovernProjectTotal; + public GovernGridClosedTotalCommonDTO(){ this.gridId = StrConstant.EPMETY_STR; this.fromIssueResolvedInGridCount=NumConstant.ZERO; @@ -60,5 +62,6 @@ public class GovernGridClosedTotalCommonDTO implements Serializable { this.communityClosedCount=NumConstant.ZERO; this.streetClosedCount=NumConstant.ZERO; this.districtDeptClosedCount=NumConstant.ZERO; + this.gridSelfGovernProjectTotal=NumConstant.ZERO; } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java index f766873cea..52b6310caf 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java @@ -29,7 +29,6 @@ import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.entity.evaluationindex.extract.FactAgencyGovernDailyEntity; import com.epmet.service.evaluationindex.extract.todata.*; import com.epmet.service.stats.DimAgencyService; -import com.epmet.util.DimIdGenerator; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -202,13 +201,11 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl projectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, dateId, ProjectConstant.RESOLVED, OrgTypeConstant.AGENCY); - Map eventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, - dateId, ProjectConstant.RESOLVED, - ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!projectResolvedTotal.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = projectResolvedTotal.get(item.getAgencyId()); @@ -219,23 +216,12 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl { - OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); - int sum = item.getApprovalProjectResolvedCount(); - if (null != dto) { - sum = sum + dto.getSum(); - } - item.setApprovalProjectResolvedCount(sum); - }); - } - // 当前组织内:来源于议题的项目:结案无需解决数 + + // 当前组织内:项目立项:结案无需解决数 Map projectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, dateId, ProjectConstant.UNRESOLVED, OrgTypeConstant.AGENCY); - Map eventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, - dateId, ProjectConstant.UNRESOLVED, - ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!projectUnResolvedTotal.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = projectUnResolvedTotal.get(item.getAgencyId()); @@ -246,17 +232,34 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl { - OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); - int sum = item.getApprovalProjectUnResolvedCount(); - if (null != dto) { - sum = sum + dto.getSum(); - } - item.setApprovalProjectUnResolvedCount(sum); - }); - } + + } + + //2021.12.15 当前组织内:来源于事件的项目:结案已解决数 + Map eventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.RESOLVED, + ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!eventProjectResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setEventResolvedCount(dto.getSum()); + } + }); } + //2021.12.15 当前组织内:来源于事件的项目:结案无需解决数 + Map eventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.UNRESOLVED, + ProjectConstant.PROJECT_ORIGIN_EVENT); + if (!eventProjectUnResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setEventUnResolvedCount(dto.getSum()); + } + }); + } + // 2.党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的) agencyGovernDailyList.forEach(item -> { int count = item.getInGroupTopicResolvedCount() + item.getInGroupTopicUnResolvedCount(); @@ -267,14 +270,16 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl gridSelfCount = factOriginProjectLogDailyService.getAgencyGridSelfDaily(customerId, dateId); if (!gridSelfCount.isEmpty()) { agencyGovernDailyList.forEach(item -> { OrgStatisticsResultDTO dto = gridSelfCount.get(item.getAgencyId()); if (null != dto) { int count = dto.getCount(); - int sum = item.getProblemResolvedCount(); + //已结案项目数 = 来源议题的项目结案已解决数+来源议题的项目结案无需解决数+项目立项结案已解决数+项目立项结案无需解决数+来源事件的项目结案已解决数+来源事件的项目结案已解决数 + int sum = item.getIssueProjectResolvedCount() + item.getIssueProjectUnResolvedCount() + item.getApprovalProjectResolvedCount() + + item.getApprovalProjectUnResolvedCount() + item.getEventResolvedCount() + item.getEventUnResolvedCount(); if (sum != NumConstant.ZERO) { BigDecimal resolveCount = new BigDecimal(sum); BigDecimal selfCount = new BigDecimal(count); @@ -284,9 +289,9 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl> projectCount = factOriginProjectMainDailyService.getAgencyClosedProjectStatic(customerId, dateId); if (!gridSelfCount.isEmpty()) { agencyGovernDailyList.forEach(item -> { @@ -294,7 +299,9 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl map = list.stream().collect(Collectors.toMap(OrgStatisticsResultDTO::getLevel, Function.identity())); - int sum = item.getProblemResolvedCount(); + //已结案项目数 = 来源议题的项目结案已解决数+来源议题的项目结案无需解决数+项目立项结案已解决数+项目立项结案无需解决数+来源事件的项目结案已解决数+来源事件的项目结案已解决数 + int sum = item.getIssueProjectResolvedCount() + item.getIssueProjectUnResolvedCount() + item.getApprovalProjectResolvedCount() + + item.getApprovalProjectUnResolvedCount() + item.getEventResolvedCount() + item.getEventUnResolvedCount(); BigDecimal resolveCount = new BigDecimal(sum); if (sum != NumConstant.ZERO) { // 社区解决占比 @@ -316,7 +323,7 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl currentGridClosedProjectList = factOriginProjectMainDailyService.getGridClosedProjectList(customerId, gridId, ProjectConstant.CLOSED,null,null); @@ -339,6 +349,7 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl projectLogDTOList) { List handleLevelList=new ArrayList<>(); for (FactOriginProjectLogDailyDTO logDailyDTO : projectLogDTOList) { - if(logDailyDTO.getActionCode().equals(DimObjectActionConstant.PROJECT_RETURN)||NumConstant.ZERO==logDailyDTO.getIsActive()){ + if(!logDailyDTO.getActionCode().equals(DimObjectActionConstant.PROJECT_CLOSE)||NumConstant.ZERO==logDailyDTO.getIsActive()){ //当前操作如果是退回,不参与比较 continue; } @@ -395,32 +409,42 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl