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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel(value = "项目资金统计", description = "")
public class FundStatisticsVO implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("累积核减总资金")
    private BigDecimal accumulatedDeductionTotalAmount;

    @ApiModelProperty("近三年核减总资金")
    private BigDecimal threeYearsDeductionTotalAmount;

    @ApiModelProperty("申请总金额")
    private BigDecimal declaredTotalAmount;

    @ApiModelProperty("批复总金额")
    private BigDecimal approvalTotalAmount;

    @ApiModelProperty("合同总金额")
    private BigDecimal contractTotalAmount;

    @ApiModelProperty("近三年核减数据")
    private List<AmountData> threeYearsDeduction;

    @ApiModelProperty("计划阶段核减情况")
    private HeJianAmount planDeduction;

    @ApiModelProperty("批复阶段阶段核减情况")
    private HeJianAmount approvalDeduction;

    @ApiModelProperty("合同阶段阶段核减情况")
    private HeJianAmount contractDeduction;

    @ApiModelProperty("各部门核减TOP10")
    private List<AmountData> departmentTop10;


    @Data
    public static class AmountData{
        @ApiModelProperty("金额")
        private BigDecimal amount;

        @ApiModelProperty("名称")
        private String name;
    }

    @Data
    public static class HeJianAmount{
        @ApiModelProperty("申请金额")
        private BigDecimal approve;

        @ApiModelProperty("批复金额")
        private BigDecimal approval;

        @ApiModelProperty("差额")
        private BigDecimal diff;
    }
}