diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java b/pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java index 27e7fde..4af38ac 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java @@ -16,7 +16,9 @@ import com.ningdatech.pmapi.dashboard.constant.DashboardConstant; import com.ningdatech.pmapi.dashboard.model.entity.CockpitStats; import com.ningdatech.pmapi.dashboard.model.po.SecrecyPasswordGradePO; import com.ningdatech.pmapi.dashboard.service.ICockpitStatsService; +import com.ningdatech.pmapi.expert.entity.ExpertIntentionWorkRegion; import com.ningdatech.pmapi.expert.entity.ExpertUserFullInfo; +import com.ningdatech.pmapi.expert.service.IExpertIntentionWorkRegionService; import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService; import com.ningdatech.pmapi.gov.enumeration.GovProjectStatusEnum; import com.ningdatech.pmapi.gov.model.entity.*; @@ -107,6 +109,9 @@ public class CockpitStatsStatisticsTask { @Autowired private IEarlyWarningRecordsService earlyWarningRecordsService; + @Autowired + private IExpertIntentionWorkRegionService expertIntentionWorkRegionService; + private List years = Lists.newArrayList(2021,2022,2023,2024,2025); private final IMetaTagService metaTagService; @@ -370,12 +375,20 @@ public class CockpitStatsStatisticsTask { //2.专家统计 List lsRegionCodes = RegionConst.LS_ARR; - List experts = expertUserFullInfoService.list(Wrappers.lambdaQuery(ExpertUserFullInfo.class) + List intentions = expertIntentionWorkRegionService.list(Wrappers.lambdaQuery(ExpertIntentionWorkRegion.class) .eq(StringUtils.isNotBlank(regionCode) && !DashboardConstant.CockpitStats.TOTAL.equals(regionCode), - ExpertUserFullInfo::getRegionCode, regionCode) + ExpertIntentionWorkRegion::getRegionCode, regionCode) .in(StringUtils.isBlank(regionCode) || DashboardConstant.CockpitStats.TOTAL.equals(regionCode), - ExpertUserFullInfo::getRegionCode,lsRegionCodes) - .eq(ExpertUserFullInfo::getExpertAccountStatus,"available")); + ExpertIntentionWorkRegion::getRegionCode, lsRegionCodes)); + + List experts = Lists.newArrayList(); + if(CollUtil.isNotEmpty(intentions)){ + List userIds = intentions.stream().map(ExpertIntentionWorkRegion::getUserId) + .collect(Collectors.toList()); + experts = expertUserFullInfoService.list(Wrappers.lambdaQuery(ExpertUserFullInfo.class) + .in(ExpertUserFullInfo::getUserId, userIds) + .eq(ExpertUserFullInfo::getExpertAccountStatus,"available")); + } List goodAt = expertTagService.list(Wrappers.lambdaQuery(ExpertTag.class)); Map> tagMap = goodAt.stream()