package com.njcn.device.pms.pojo.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.njcn.device.pms.utils.ExcelValid;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 台区导入模板
 * </p>
 *
 * @author hongawen
 * @since 2022-10-14
 */
@Data
public class PowerDistributionAreaExcel implements Serializable {


    private static final long serialVersionUID = 1L;


    @Excel(name = "*台区编号", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*台区编号")
    @ExcelValid(message = "台区编号不能为空")
    private String id;


    @Excel(name = "*台区名称", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*台区名称")
    @ExcelValid(message = "台区名称不能为空")
    private String name;


    @Excel(name = "*组织机构名称", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*组织机构名称")
    @ExcelValid(message = "组织机构名称不能为空")
    private String orgName;


    @Excel(name = "*组织机构ID", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*组织机构ID")
    @ExcelValid(message = "组织机构ID不能为空")
    private String orgId;


    @Excel(name = "*运维单位名称", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*运维单位名称")
    @ExcelValid(message = "运维单位名称不能为空")
    private String operationName;


    @Excel(name = "*运维单位ID", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*运维单位ID")
    @ExcelValid(message = "运维单位ID不能为空")
    private String operationId;


    @Excel(name = "*变电站名称", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*变电站名称")
    @ExcelValid(message = "变电站名称不能为空")
    private String powerrName;


    @Excel(name = "*变电站ID", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*变电站ID")
    @ExcelValid(message = "变电站ID不能为空")
    private String powerStationId;


    @Excel(name = "*监测线路名称", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*监测线路名称")
    @ExcelValid(message = "监测线路名称不能为空")
    private String lineName;


    @Excel(name = "*所属线路ID", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*所属线路ID")
    @ExcelValid(message = "所属线路ID不能为空")
    private String lineId;


    @Excel(name = "*电压等级", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*电压等级")
    @ExcelValid(message = "电压等级不能为空")
    private String voltageLevel;



    @Excel(name = "*配变容量", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*配变容量")
    @ExcelValid(message = "配变容量不能为空")
    private Float pCapacity;


    @Excel(name = "*地区特征", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*地区特征")
    @ExcelValid(message = "地区特征不能为空")
    private String regionalism;



    @Excel(name = "*是否农网", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*是否农网")
    @ExcelValid(message = "是否农网不能为空")
    private String ifRuralPowerGrid;


    @Excel(name = "*使用性质", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*使用性质")
    @ExcelValid(message = "使用性质不能为空")
    private String natureOfUse;


    @Excel(name = "*供电半径", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*供电半径")
    @ExcelValid(message = "供电半径不能为空")
    private Float powerSupplyRadius;


    @Excel(name = "*供电线路总长度", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*供电线路总长度")
    @ExcelValid(message = "供电线路总长度不能为空")
    private Float lineLength;


    @Excel(name = "*运行状态", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*运行状态")
    @ExcelValid(message = "运行状态不能为空")
    private String state;


    @Excel(name = "*分布式光伏用户数", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*分布式光伏用户数")
    @ExcelValid(message = "分布式光伏用户数不能为空")
    private Integer distributedPhotovoltaicNum;


    @Excel(name = "*分布式光伏总装机容量", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*分布式光伏总装机容量")
    @ExcelValid(message = "分布式光伏总装机容量不能为空")
    private Float photovoltaicCapacity;


    @Excel(name = "*是否有电动汽车接入", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*是否有电动汽车接入")
    @ExcelValid(message = "是否有电动汽车接入不能为空")
    private String ifBevAp;


    @Excel(name = "*接入负荷类型", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*接入负荷类型")
    @ExcelValid(message = "接入负荷类型不能为空")
    private String apLoadType;


    @Excel(name = "*是否是上送国网监测点", width = 30)
    @ColumnWidth(30)
    @ExcelProperty(value = "*是否是上送国网监测点")
    @ExcelValid(message = "是否是上送国网监测点不能为空")
    private String isUpToGrid;

    @Data
    public static class ErrMsg extends PowerDistributionAreaExcel {

        @Excel(name = "错误信息", width = 50)
        @ColumnWidth(60)
        @ExcelProperty(value = "错误信息")
        private String errMsg;

    }

}
