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 72a5501eb8..0bf1504b81 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 @@ -1011,6 +1011,9 @@ public class DataStatsServiceImpl implements DataStatsService { public PartyMemberVanguardRankResultDTO vanguardRank(PartyMemberVanguardFormDTO formDTO) { //获取组织级别 DimAgencyEntity agency = dataStatsDao.getAgencyInfo(formDTO.getAgencyId()); + if (null == agency) { + return new PartyMemberVanguardRankResultDTO(); + } //组织排行 List agencyRank = dataStatsDao.selectAgencyVanguardRank(formDTO.getAgencyId()); //网格排行 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml index eeec0fa8e5..21df7f9a68 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml @@ -352,16 +352,19 @@ SELECT - a.AGENCY_ID, + da.ID AS AGENCY_ID, COUNT( DISTINCT MEMBER_ID ) AS "sum", IFNULL( b.partyCount, 0 ) AS "count" FROM - fact_origin_group_member_daily a - LEFT JOIN - (SELECT - AGENCY_ID, - COUNT( DISTINCT MEMBER_ID ) AS partyCount - FROM fact_origin_group_member_daily - WHERE IS_PARTY = 1 - AND CUSTOMER_ID = #{customerId} - AND DATE_ID <= #{dateId} - GROUP BY AGENCY_ID - ) b ON a.AGENCY_ID = b.AGENCY_ID - WHERE a.CUSTOMER_ID = #{customerId} - AND a.DATE_ID <= #{dateId} + dim_agency da + INNER JOIN fact_origin_group_member_daily a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' ) + AND a.CUSTOMER_ID = #{customerId} + AND a.DATE_ID <= #{dateId} + LEFT JOIN ( + SELECT + agency.ID AS AGENCY_ID, + COUNT( DISTINCT MEMBER_ID ) AS partyCount + FROM + dim_agency agency + INNER JOIN fact_origin_group_member_daily member ON member.PIDS LIKE CONCAT( '%', agency.ID, '%' ) + AND member.IS_PARTY = 1 + AND member.CUSTOMER_ID = #{customerId} + AND member.DATE_ID <= #{dateId} + WHERE + agency.CUSTOMER_ID = #{customerId} + GROUP BY + agency.ID + ) b ON da.ID = b.AGENCY_ID + WHERE + da.CUSTOMER_ID = #{customerId} GROUP BY - a.AGENCY_ID + da.ID