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

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

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

    @ApiModelProperty("PHASE")  // N NUMBER(2)
    @JsonProperty("phase")
    private Integer phase;

    @ApiModelProperty("VMS 스케줄 유형(A:자동,F:고정,B:기본)")  // N VARCHAR2(5)
    @JsonProperty("vms_sch_type")
    private String vmsSchType;

    @ApiModelProperty("VMS 폼 스케쥴 유형(0:교통,1:돌발,2:공사행사,3:홍보,4:우회,5:정체,6:안전,7:동영상,8:스트리밍영상)")  // Y NUMBER(3)
    @JsonProperty("vms_sch_form_type")
    private Integer vmsSchFormType;

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

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

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

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

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

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

    @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_form_dspl_drct_desc")    // VMS_FORM_DSPL_DRCT_CD
    private Integer vmsFormDsplDrctDesc;

    @ApiModelProperty("VMS 메시지 표출 방법 코드 설명")
    @JsonProperty("vms_form_dspl_mthd_desc")    // VMS_FORM_DSPL_MTHD_CD
    private Integer vmsFormDsplMthdDesc;

    @ApiModelProperty("VMS 폼 스케쥴 유형 설명")
    @JsonProperty("vms_sch_form_type_desc")    // VMS_SCH_FORM_TYPE
    private String vmsSchFormDesc;

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

}
