package com.its.op.dto.its.vms;

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;

/**
 * VMS 제어기 상태 이력 DTO Class
 */
@Data
@Builder
@ApiModel("TbVmsCtlrSttsHsDto(VMS 제어기 상태 이력)")
public class TbVmsCtlrSttsHsDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("생성 일시")  // N VARCHAR2(14)
    @JsonProperty("crtn_dt")
    private String crtnDt;

    @ApiModelProperty("VMS 제어기 번호")  // N NUMBER(10)
    @JsonProperty("vms_ctlr_nmbr")
    private Long vmsCtlrNmbr;

    @ApiModelProperty("통신 상태 코드('CMS')")  // Y VARCHAR2(7)
    @JsonProperty("cmnc_stts_cd")
    private String cmncSttsCd;

    @ApiModelProperty("전원 상태 코드('PWS')-사용안함")  // Y VARCHAR2(7)
    @JsonProperty("pwer_stts_cd")
    private String pwerSttsCd;

    @ApiModelProperty("모듈(LED) 상태 코드('MOS')")  // Y VARCHAR2(7)
    @JsonProperty("modl_stts_cd")
    private String modlSttsCd;

    @ApiModelProperty("함체 문 상태 코드('CDS')-앞문/뒷문상태가 모두닫힌경우 닫힘")  // Y VARCHAR2(7)
    @JsonProperty("cbox_door_stts_cd")
    private String cboxDoorSttsCd;

    @ApiModelProperty("팬 상태 코드('PAS')")  // Y VARCHAR2(7)
    @JsonProperty("fan_stts_cd")
    private String fanSttsCd;

    @ApiModelProperty("히터 상태 코드('HTS')")  // Y VARCHAR2(7)
    @JsonProperty("hetr_stts_cd")
    private String hetrSttsCd;

    @ApiModelProperty("함체 온도")  // Y NUMBER(5)
    @JsonProperty("cbox_tmpr")
    private Integer cboxTmpr;

    @ApiModelProperty("휘도값")  // Y NUMBER(3)
    @JsonProperty("brgh_val")
    private Integer brghVal;

    @ApiModelProperty("통신 상태 코드('CMS')")  // Y VARCHAR2(7)
    @JsonProperty("comm_stts_cd")
    private String commSttsCd;

    @ApiModelProperty("모듈상태-사용안함")  // Y VARCHAR2(200)
    @JsonProperty("modl_stts")
    private String modlStts;

    @ApiModelProperty("모듈전원상태-사용안함")  // Y VARCHAR2(200)
    @JsonProperty("pwer_stts")
    private String pwerStts;

    // Code Description Field
    @ApiModelProperty("VMS 제어기 ID")  // Y VARCHAR(30)
    @JsonProperty("vms_ctlr_id")
    private String vmsCtlrId;

    @ApiModelProperty("VMS 명")  // Y VARCHAR(40)
    @JsonProperty("vms_nm")
    private String vmsNm;

    @ApiModelProperty("통신 상태 코드('CMS') 설명")
    @JsonProperty("cmnc_stts_desc")    // CMNC_STTS_CD
    private String cmncSttsDesc;

    @ApiModelProperty("전원 상태 코드('PWS')-사용안함 설명")
    @JsonProperty("pwer_stts_desc")    // PWER_STTS_CD
    private String pwerSttsDesc;

    @ApiModelProperty("모듈(LED) 상태 코드('MOS') 설명")
    @JsonProperty("modl_stts_desc")    // MODL_STTS_CD
    private String modlSttsDesc;

    @ApiModelProperty("함체 문 상태 코드('CDS')-앞문/뒷문상태가 모두닫힌경우 닫힘 설명")
    @JsonProperty("cbox_door_stts_desc")    // CBOX_DOOR_STTS_CD
    private String cboxDoorSttsDesc;

    @ApiModelProperty("팬 상태 코드('PAS') 설명")
    @JsonProperty("fan_stts_desc")    // FAN_STTS_CD
    private String fanSttsDesc;

    @ApiModelProperty("히터 상태 코드('HTS') 설명")
    @JsonProperty("hetr_stts_desc")    // HETR_STTS_CD
    private String hetrSttsDesc;

}
