package com.its.api.utis.model.dto;

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

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * RSE마스터 DTO Class
 */
@Data
@Builder
@ApiModel("RsemstDto(RSE마스터)")
public class RsemstDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("RSEID")  // N VARCHAR(16)
    @JsonProperty("rseid")
    private String rseid;

    @ApiModelProperty("설치일자")  // Y DATE(0)
    @JsonProperty("instdt")
    private LocalDateTime instdt;

    @ApiModelProperty("UTIS도시코드")  // Y NUMBER(3)
    @JsonProperty("citycd")
    private Integer citycd;

    @ApiModelProperty("권역코드")  // Y NUMBER(3)
    @JsonProperty("regioncd")
    private Integer regioncd;

    @ApiModelProperty("구역코드")  // Y NUMBER(3)
    @JsonProperty("areacd")
    private Integer areacd;

    @ApiModelProperty("IP")  // Y VARCHAR(39)
    @JsonProperty("rseip")
    private String rseip;

    @ApiModelProperty("경도")  // Y NUMBER(10)
    @JsonProperty("coordx")
    private Double coordx;

    @ApiModelProperty("위도")  // Y NUMBER(10)
    @JsonProperty("coordy")
    private Double coordy;

    @ApiModelProperty("구역반경1")  // Y NUMBER(4)
    @JsonProperty("radius1")
    private Integer radius1;

    @ApiModelProperty("구역반경2")  // Y NUMBER(4)
    @JsonProperty("radius2")
    private Integer radius2;

    @ApiModelProperty("제조사코드")  // Y VARCHAR(5)
    @JsonProperty("compcd")
    private String compcd;

    @ApiModelProperty("RSE 설치위치")  // Y VARCHAR(32)
    @JsonProperty("location")
    private String location;

    @ApiModelProperty("RSE환경정보ID")  // Y NUMBER(3)
    @JsonProperty("rseconfigid")
    private Integer rseconfigid;

    @ApiModelProperty("OBE파라미터ID")  // Y NUMBER(3)
    @JsonProperty("obeparamid")
    private Integer obeparamid;

    @ApiModelProperty("포트")  // Y NUMBER(5)
    @JsonProperty("port")
    private Integer port;

    @ApiModelProperty("브릿지RES여부(0:일반/1:브릿지)")  // Y NUMBER(1)
    @JsonProperty("bridge")
    private Integer bridge;

    @ApiModelProperty("통신여부(0:통신안함/1:통신함)")  // Y NUMBER(1)
    @JsonProperty("comyn")
    private Integer comyn;

    @ApiModelProperty("")  // Y NUMBER(1)
    @JsonProperty("commtype")
    private Integer commtype;

    @ApiModelProperty("수집시간")  // Y DATE(0)
    @JsonProperty("coll_dt")
    private String collDt;

}
