package com.its.op.dto.its.scrs;

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;

/**
 * 신호 제어기 DTO Class
 */
@Data
@Builder
@ApiModel("TbScSgnlCtlrPhaseDto(신호 제어기 현시 정보)")
public class TbScSgnlCtlrPhaseDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("신호 교차로 번호")  // N NUMBER(4)
    @JsonProperty("sgnl_ixr_nmbr")
    private Integer sgnlIxrNmbr;

    @ApiModelProperty("제어모드(0: TRC, 1: TOD, 2: MAN)")  // Y NUMBER(1)
    @JsonProperty("cntl_mode")
    private Integer cntlMode;

    @ApiModelProperty("제어상태(0: 온라인, 1: 오프라인, 2: 트랜스, 3: 통신장애)")  // Y NUMBER(1)
    @JsonProperty("cntl_stts")
    private Integer cntlStts;

    @ApiModelProperty("특수제어(0: 없음, 1: 점멸, 2: 소등, 3: 수동, 4: 감응)")  // Y NUMBER(2)
    @JsonProperty("spcl_cntl")
    private Integer spclCntl;

    @ApiModelProperty("A링 방향 코드")
    @JsonProperty("dir_a")
    private Integer dirA;

    @ApiModelProperty("A링 진입각")
    @JsonProperty("deg_ai")
    private Integer degAI;

    @ApiModelProperty("A링 진출각")
    @JsonProperty("deg_ao")
    private Integer degAO;

    @ApiModelProperty("B링 방향 코드")
    @JsonProperty("dir_b")
    private Integer dirB;

    @ApiModelProperty("B링 진입각")
    @JsonProperty("deg_bi")
    private Integer degBI;

    @ApiModelProperty("B링 진출각")
    @JsonProperty("deg_bo")
    private Integer degBO;

}
