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

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;

/**
 * VDS 검지기 15분 통계 DTO Class
 */
@Data
@Builder
@ApiModel("TbVdsDtct15mStatDto(VDS 검지기 15분 통계)")
public class TbVdsDtct15mStatDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("검지기 번호")  // N VARCHAR(8)
    @JsonProperty("dtct_nmbr")
    private String dtctNmbr;

    @ApiModelProperty("설치 차로, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
    @JsonProperty("istl_lane")
    private Integer istlLane;

    @ApiModelProperty("통계 일시")  // N VARCHAR(14)
    @JsonProperty("stat_dt")
    private String statDt;

    @ApiModelProperty("시스템 종류 구분")  // N VARCHAR(1)
    @JsonProperty("syst_kind_dvsn")
    private String systKindDvsn;

    @ApiModelProperty("교통량")  // Y NUMBER(6)
    @JsonProperty("tfvl")
    private Integer tfvl;

    @ApiModelProperty("평균 속도")  // Y NUMBER(3)
    @JsonProperty("avrg_sped")
    private Integer avrgSped;

    @ApiModelProperty("평균 점유 율")  // Y NUMBER(6,2)
    @JsonProperty("avrg_ocpy_rate")
    private Double avrgOcpyRate;

    @ApiModelProperty("평균 차두시간")  // Y VARCHAR(6)
    @JsonProperty("avrg_hdwy")
    private String avrgHdwy;

    @ApiModelProperty("평균 길이")  // Y NUMBER(5,1)
    @JsonProperty("avrg_lngt")
    private Double avrgLngt;

    // Code Description Field
    @ApiModelProperty("VDS 검지기명")
    @JsonProperty("vds_dtct_nm")
    private String vdsDtctNm;

}
