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

import com.fasterxml.jackson.annotation.JsonIgnore;
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("TbVmsDsplHsDto(VMS 표출 이력)")
public class TbVmsDsplHsDto implements Serializable {
    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty("표출 일시")  // N VARCHAR(14)
    @JsonProperty("dspl_dt")
    private String dsplDt;

    @ApiModelProperty("표출 PHASE 순서")  // N NUMBER(2)
    @JsonProperty("dspl_phase_seq")
    private Integer dsplPhaseNum;

    //@ApiModelProperty("VMS 표출 메시지 데이터")  // Y VARCHAR(1200)
    //@JsonProperty("vms_dspl_msg_data")
    @JsonIgnore
    private String vmsDsplMsgData;

    @ApiModelProperty("VMS 표출 메시지 텍스트")  // Y VARCHAR(400)
    @JsonProperty("vms_dspl_msg_txt")
    private String vmsDsplMsgTxt;

    //@ApiModelProperty("VMS 메시지 표출 방향 코드")  // Y NUMBER(3)
    //@JsonProperty("vms_msg_dspl_drct_cd")
    @JsonIgnore
    private Integer vmsMsgDsplDrctCd;

    //@ApiModelProperty("VMS 메시지 표출 방법 코드")  // Y NUMBER(3)
    //@JsonProperty("vms_msg_dspl_mthd_cd")
    @JsonIgnore
    private Integer vmsMsgDsplMthdCd;

    @ApiModelProperty("표출 시간")  // Y NUMBER(3)
    @JsonProperty("dspl_hh")
    private Integer dsplHh;

    //@ApiModelProperty("심벌라이브러리 번호")  // Y NUMBER(4)
    //@JsonProperty("symblib_nmbr")
    @JsonIgnore
    private Integer symblibNmbr;

    //@ApiModelProperty("VMS FORM 유형 코드")  // Y NUMBER(3)
    //@JsonProperty("vms_form_type_cd")
    @JsonIgnore
    private Integer vmsFormTypeCd;

    //@ApiModelProperty("교통 상황 유형 코드")  // Y VARCHAR(7)
    //@JsonProperty("trfc_situ_type_cd")
    @JsonIgnore
    private String trfcSituTypeCd;

    //@ApiModelProperty("VMS FORM ID")  // Y NUMBER(5)
    //@JsonProperty("vms_form_id")
    @JsonIgnore
    private Integer vmsFormId;

    //@ApiModelProperty("VMS 정보제공구간 ID")  // Y NUMBER(10)
    //@JsonProperty("vms_ifsc_id")
    @JsonIgnore
    private Long vmsIfscId;

    //@ApiModelProperty("돌발상황 발생 ID")  // Y VARCHAR(12)
    //@JsonProperty("incd_ocrr_id")
    @JsonIgnore
    private String incdOcrrId;

    //@ApiModelProperty("우회도로 ID")  // Y NUMBER(10)
    //@JsonProperty("detr_id")
    @JsonIgnore
    private Long detrId;

    @ApiModelProperty("제어기다운로드 여부(Y:성공,N:실패)")  // Y CHAR(1)
    @JsonProperty("dnld_yn")
    private String dnldYn;

    // 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("VMS 메시지 표출 방향 코드 설명")
    //@JsonProperty("vms_msg_dspl_drct_desc")    // VMS_MSG_DSPL_DRCT_CD
    @JsonIgnore
    private Integer vmsMsgDsplDrctDesc;

    //@ApiModelProperty("VMS 메시지 표출 방법 코드 설명")
    //@JsonProperty("vms_msg_dspl_mthd_desc")    // VMS_MSG_DSPL_MTHD_CD
    @JsonIgnore
    private Integer vmsMsgDsplMthdDesc;

    //@ApiModelProperty("VMS FORM 유형 코드 설명")
    //@JsonProperty("vms_form_type_desc")    // VMS_FORM_TYPE_CD
    @JsonIgnore
    private Integer vmsFormTypeDesc;

    @ApiModelProperty("폼 유형")
    @JsonProperty("trfc_situ_type_desc")    // TRFC_SITU_TYPE_CD
    private String trfcSituTypeDesc;

    @ApiModelProperty("제어기다운로드 여부(Y:성공,N:실패) 설명")
    @JsonProperty("dnld_desc")    // DNLD_YN
    private String dnldDesc;

}
