package com.njcn.supervision.pojo.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
public class SensitiveUserSExcel implements Serializable {


    /**
     * 对应用户名称
     */
    @Excel(name = "*项目名称", width = 30)
    @NotBlank(message = "项目名称不能为空")
    private String projectName;

    @Excel(name = "*所属地市", width = 30)
    @NotBlank(message = "所属地市不能为空")
    private String city;

    @Excel(name = "*归口管理部门", width = 30)
    @NotBlank(message = "归口管理部门不能为空")
    private String responsibleDepartment;

    @Excel(name = "*用户状态", width = 30, replace = {"可研_0", "建设_1", "运行_2", "退运_3", "_null"})
    @NotNull(message = "用户状态不能为空")
    private Integer userStatus;

    @Excel(name = "*厂站名称", width = 30)
    @NotBlank(message = "厂站名称不能为空")
    private String substation;


    @Excel(name = "*负荷级别", width = 30)
    @NotBlank(message = "*负荷级别不能为空")
    private String loadLevel;

    @Excel(name = "*供电电源情况", width = 30)
    @NotBlank(message = "*供电电源情况不能为空")
    private String powerSupplyInfo;

//    @Excel(name = "填报人", width = 30)
//    //@NotBlank(message = "填报人不能为空")
//    private String reporter;
//
//    @Excel(name = "填报日期(yyyy-MM-dd)", width = 30)
//    //@NotBlank(message = "填报日期不能为空")
//    private String reportDate;
//
//    @Excel(name = "填报部门", width = 30)
//    //@NotBlank(message = "填报部门不能为空")
//    private String orgId;


    @Excel(name = "*工程预期投产日期(yyyy-MM-dd)", width = 30)
    @NotBlank(message = "工程预期投产日期不能为空")
    private String expectedProductionDate;

    @Excel(name = "电压等级", width = 30)
    //@NotBlank(message = "电压等级不能为空")
    private String voltageLevel;

    @Excel(name = "预测评估单位", width = 30)
    //@NotBlank(message = "预测评估单位不能为空")
    private String evaluationDept;

    @Excel(name = "预测评估结论", width = 30)
    //@NotBlank(message = "预测评估结论不能为空")
    private String evaluationConclusion;
    //----------------------------以上基础数据------------------------------------

    @Excel(name = "PCC点", width = 30)
    //@NotBlank(message = "PCC点不能为空")
    private String pccPoint;

    @Excel(name = "是否需要治理", width = 30, replace = {"否_0", "是_1", "_null"})
    //@NotBlank(message = "是否需要治理不能为空")
    private Integer needGovernance;

    @Excel(name = "是否开展背景测试", width = 30, replace = {"否_0", "是_1", "_null"})
    //@NotBlank(message = "是否开展背景测试不能为空")
    private Integer backgroundTestPerformed;

    @Excel(name = "评估类型", width = 30)
    //@NotBlank(message = "评估类型不能为空")
    private String evaluationType;

    @Excel(name = "行业", width = 30)
    //@NotBlank(message = "行业不能为空")
    private String industry;

    @Excel(name = "敏感装置名称", width = 30)
    //@NotBlank(message = "敏感装置名称不能为空")
    private String deviceName;

    @Excel(name = "供电电源数量", width = 30)
    //@NotBlank(message = "供电电源数量不能为空")
    private Integer powerSupplyCount;

    @Excel(name = "敏感电能质量指标", width = 30)
    //@NotBlank(message = "敏感电能质量指标不能为空")
    private String energyQualityIndex;

    @Excel(name = "是否开展抗扰度测试", width = 30, replace = {"否_0", "是_1", "_null"})
    //@NotBlank(message = "是否开展抗扰度测试不能为空")
    private Integer antiInterferenceTest;

    @Excel(name = "预测评估审核单位", width = 30)
    //@NotBlank(message = "敏感电能质量指标不能为空")
    private String evaluationChekDept;


    @Excel(name = "供电电源", width = 30)
    //@NotBlank(message = "供电电源不能为空")
    private String powerSupply;

    @Excel(name = "接入电压等级", width = 30)
    //@NotBlank(message = "接入电压等级不能为空")
    private String supplyVoltageLevel;


    @Excel(name = "运维单位", width = 30)
    //@NotBlank(message = "运维单位不能为空")
    private String maintenanceUnit;

//    substation_main_wiring_diagram	用户接入变电站主接线示意图地址
//    sensitive_devices	主要敏感设备清单
//    anti_interference_report	抗扰度测试报告
//    power_quality_report	背景电能质量测试报告
//    feasibility_report	可研报告地址
//    preliminary_design_description	项目初步设计说明书地址
//    prediction_evaluation_report	预测评估报告地址
//    prediction_evaluation_review_opinions	预测评估评审意见报告地址
//
//    additional_attachments	其他附件
//    state	数据状态
//    Create_By	创建用户
//    Create_Time	创建时间
//    Update_By	更新用户
//    Update_Time	更新时间



    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class SensitiveUserExcelMsg extends SensitiveUserSExcel implements Serializable {
        @Excel(name = "错误信息描述", width = 30)
        private String msg;
    }

}
