package com.njcn.device.pms.pojo.vo.gw;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

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

/**
 * @author wr
 * @description
 * @date 2023/12/8 9:17
 */
@Data
@ColumnWidth(30)
public class TractionStationDTO extends Unit {

    private static final long serialVersionUID = 1L;

    /*主键  是否必填：是*/
    @ExcelProperty(value = "主键")
    private String id;
    /*副备变电站id  是否必填：否*/
    @ExcelProperty(value = "副备变电站id")
    private String auxiliarySubstationId;
    /*副备变电站名称  是否必填：否*/
    @ExcelProperty(value = "副备变电站名称")
    private String auxiliarySubstationName;
    /*副备变电站电压等级  是否必填：否*/
    @ExcelProperty(value = "副备变电站电压等级")
    private String auxiliaryVoltageLevel;
    /*电缆芯数  是否必填：否*/
    @ExcelProperty(value = "电缆芯数")
    private String cableCoresNum;
    /*电缆敷设方式  是否必填：否*/
    @ExcelProperty(value = "电缆敷设方式")
    private String cableLayingMethod;
    /*电缆型号  是否必填：否*/
    @ExcelProperty(value = "电缆型号")
    private String cableModel;
    /*电缆线路长度  是否必填：否*/
    @ExcelProperty(value = "电缆线路长度")
    private BigDecimal cableRouteLength;

    /*牵引站变压器接线方式  是否必填：否*/
    @ExcelProperty(value = "牵引站变压器接线方式")
    private String connetGroupWay;

    /*创建时间  是否必填：否*/
    @ExcelProperty(value = "创建时间")
    @JSONField(format  = "yyyy-MM-dd")
    private LocalDateTime createTime;
    /*是否专线供电  是否必填：否*/
    @ExcelProperty(value = "是否专线供电")
    private String ifSpecial;
    /*主备变电站id  是否必填：否*/
    @ExcelProperty(value = "主备变电站id")
    private String mainSubstationId;
    /*主备变电站名称  是否必填：否*/
    @ExcelProperty(value = "主备变电站名称")
    private String mainSubstationName;
    /*主备变电站电压等级  是否必填：否*/
    @ExcelProperty(value = "主备变电站电压等级")
    private String mainVolatageLevel;
    /*监测点编号  是否必填：否*/
    @ExcelProperty(value = "监测点编号")
    private String monitorNumber;
    @ExcelProperty(value = "监测点名称")
    private String monitorName;
    /*第二个监测点编号  是否必填：否*/
    @ExcelProperty(value = "第二个监测点编号")
    private String monitorNumberTwo;
    /*铁路id  是否必填：否*/
    @ExcelProperty(value = "铁路id")
    private String railwayId;
    /*铁路名称  是否必填：是*/
    @ExcelProperty(value = "铁路名称")
    private String railwayName;
    /*铁路编号  是否必填：否*/
    @ExcelProperty(value = "铁路编号")
    private String railwayNumber;
    /*铁路类型  是否必填：否*/
    @ExcelProperty(value = "铁路类型")
    private String railwayType;
    /*牵引站编号  是否必填：否*/
    @ExcelProperty(value = "牵引站编号")
    private String tractionCode;
    /*牵引站变压器容量  是否必填：否*/
    @ExcelProperty(value = "牵引站变压器容量")
    private Float tractionSubstationCapacity;
    /*所属变电站id  是否必填：否*/
    @ExcelProperty(value = "所属变电站id")
    private String tractionSubstationId;
    /*所属变电站名称  是否必填：否*/
    @ExcelProperty(value = "所属变电站名称")
    private String tractionSubstationName;
    /*供电电压等级  是否必填：是*/
    @ExcelProperty(value = "供电电压等级")
    private String tractionVoltageLevel;
    /*变压器联结组方式  是否必填：否*/
    @ExcelProperty(value = "变压器联结组方式")
    private String transformerConnectionGroupMethod;
    /*变压器额定容量  是否必填：否*/
    @ExcelProperty(value = "变压器额定容量")
    private BigDecimal transformerNameplateCapacity;

    /*牵引站变电容量  是否必填：是*/
    @ExcelProperty(value = "牵引站变电容量")
    private BigDecimal tractionSubCapacity;

    /*变压器一次侧额定电压等级  是否必填：否*/
    @ExcelProperty(value = "变压器一次侧额定电压等级")
    private String transformerOneVoltageLevel;
    /*变压器二次侧额定电压等级  是否必填：否*/
    @ExcelProperty(value = "变压器二次侧额定电压等级")
    private String transformerTwoVoltageLevel;
    /*三相vv额定容量  是否必填：否*/
    @ExcelProperty(value = "三相vv额定容量")
    private BigDecimal triphaseVvNameplateCapacity;
    /*上报日期  是否必填：否*/
    @ExcelProperty(value = "上报日期")
    @JSONField(format  = "yyyy-MM-dd")
    private LocalDateTime uploadDate;
    /*运行状态  是否必填：是*/
    @ExcelProperty(value = "运行状态")
    private String runStatus;
    /*更新时间  是否必填：否*/
    @ExcelProperty(value = "更新时间")
    @JSONField(format  = "yyyy-MM-dd")
    private LocalDateTime updateTime;

    @ExcelProperty(value = "牵引站名称")
    private String tractionName;
}
