package com.its.op.dto.its.link;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 링크 소통상황 수집 이력 DTO Class
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("TbLinkTrafClctHsDto(링크 소통상황 수집 이력)")
public class TbLinkTrafClctHsHistDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("링크ID")  // N NUMBER(10)
    @JsonProperty("link_id")
    private Long linkId;

    @ApiModelProperty("가공 일시")  // N VARCHAR(14)
    @JsonProperty("prcn_dt")
    private String prcnDt;

    @ApiModelProperty("운영자개입 속도")  // Y NUMBER(3)
    @JsonProperty("OPER01")
    private Integer oper01;

    @ApiModelProperty("중앙센터-UTIS 속도")  // Y NUMBER(3)
    @JsonProperty("UTIS01")
    private Integer utis01;

    @ApiModelProperty("중앙센터-ITS 속도")  // Y NUMBER(3)
    @JsonProperty("UTIS02")
    private Integer utis02;

    @ApiModelProperty("영상VDS 속도")  // Y NUMBER(3)
    @JsonProperty("VDS01")
    private Integer vds01;

    @ApiModelProperty("DSRC 속도")  // Y NUMBER(3)
    @JsonProperty("DSRC01")
    private Integer dsrc01;

    @ApiModelProperty("GITS 속도")  // Y NUMBER(3)
    @JsonProperty("GITS01")
    private Integer gits01;

    @ApiModelProperty("민간정보 속도")  // Y NUMBER(3)
    @JsonProperty("MOCT01")
    private Integer moct01;

    public TbLinkTrafClctHsHistDto(BigDecimal linkId, String prcnDt, BigDecimal OPER01, BigDecimal UTIS01, BigDecimal UTIS02, BigDecimal VDS01, BigDecimal DSRC01, BigDecimal GITS01, BigDecimal MOCT01) {
        this.linkId = linkId.longValue();
        this.prcnDt = prcnDt;
        this.oper01 = OPER01.intValue();
        this.utis01 = UTIS01.intValue();
        this.utis02 = UTIS02.intValue();
        this.vds01 = VDS01.intValue();
        this.dsrc01 = DSRC01.intValue();
        this.gits01 = GITS01.intValue();
        this.moct01 = MOCT01.intValue();
    }
}
