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

import com.njcn.web.pojo.annotation.DateTimeStrValid;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author hany
 * @since 2022-10-27
 */
@Data
public class PmsTerminalParam {

    @ApiModelProperty(name = "id",value = "终端编号")
    //@NotNull(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 = "组织机构ID")
    @NotBlank(message = "组织机构ID不能为空")
    private String orgId;

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

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

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

    @ApiModelProperty(name = "powerStationId", value = "所属电站ID")
    @NotBlank(message = "所属电站ID不能为空")
    private String powerStationId;

    @ApiModelProperty(name = "terminalState", value = "终端状态")
    @NotBlank(message = "终端状态不能为空")
    private String terminalState;

    @ApiModelProperty(name = "terminalLevel", value = "终端级别")
    @NotBlank(message = "终端级别不能为空")
    private String terminalLevel;

    @ApiModelProperty(name = "deviceModel", value = "装置型号")
    @NotBlank(message = "装置型号不能为空")
    private String deviceModel;

    /**
     * 装置类别(字典)
     */
    @ApiModelProperty(name = "deviceCategory", value = "装置类别")
    @NotBlank(message = "装置类别不能为空")
    private String deviceCategory;

    @ApiModelProperty(name = "manufacture", value = "生产厂家")
    @NotBlank(message = "生产厂家不能为空")
    private String manufacture;

    @ApiModelProperty(name = "verificationDate", value = "检定日期")
    @NotBlank(message = "检定日期不能为空")
    @DateTimeStrValid(message = "检定日期格式有误")
    private String verificationDate;

    @ApiModelProperty(name = "useDate", value = "投用日期")
    @NotBlank(message = "投用日期不能为空")
    @DateTimeStrValid(message = "投用日期格式有误")
    private String useDate;

    @ApiModelProperty(name = "inputType", value = "测量信号输入形式")
    @NotBlank(message = "测量信号输入形式不能为空")
    private String inputType;

    @ApiModelProperty(name = "ip", value = "IP地址")
    @NotBlank(message = "IP地址不能为空")
    private String ip;

    @ApiModelProperty(name = "port", value = "通信端口")
    @NotBlank(message = "通信端口不能为空")
    private String port;

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

    @ApiModelProperty(name = "terminalCode", value = "同源装置编号")
    private String terminalCode;


}
