package com.ningdatech.pmapi.projectlib.model.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * <p>
 * AnnualLibImportDTO
 * </p>
 *
 * @author WendyYang
 * @since 13:46 2023/2/13
 */
@Data
public class AnnualLibImportDTO {

    @ExcelProperty("序号")
    @NotNull(message = "序号不能为空")
    private Integer serialNumber;

    @ExcelProperty("项目id")
    @NotNull(message = "项目ID不能为空")
    private Long projectId;

    @ExcelProperty("项目名称")
    @NotBlank(message = "项目名称不能为空")
    private String projectName;

    @NotBlank(message = "建设内容不能为空")
    @ExcelProperty("建设内容")
    private String projectIntroduction;

    @NotBlank(message = "建设依据不能为空")
    @ExcelProperty("建设依据")
    private String buildBasis;

    @ExcelProperty("建设性质")
    @NotBlank(message = "建设性质不能为空")
    private String isFirst;

    @ExcelProperty("建设起止年限")
    @NotBlank(message = "建设起止年限不能为空")
    private String buildCycle;

    @NotBlank(message = "总投资不能为空")
    @ExcelProperty("总投资")
    private BigDecimal declaredAmount;

    @NotNull(message = "年度投资额不能为空")
    @ExcelProperty("年度投资额")
    private BigDecimal annualPlanAmount;

    @ExcelProperty("自有资金")
    @NotNull(message = "自由资金不能为空")
    private BigDecimal declareHaveAmount;

    @ExcelProperty("政府投资-本级财政")
    @NotNull(message = "政府投资-本级财政不能为空")
    private BigDecimal declareGovOwnFinanceAmount;

    @ExcelProperty("政府投资-上级补")
    @NotNull(message = "政府投资-上级补不能为空")
    private BigDecimal declareGovSuperiorFinanceAmount;

    @ExcelProperty("银行贷款")
    @NotNull(message = "银行贷款不能为空")
    private BigDecimal declareBankLendingAmount;

    @ExcelProperty("其他")
    @NotNull(message = "其他不能为空")
    private BigDecimal declareOtherAmount;

    @ExcelProperty("一季度")
    @NotBlank(message = "一季度不能为空")
    private String engineeringSpeedOne;

    @ExcelProperty("二季度")
    @NotBlank(message = "二季度不能为空")
    private String engineeringSpeedTwo;

    @ExcelProperty("三季度")
    @NotBlank(message = "三季度不能为空")
    private String engineeringSpeedThree;

    @ExcelProperty("四季度")
    @NotBlank(message = "四季度不能为空")
    private String engineeringSpeedFour;

    @ExcelProperty("建设单位")
    @NotBlank(message = "建设单位不能为空")
    private String buildUnitName;

    @ExcelProperty("项目联系人")
    @NotBlank(message = "项目联系人不能为空")
    private String contactName;

    @ExcelProperty("项目分管领导")
    @NotBlank(message = "项目分管领导不能为空")
    private String responsibleMan;

    @ExcelProperty("备注")
    private String projectRemarks;

}
