|
@@ -21,6 +21,10 @@ import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService; |
|
|
import com.ningdatech.pmapi.gov.enumeration.GovProjectStatusEnum; |
|
|
import com.ningdatech.pmapi.gov.enumeration.GovProjectStatusEnum; |
|
|
import com.ningdatech.pmapi.gov.model.entity.*; |
|
|
import com.ningdatech.pmapi.gov.model.entity.*; |
|
|
import com.ningdatech.pmapi.gov.service.*; |
|
|
import com.ningdatech.pmapi.gov.service.*; |
|
|
|
|
|
import com.ningdatech.pmapi.meta.model.entity.ExpertTag; |
|
|
|
|
|
import com.ningdatech.pmapi.meta.model.entity.MetaTag; |
|
|
|
|
|
import com.ningdatech.pmapi.meta.service.IExpertTagService; |
|
|
|
|
|
import com.ningdatech.pmapi.meta.service.IMetaTagService; |
|
|
import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProject; |
|
|
import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProject; |
|
|
import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalProjectService; |
|
|
import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalProjectService; |
|
|
import com.ningdatech.pmapi.projectlib.enumeration.InstTypeEnum; |
|
|
import com.ningdatech.pmapi.projectlib.enumeration.InstTypeEnum; |
|
@@ -109,6 +113,10 @@ public class CockpitStatsStatisticsTask { |
|
|
|
|
|
|
|
|
private List<Integer> years = Lists.newArrayList(2021,2022,2023,2024,2025); |
|
|
private List<Integer> years = Lists.newArrayList(2021,2022,2023,2024,2025); |
|
|
|
|
|
|
|
|
|
|
|
private final IMetaTagService metaTagService; |
|
|
|
|
|
|
|
|
|
|
|
private final IExpertTagService expertTagService; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 定义统计 驾驶舱数据 每天3点开始执行一次 |
|
|
* 定义统计 驾驶舱数据 每天3点开始执行一次 |
|
|
* |
|
|
* |
|
@@ -366,15 +374,76 @@ public class CockpitStatsStatisticsTask { |
|
|
List<ExpertUserFullInfo> experts = expertUserFullInfoService.list(Wrappers.lambdaQuery(ExpertUserFullInfo.class) |
|
|
List<ExpertUserFullInfo> experts = expertUserFullInfoService.list(Wrappers.lambdaQuery(ExpertUserFullInfo.class) |
|
|
.eq(StringUtils.isNotBlank(regionCode) && !DashboardConstant.CockpitStats.TOTAL.equals(regionCode), |
|
|
.eq(StringUtils.isNotBlank(regionCode) && !DashboardConstant.CockpitStats.TOTAL.equals(regionCode), |
|
|
ExpertUserFullInfo::getRegionCode, regionCode)); |
|
|
ExpertUserFullInfo::getRegionCode, regionCode)); |
|
|
|
|
|
|
|
|
|
|
|
List<ExpertTag> goodAt = expertTagService.list(Wrappers.lambdaQuery(ExpertTag.class)); |
|
|
|
|
|
Map<Long, List<ExpertTag>> tagMap = goodAt.stream() |
|
|
|
|
|
.collect(Collectors.groupingBy(ExpertTag::getUserId)); |
|
|
|
|
|
|
|
|
|
|
|
String networkCode = "1030000"; |
|
|
|
|
|
String xinchuangCode = "2040000"; |
|
|
|
|
|
String fanganCode = "2030000"; |
|
|
|
|
|
String jishuCode = "2010000"; |
|
|
|
|
|
String dangzhengCode = "1020000"; |
|
|
|
|
|
String ruanyingCode = "2020000"; |
|
|
|
|
|
String caiwuCode = "5600000"; |
|
|
|
|
|
String xinxihuaCode = "5400000"; |
|
|
|
|
|
String xinchuangOtherCode = "5500000"; |
|
|
|
|
|
|
|
|
cockpitStats.setExpertTotalNum(experts.size()); |
|
|
cockpitStats.setExpertTotalNum(experts.size()); |
|
|
cockpitStats.setExpertFinancialNum(0); |
|
|
|
|
|
cockpitStats.setExpertNetworkSecurityNum(0); |
|
|
|
|
|
cockpitStats.setExpertXinchuangNum(0); |
|
|
|
|
|
cockpitStats.setExpertPlanRationalityNum(0); |
|
|
|
|
|
cockpitStats.setExpertPromotionInfoTechnologyNum(0); |
|
|
|
|
|
cockpitStats.setExpertPartyGovInfoNum(0); |
|
|
|
|
|
cockpitStats.setExpertSoftHardPricingNum(0); |
|
|
|
|
|
cockpitStats.setExpertTechnicalFeasibilityAssessmentNum(0); |
|
|
|
|
|
|
|
|
Integer financialNum = 0; |
|
|
|
|
|
Integer networkSecurityNum = 0; |
|
|
|
|
|
Integer xinchuangNum = 0; |
|
|
|
|
|
Integer planRationalityNum = 0; |
|
|
|
|
|
Integer promotionInfoTechnologyNum = 0; |
|
|
|
|
|
Integer partyGovInfoNum = 0; |
|
|
|
|
|
Integer softHardPricingNum = 0; |
|
|
|
|
|
Integer technicalFeasibilityAssessmentNum = 0; |
|
|
|
|
|
Integer xinchuangOtherNum = 0; |
|
|
|
|
|
for(ExpertUserFullInfo e : experts){ |
|
|
|
|
|
if(tagMap.containsKey(e.getUserId())){ |
|
|
|
|
|
List<ExpertTag> expertTags = tagMap.get(e.getUserId()); |
|
|
|
|
|
for(ExpertTag expertTag : expertTags){ |
|
|
|
|
|
if(expertTag.getTagCode().equals(networkCode)){ |
|
|
|
|
|
networkSecurityNum++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(caiwuCode)){ |
|
|
|
|
|
financialNum ++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(xinchuangCode)){ |
|
|
|
|
|
xinchuangNum ++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(fanganCode)){ |
|
|
|
|
|
planRationalityNum++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(jishuCode)){ |
|
|
|
|
|
technicalFeasibilityAssessmentNum ++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(dangzhengCode)){ |
|
|
|
|
|
partyGovInfoNum ++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(ruanyingCode)){ |
|
|
|
|
|
softHardPricingNum ++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(xinxihuaCode)){ |
|
|
|
|
|
promotionInfoTechnologyNum++; |
|
|
|
|
|
} |
|
|
|
|
|
if(expertTag.getTagCode().equals(xinchuangOtherCode)){ |
|
|
|
|
|
xinchuangOtherNum++; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//财务专家 |
|
|
|
|
|
cockpitStats.setExpertFinancialNum(financialNum); |
|
|
|
|
|
//网络安全 |
|
|
|
|
|
cockpitStats.setExpertNetworkSecurityNum(networkSecurityNum); |
|
|
|
|
|
cockpitStats.setExpertXinchuangNum(xinchuangNum); |
|
|
|
|
|
cockpitStats.setExpertPlanRationalityNum(planRationalityNum); |
|
|
|
|
|
cockpitStats.setExpertPromotionInfoTechnologyNum(promotionInfoTechnologyNum); |
|
|
|
|
|
cockpitStats.setExpertPartyGovInfoNum(partyGovInfoNum); |
|
|
|
|
|
cockpitStats.setExpertSoftHardPricingNum(softHardPricingNum); |
|
|
|
|
|
cockpitStats.setExpertTechnicalFeasibilityAssessmentNum(technicalFeasibilityAssessmentNum); |
|
|
|
|
|
cockpitStats.setExpertXinchuangOtherNum(xinchuangOtherNum); |
|
|
|
|
|
|
|
|
//3.顶部数据 |
|
|
//3.顶部数据 |
|
|
//3.1 计划项目数(申报项目:完成年度计划的项目总数 |
|
|
//3.1 计划项目数(申报项目:完成年度计划的项目总数 |
|
|