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 FORM OBJECT DTO Class
 */
@Data
@Builder
@ApiModel("TbVmsFormObjectDetlDto(VMS FORM OBJECT)")
public class TbVmsFormObjectDetlDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("FORM OBJECT ID")  // N NUMBER(5)
    @JsonProperty("form_object_id")
    private Integer formObjectId;

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

    @ApiModelProperty("VMS FORM 표출 행")  // Y NUMBER(2)
    @JsonProperty("vms_form_dspl_row")
    private Integer vmsFormDsplRow;

    @ApiModelProperty("VMS FORM 표출 칼럼")  // Y NUMBER(2)
    @JsonProperty("vms_form_dspl_clmn")
    private Integer vmsFormDsplClmn;

    @ApiModelProperty("VMS FORM OBJECT 유형 코드")  // N NUMBER(3)
    @JsonProperty("vms_form_object_type_cd")
    private Integer vmsFormObjectTypeCd;

    @ApiModelProperty("VMS 글꼴 유형 코드")  // N NUMBER(3)
    @JsonProperty("vms_font_name_cd")
    private Integer vmsFontNameCd;

    @ApiModelProperty("VMS 글꼴 색상 코드")  // N NUMBER(9)
    @JsonProperty("vms_font_colr_cd")
    private Integer vmsFontColrCd;

    @ApiModelProperty("VMS 글꼴 방식 코드")  // Y NUMBER(3)
    @JsonProperty("vms_font_bold")
    private Integer vmsFontBold;

    @ApiModelProperty("VMS 글꼴 크기")  // Y NUMBER(3)
    @JsonProperty("vms_font_size")
    private Integer vmsFontSize;

    @ApiModelProperty("VMS 표출 문자열정열방식(0:LEFT,1:RIGHT,2:CENTER)")  // Y NUMBER(1)
    @JsonProperty("vms_font_align")
    private Integer vmsFontAlign;

    @ApiModelProperty("VMS 표출 텍스트")  // Y VARCHAR(200)
    @JsonProperty("vms_dspl_txt")
    private String vmsDsplTxt;

    @ApiModelProperty("VMS 표출 도형")  // Y BLOB
    @JsonProperty("vms_dspl_figr")
    private byte[] vmsDsplFigr;

    @ApiModelProperty("VMS 표출 X좌표")  // Y NUMBER(5)
    @JsonProperty("vms_dspl_xcrdn")
    private Integer vmsDsplXcrdn;

    @ApiModelProperty("VMS 표출 Y좌표")  // Y NUMBER(5)
    @JsonProperty("vms_dspl_ycrdn")
    private Integer vmsDsplYcrdn;

    @ApiModelProperty("VMS 표출 넓이")  // Y NUMBER(5)
    @JsonProperty("vms_dspl_width")
    private Integer vmsDsplWidth;

    @ApiModelProperty("VMS 표출 높이")  // Y NUMBER(5)
    @JsonProperty("vms_dspl_height")
    private Integer vmsDsplHeight;

    @ApiModelProperty("VMS 표출 점멸 여부(0:지속, 1:점멸)")  // Y NUMBER(1)
    @JsonProperty("vms_dspl_blinking")
    private Integer vmsDsplBlinking;

    @ApiModelProperty("VMS 표출 배경색상코드")  // Y NUMBER(1)
    @JsonProperty("vms_dspl_bkcolor")
    private Integer vmsDsplBkcolor;

    @ApiModelProperty("VMS 표출 크기(문자:문자길이,이미지:이미지전체크기)")  // Y NUMBER(7)
    @JsonProperty("vms_dspl_size")
    private Integer vmsDsplSize;

    @ApiModelProperty("FILL-IN 메시지 여부")  // Y CHAR(1)
    @JsonProperty("trfc_fill_cd")
    private String trfcFillCd;

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

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

    // Code Description Field
    @ApiModelProperty("VMS FORM OBJECT 유형 코드 설명")
    @JsonProperty("vms_form_object_type_desc")    // VMS_FORM_OBJECT_TYPE_CD
    private Integer vmsFormObjectTypeDesc;

    @ApiModelProperty("VMS 글꼴 유형 코드 설명")
    @JsonProperty("vms_font_type_desc")    // VMS_FONT_TYPE_CD
    private Integer vmsFontTypeDesc;

    @ApiModelProperty("VMS 글꼴 색상 코드 설명")
    @JsonProperty("vms_font_hue_desc")    // VMS_FONT_HUE_CD
    private Integer vmsFontHueDesc;

    @ApiModelProperty("VMS 글꼴 방식 코드 설명")
    @JsonProperty("vms_font_styl_desc")    // VMS_FONT_STYL_CD
    private Integer vmsFontStylDesc;

    @ApiModelProperty("FILL-IN 메시지 여부 설명")
    @JsonProperty("trfc_fill_desc")    // TRFC_FILL_CD
    private String trfcFillDesc;

    @ApiModelProperty("VMS 글꼴 형태 명")  // Y VARCHAR(60)
    @JsonProperty("vms_font_name")
    private String vmsFontName;

    @ApiModelProperty("이미지 데이터")  // Y BLOB
    @JsonProperty("imag_data")
    private byte[] imagData;

    @ApiModelProperty("심벌 설명")  // Y VARCHAR(200)
    @JsonProperty("symb_expl")
    private String symbExpl;

    @ApiModelProperty("VMS 유형 코드")  // Y VARCHAR(7)
    @JsonProperty("vms_type_cd")
    private String vmsTypeCd;

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

    @ApiModelProperty("VMS 폼 배경 색상 코드")  // N NUMBER(3)
    @JsonProperty("vms_form_colr_cd")
    private Integer vmsFormColrCd;

    @ApiModelProperty("VMS FORM 명")  // Y VARCHAR(60)
    @JsonProperty("vms_form_nm")
    private String vmsFormNm;

}
