package com.hz.pm.api.dashboard.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("nd_cockpit_stats")
@ApiModel(value = "驾驶舱统计数据对象", description = "")
public class CockpitStats implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("区域code")
    private String regionCode;

    @ApiModelProperty("区域名")
    private String regionName;

    @ApiModelProperty("年份")
    private Integer year;

    @ApiModelProperty("年份")
    private LocalDateTime createOn;

    @ApiModelProperty("项目监控-超期建设项目数")
    private Integer monitorOverdueConstructionProjectsNum;

    @ApiModelProperty("项目监控-超期建设项目-增长比例")
    private String monitorOverdueConstructionProjectsRise = "0";

    @ApiModelProperty("项目监控-环节滞后项目数")
    private Integer monitorLaggingProjectsNum;

    @ApiModelProperty("项目监控-环节滞后项目-增长比例")
    private String monitorLaggingProjectsRise = "0";

    @ApiModelProperty("项目监控-预审驳回项目数")
    private Integer monitorRejectedPreReviewProjectsNum;

    @ApiModelProperty("项目监控-预审驳回项目-增长比例")
    private String monitorRejectedPreReviewProjectsRise = "0";

    @ApiModelProperty("项目监控-评审驳回项目数")
    private Integer monitorRejectedApproveProjectsNum;

    @ApiModelProperty("项目监控-评审驳回项目-增长比例")
    private String monitorRejectedApproveProjectsRise = "0";
    @ApiModelProperty("项目监控-验收条件未达标")
    private Integer monitorAcceptConditionsNotStandardsNum;

    @ApiModelProperty("项目监控-验收条件未达标-增长比例")
    private String monitorAcceptConditionsNotStandardsRise = "0";

    @ApiModelProperty("项目监控-安全投入金额(用于算安全投入占比)")
    private BigDecimal monitorSafetyInputAmount;

    @ApiModelProperty("项目监控-总申报金额(用于算安全投入占比)")
    private BigDecimal monitorDeclaredAmount;

    @ApiModelProperty("项目监控-等保1级数量")
    private Integer monitorSecrecyGrade1Num = 0;

    @ApiModelProperty("项目监控-等保2级数量")
    private Integer monitorSecrecyGrade2Num = 0;

    @ApiModelProperty("项目监控-等保3级数量")
    private Integer monitorSecrecyGrade3Num = 0;

    @ApiModelProperty("项目监控-等保4级数量")
    private Integer monitorSecrecyGrade4Num = 0;

    @ApiModelProperty("项目监控-等保5级数量")
    private Integer monitorSecrecyGrade5Num = 0;

    @ApiModelProperty("项目监控-密评1级数量")
    private Integer monitorPasswordGrade1Num = 0;

    @ApiModelProperty("项目监控-密评2级数量")
    private Integer monitorPasswordGrade2Num = 0;

    @ApiModelProperty("项目监控-密评3级数量")
    private Integer monitorPasswordGrade3Num = 0;

    @ApiModelProperty("项目监控-密评4级数量")
    private Integer monitorPasswordGrade4Num = 0;

    @ApiModelProperty("项目监控-密评5级数量")
    private Integer monitorPasswordGrade5Num = 0;

    @ApiModelProperty("专家-总人数")
    private Integer expertTotalNum = 0;

    @ApiModelProperty("专家-总人数-包含这些标签的专家总人数")
    private Integer specialExpertNum = 0;

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

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

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

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

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

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

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

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

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

    @ApiModelProperty("顶部-计划项目数")
    private Integer topPlanProjectsNum = 0;

    @ApiModelProperty("顶部-批复项目数")
    private Integer topApprovalProjectsNum = 0;

    @ApiModelProperty("顶部-批复金额")
    private BigDecimal topApprovalProjectsAmount;

    @ApiModelProperty("顶部-平均建设周期")
    private Integer topAverageConstructionPeriod;

    @ApiModelProperty("顶部-在建项目数")
    private Integer topOngoingProjectsNum;

    @ApiModelProperty("项目总数")
    private Integer projectsTotal;

    @ApiModelProperty("项目总数-计划状态")
    private Integer projectsTotalPlan;

    @ApiModelProperty("项目总数-申报状态")
    private Integer projectsTotalApply;

    @ApiModelProperty("项目总数-审批状态")
    private Integer projectsTotalApprove;

    @ApiModelProperty("项目总数-建设状态")
    private Integer projectsTotalConstruction;

    @ApiModelProperty("项目总数-验收状态")
    private Integer projectsTotalAccept;

    @ApiModelProperty("项目总数-运维状态")
    private Integer projectsTotalOperation;

    @ApiModelProperty("项目总数-绩效状态")
    private Integer projectsTotalPerformance;

    @ApiModelProperty("项目总数-注销状态")
    private Integer projectsTotalLogOff;

    @ApiModelProperty("优秀项目-最佳应用")
    private Integer excellentBestAppNum;

    @ApiModelProperty("优秀项目-重大应用")
    private Integer excellentMajorAppNum;

    @ApiModelProperty("优秀项目-跨域共享数")
    private Integer excellentCrossDomainSharingNum;

    @ApiModelProperty("优秀项目-提级共享数")
    private Integer excellentCrossLevelSharingNum;

    @ApiModelProperty("核减资金")
    private BigDecimal reduceFundsTotal;

    @ApiModelProperty("驳回节约资金")
    private BigDecimal rejectSavingsFunds;

    @ApiModelProperty("申报金额-申报状态")
    private BigDecimal declaredAmountApprove;
    @ApiModelProperty("批复金额-申报状态")
    private BigDecimal approvalAmountApprove;
    @ApiModelProperty("差额-申报状态")
    private BigDecimal differenceApprove;

    @ApiModelProperty("申报金额-批复状态")
    private BigDecimal declaredAmountApproval;
    @ApiModelProperty("批复金额-批复状态")
    private BigDecimal approvalAmountApproval;
    @ApiModelProperty("差额-批复状态")
    private BigDecimal differenceApproval;

    @ApiModelProperty("申报金额-合同状态")
    private BigDecimal declaredAmountContract;
    @ApiModelProperty("批复金额-合同状态")
    private BigDecimal approvalAmountContract;
    @ApiModelProperty("差额-合同状态")
    private BigDecimal differenceContract;

    @ApiModelProperty("产出-应用数量")
    private Integer produceAppNum = 0;
    @ApiModelProperty("产出-数据产品")
    private Integer produceDataNum = 0;
    @ApiModelProperty("产出-组件数")
    private Integer produceComponentNum = 0;
    @ApiModelProperty("产出-大脑要素")
    private Integer produceBrainElementsNum = 0;
    @ApiModelProperty("产出-大脑要素 模型数")
    private Integer produceBrainModelNum = 0;

    @ApiModelProperty("绩效-项目总数量")
    private Integer performanceTotal = 0;

    @ApiModelProperty("绩效-未评价数量")
    private Integer performanceTobeReviewTotal = 0;

    @ApiModelProperty("绩效-已评价数量")
    private Integer performanceReviewedTotal = 0;

    @ApiModelProperty("绩效-top1分数")
    private BigDecimal performanceTop1Score = BigDecimal.ZERO;

    @ApiModelProperty("绩效-top1名称")
    private String performanceTop1Name;

    @ApiModelProperty("绩效-top2分数")
    private BigDecimal performanceTop2Score = BigDecimal.ZERO;

    @ApiModelProperty("绩效-top2名称")
    private String performanceTop2Name;

    @ApiModelProperty("绩效-top3分数")
    private BigDecimal performanceTop3Score = BigDecimal.ZERO;

    @ApiModelProperty("绩效-top3名称")
    private String performanceTop3Name;

    @ApiModelProperty("绩效-top4分数")
    private BigDecimal performanceTop4Score = BigDecimal.ZERO;

    @ApiModelProperty("绩效-top4名称")
    private String performanceTop4Name;

    @ApiModelProperty("绩效-top5分数")
    private BigDecimal performanceTop5Score = BigDecimal.ZERO;

    @ApiModelProperty("绩效-top5名称")
    private String performanceTop5Name;

    @ApiModelProperty("数据质量")
    private BigDecimal dataQuality = BigDecimal.ZERO;

}