Browse Source

驾驶舱

master
PoffyZhang 10 months ago
parent
commit
f4e6279496
3 changed files with 87 additions and 15 deletions
  1. +9
    -6
      pmapi/src/main/java/com/ningdatech/pmapi/dashboard/model/entity/CockpitStats.java
  2. +1
    -1
      pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ProjectRenewalFundManage.java
  3. +77
    -8
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java

+ 9
- 6
pmapi/src/main/java/com/ningdatech/pmapi/dashboard/model/entity/CockpitStats.java View File

@@ -101,27 +101,30 @@ public class CockpitStats implements Serializable {
@ApiModelProperty("专家-总人数")
private Integer expertTotalNum = 0;

@ApiModelProperty("专家-方案合理性")
@ApiModelProperty("专家-方案合理性-擅长")
private Integer expertPlanRationalityNum = 0;

@ApiModelProperty("专家-计数可行性评估")
@ApiModelProperty("专家-计数可行性评估-擅长")
private Integer expertTechnicalFeasibilityAssessmentNum = 0;

@ApiModelProperty("专家-信创")
@ApiModelProperty("专家-信创-擅长")
private Integer expertXinchuangNum = 0;

@ApiModelProperty("专家-软硬件核价")
@ApiModelProperty("专家-软硬件核价-擅长")
private Integer expertSoftHardPricingNum = 0;

@ApiModelProperty("专家-党政信息")
@ApiModelProperty("专家-党政信息-擅长")
private Integer expertPartyGovInfoNum = 0;

@ApiModelProperty("专家-网络安全")
@ApiModelProperty("专家-网络安全-擅长")
private Integer expertNetworkSecurityNum = 0;

@ApiModelProperty("专家-信息化专家")
private Integer expertPromotionInfoTechnologyNum = 0;

@ApiModelProperty("专家-信创专家")
private Integer expertXinchuangOtherNum = 0;

@ApiModelProperty("专家-财务专家")
private Integer expertFinancialNum = 0;



+ 1
- 1
pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ProjectRenewalFundManage.java View File

@@ -381,7 +381,7 @@ public class ProjectRenewalFundManage {
}

//判断金额
checkPaymentAmount(projectCode,projectYear,dto.getAnnualPaymentAmount());
// checkPaymentAmount(projectCode,projectYear,dto.getAnnualPaymentAmount());

declaration.setApprovalStatus(ProjectRenewalApprovalStatusEnum.PENDING.name());
if(Objects.nonNull(project)){


+ 77
- 8
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CockpitStatsStatisticsTask.java View File

@@ -21,6 +21,10 @@ import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService;
import com.ningdatech.pmapi.gov.enumeration.GovProjectStatusEnum;
import com.ningdatech.pmapi.gov.model.entity.*;
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.service.IPerformanceAppraisalProjectService;
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 final IMetaTagService metaTagService;

private final IExpertTagService expertTagService;

/**
* 定义统计 驾驶舱数据 每天3点开始执行一次
*
@@ -366,15 +374,76 @@ public class CockpitStatsStatisticsTask {
List<ExpertUserFullInfo> experts = expertUserFullInfoService.list(Wrappers.lambdaQuery(ExpertUserFullInfo.class)
.eq(StringUtils.isNotBlank(regionCode) && !DashboardConstant.CockpitStats.TOTAL.equals(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.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.1 计划项目数(申报项目:完成年度计划的项目总数


Loading…
Cancel
Save