package com.its.api.its.model.entity.vms;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * VMS 상태 현재 Entity Class
 */
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Builder
@AllArgsConstructor
@ApiModel("VMS 상태 현재")
@Entity
@Table(name = "TB_VMS_STTS_PRST")
public class TbVmsStts implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("VMS 제어기 번호")  // N NUMBER(10)
    @Id
    @Column(name = "VMS_CTLR_NMBR", nullable = false, columnDefinition = "NUMBER", length = 10)
    private Long vmsCtlrNmbr;

    @ApiModelProperty("등록 일시")  // Y VARCHAR(14)
    @Column(name = "RGST_DT", length = 14)
    private String rgstDt;

    @ApiModelProperty("연결 상태 코드")  // Y VARCHAR(7)
    @Column(name = "CONN_STTS_CD", length = 7)
    private String connSttsCd;

    @ApiModelProperty("전원 상태 코드")  // Y VARCHAR(7)
    @Column(name = "PWER_STTS_CD", length = 7)
    private String pwerSttsCd;

    @ApiModelProperty("팬 상태 코드")  // Y VARCHAR(7)
    @Column(name = "FAN_STTS_CD", length = 7)
    private String fanSttsCd;

    @ApiModelProperty("히터 상태 코드")  // Y VARCHAR(7)
    @Column(name = "HETR_STTS_CD", length = 7)
    private String hetrSttsCd;

    @ApiModelProperty("함체문 열림 상태 코드")  // Y VARCHAR(7)
    @Column(name = "CBOXDOOR_OPEN_STTS_CD", length = 7)
    private String cboxdoorOpenSttsCd;

    @ApiModelProperty("함체팬 상태 코드")  // Y VARCHAR(7)
    @Column(name = "CBOXFAN_STTS_CD", length = 7)
    private String cboxfanSttsCd;

    @ApiModelProperty("함체히터 상태 코드")  // Y VARCHAR(7)
    @Column(name = "CBOXHETR_STTS_CD", length = 7)
    private String cboxhetrSttsCd;

    @ApiModelProperty("함체 온도")  // Y NUMBER(3)
    @Column(name = "CBOX_TMPR", columnDefinition = "NUMBER", length = 3)
    private Integer cboxTmpr;

    @ApiModelProperty("함체 습도")  // Y NUMBER(3)
    @Column(name = "CBOX_HMDT", columnDefinition = "NUMBER", length = 3)
    private Integer cboxHmdt;

    @ApiModelProperty("VMS 온도")  // Y NUMBER(3)
    @Column(name = "VMS_TMPR", columnDefinition = "NUMBER", length = 3)
    private Integer vmsTmpr;

    @ApiModelProperty("모듈개별상태(가로->세로순서0:정상,1:오류)")  // Y VARCHAR(200)
    @Column(name = "MODL_STTS", length = 200)
    private String modlStts;

    @ApiModelProperty("모듈전원개별상태(0:켜짐,1:꺼짐)")  // Y VARCHAR(10)
    @Column(name = "PWER_STTS", length = 10)
    private String pwerStts;

}
