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

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author hany
 * @since 2022-10-26
 */
@Data
public class PowerDistributionareaParam {

    @ApiModelProperty("台区编号")
    @NotBlank(message = "台区编号不可为空")
    private String id;

    @ApiModelProperty(name = "name", value = "台区名称")
    @NotBlank(message = "台区名称不可为空")
    private String name;

    @ApiModelProperty(name = "orgName", value = "组织机构名称")
    @NotBlank(message = "组织机构名称不可为空")
    private String orgName;

    @ApiModelProperty(name = "orgId", value = "组织机构编号")
    @NotBlank(message = "组织机构编号不可为空")
    private String orgId;

    @ApiModelProperty(name = "operationName", value = "运维单位名称")
    @NotBlank(message = "运维单位名称不可为空")
    private String operationName;

    @ApiModelProperty(name = "operationId", value = "运维单位编号")
    @NotBlank(message = "运维单位编号不可为空")
    private String operationId;

    @ApiModelProperty(name = "powerrName", value = "变电站名称")
    @NotBlank(message = "变电站名称不可为空")
    private String powerrName;

    @ApiModelProperty(name = "powerStationId", value = "电站编号")
    @NotBlank(message = "电站编号不可为空")
    private String powerStationId;

    @ApiModelProperty(name = "voltageLevel", value = "电压等级")
    private String voltageLevel;

    @ApiModelProperty(name = "lineName", value = "监测线路名称")
    @NotBlank(message = "监测线路名称不可为空")
    private String lineName;

    @ApiModelProperty(name = "lineId", value = "所属线路编号")
    @NotBlank(message = "所属线路编号不可为空")
    private String lineId;

    @ApiModelProperty(name = "pCapacity", value = "配变容量")
    @NotNull(message = "配变容量不可为空")
    private Float pCapacity;

    @ApiModelProperty(name = "regionalism", value = "地区特征")
    @NotBlank(message = "地区特征不可为空")
    private String regionalism;

    @ApiModelProperty(name = "regionalism", value = "设备地区特征")
    private String devRegionalism;

    @ApiModelProperty(name = "ifRuralPowerGrid", value = "是否农网：0-否；1：是")
    @NotNull(message = "是否农网不可为空")
    private Integer ifRuralPowerGrid;

    @ApiModelProperty(name = "natureOfUse", value = "使用性质")
    @NotBlank(message = "使用性质不可为空")
    private String natureOfUse;

    @ApiModelProperty(name = "powerSupplyRadius", value = "供电半径")
    @NotNull(message = "供电半径不可为空")
    private Float powerSupplyRadius;

    @ApiModelProperty(name = "lineLength", value = "供电线路总长度")
    @NotNull(message = "供电线路总长度不可为空")
    private Float lineLength;

    @ApiModelProperty(name = "state", value = "运行状态")
    @NotBlank(message = "运行状态不可为空")
    private String state;

    @ApiModelProperty(name = "distributedPhotovoltaicNum", value = "分布式光伏用户数")
    @NotNull(message = "分布式光伏用户数不可为空")
    private Integer distributedPhotovoltaicNum;

    @ApiModelProperty(name = "photovoltaicCapacity", value = "分布式光伏总装机容量")
    @NotNull(message = "分布式光伏总装机容量不可为空")
    private Float photovoltaicCapacity;

    @ApiModelProperty(name = "ifBevAp", value = "是否有电动汽车接入：0-否；1：是")
    @NotNull(message = "是否有电动汽车接入不可为空")
    private Integer ifBevAp;

    @ApiModelProperty(name = "apLoadType", value = "接入负荷类型")
    @NotBlank(message = "接入负荷类型不可为空")
    private String apLoadType;

    @ApiModelProperty(name = "isUpToGrid", value = "是否是上送国网监测点,0-否 1-是")
    @NotNull(message = "是否是上送国网监测点不可为空")
    private Integer isUpToGrid;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 维度
     */
    private Double latitude;

}
