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

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * pms-device
 *
 * @author cdf
 * @date 2022/10/27
 */
@Data
public class PowerClientParam {

    /**
     * 用户编号
     */
    @ApiModelProperty(value = "用户编号",required = true)
    @NotBlank(message = "用户编号不可为空")
    private String id;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称",required = true)
    @NotBlank(message = "用户名称不可为空")
    private String name;


    /**
     * 组织机构ID(外键)
     */
    @ApiModelProperty(value = " 组织机构ID(外键)",required = true)
    @NotBlank(message = "组织机构ID不可为空")
    private String orgId;

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


    /**
     * 运维单位ID(外键)
     */
    @ApiModelProperty(value = "运维单位ID(外键)",required = true)
    @NotBlank(message = "运维单位ID不可为空")
    private String operationId;

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

    /**
     * 用户分类(字典)
     */
    @ApiModelProperty(value = "用户分类(字典)",required = true)
    @NotBlank(message = "用户分类不可为空")
    private String userType;

    /**
     * 行业分类(字典)
     */
    @ApiModelProperty(value = "行业分类(字典)",required = true)
    @NotBlank(message = "行业分类不可为空")
    private String industryType;

    /**
     * 用电类别(字典)
     */
    @ApiModelProperty(value = "用电类别(字典)",required = true)
    @NotBlank(message = "用电类别不可为空")
    private String electricityType;

    /**
     * 合同容量
     */
    @ApiModelProperty(value = "合同容量",required = true)
    //@NotNull(message = "合同容量不可为空")
    private Float contractCapacity;

    /**
     * 运行容量
     */
    @ApiModelProperty(value = "运行容量",required = true)
    //@NotNull(message = "运行容量不可为空")
    private Float operatingCapacity;

    /**
     * 生产班次(字典)
     */
    @ApiModelProperty(value = "生产班次(字典)",required = true)
    //@NotBlank(message = "生产班次不可为空")
    private String productionShift;

    /**
     * 负荷性质(字典)
     */
    @ApiModelProperty(value = "负荷性质(字典)",required = true)
    //@NotBlank(message = "负荷性质不可为空")
    private String loadNature;

    /**
     * 供电电压(字典)
     */
    @ApiModelProperty(value = "供电电压(字典)",required = true)
    //@NotBlank(message = "供电电压不可为空")
    private String voltageLevel;

    /**
     * 高耗能行业类别(字典)
     */
    @ApiModelProperty(value = "高耗能行业类别(字典)",required = true)
    //@NotBlank(message = "高耗能行业类别不可为空")
    private String highIndustryType;

    /**
     * 送电日期
     */
    @ApiModelProperty(value = "送电日期",required = true)
    //@NotNull(message = "送电日期不可为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate powerTransmissionDate;

    /**
     * 重要性等级(字典)
     */
    @ApiModelProperty(value = "重要性等级",required = true)
    //@NotBlank(message = "重要性等级不可为空")
    private String importanceLevel;

    /**
     * 用电客户状态(字典)
     */
    @ApiModelProperty(value = "用电客户状态",required = true)
    //@NotBlank(message = "用电客户状态不可为空")
    private String eccStat;

    /**
     * 是否敏感用户：0-否；1：是；
     */
    @ApiModelProperty(value = "是否敏感用户",required = true)
    //@NotNull(message = "用户编号不可为空")
    private Integer ifSensitiveUser;

    /**
     * 是否影响电能质量：0-否；1：是；
     */
    @ApiModelProperty(value = "是否影响电能质量：0-否；1：是；",required = true)
    //@NotNull(message = "是否影响电能质量不可为空")
    private Integer ifPowerQuality;

    /**
     * 是否重要客户：0-否；1：是；
     */
    @ApiModelProperty(value = "是否重要客户：0-否；1：是；",required = true)
    //@NotNull(message = "是否重要客户不可为空")
    private Integer ifKeyCustomers;

    /**
     * 敏感用户类别(字典)
     */
    @ApiModelProperty(value = "敏感用户类别",required = true)
    //@NotBlank(message = "敏感用户类别不可为空")
    private String sensitiveType;

    /**
     * 供电变电站(外键)
     */
    @ApiModelProperty(value = "供电变电站",required = true)
    @NotBlank(message = "供电变电站不可为空")
    private String powerStationId;

    /**
     * 供电线路(外键)
     */
    @ApiModelProperty(value = "供电线路",required = true)
    @NotBlank(message = "供电线路不可为空")
    private String lineId;

    /**
     * 供电台区(外键)
     */
    @ApiModelProperty(value = "供电台区",required = true)
    @NotBlank(message = "供电台区不可为空")
    private String platformId;

    /**
     * 用户标签
     */
    @ApiModelProperty(value = "用户标签",required = true)
    private String userTag;

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


}
