package com.its.op.dto.its.common;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;

/**
 * VMS 모니터링 화면 DTO Class
 */
@Data
@NoArgsConstructor
@ApiModel("MonitoringInfoDto(모니터링 화면 정보)")
public class MonitoringInfoDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("모니터링순서, Nullable = N, NUMBER(3)")  // N NUMBER(3)
    @JsonProperty("monitoring_seq")
    @Positive
    private Integer monitoringSeq;

    @ApiModelProperty("제어기번호, Nullable = N, NUMBER(10)")  // N NUMBER(10)
    @JsonProperty("ctlr_nmbr")
    @Positive
    private Long ctlrNmbr;

    @ApiModelProperty("화면에 보여지는 방식(0:기본,1:화면맞춤)), Nullable = Y, NUMBER(1)")  // Y NUMBER(1)
    @JsonProperty("view_mode")
    @PositiveOrZero
    //@JsonIgnore
    private Integer viewMode = 0;

    @Builder
    public MonitoringInfoDto(Integer monitoring_seq, Long ctlr_nmbr, Integer view_mode) {
        this.monitoringSeq = monitoring_seq;
        this.ctlrNmbr = ctlr_nmbr;
        this.viewMode = view_mode;
    }

}
