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

import com.fasterxml.jackson.annotation.JsonProperty;
import com.its.op.entity.its.scrs.TbScIxrPhas;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;

/**
 * 교차로 현시 DTO Class
 */
@Data
@Builder
@ApiModel("TbScIxrPhasDto(교차로 현시)")
public class TbScIxrPhasDto implements Serializable {
    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty("교차로 운영 모드(0: 일반, 1: 시)")  // N NUMBER(2)
    @JsonProperty("ixr_oper_mode")
    private Integer ixrOperMode;

    @ApiModelProperty("A링 1현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_1phas_crfl_nmbr")
    private Integer aring1phasCrflNmbr;

    @ApiModelProperty("A링 2현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_2phas_crfl_nmbr")
    private Integer aring2phasCrflNmbr;

    @ApiModelProperty("A링 3현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_3phas_crfl_nmbr")
    private Integer aring3phasCrflNmbr;

    @ApiModelProperty("A링 4현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_4phas_crfl_nmbr")
    private Integer aring4phasCrflNmbr;

    @ApiModelProperty("A링 5현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_5phas_crfl_nmbr")
    private Integer aring5phasCrflNmbr;

    @ApiModelProperty("A링 6현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_6phas_crfl_nmbr")
    private Integer aring6phasCrflNmbr;

    @ApiModelProperty("A링 7현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_7phas_crfl_nmbr")
    private Integer aring7phasCrflNmbr;

    @ApiModelProperty("A링 8현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("aring_8phas_crfl_nmbr")
    private Integer aring8phasCrflNmbr;

    @ApiModelProperty("B링 1현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_1phas_crfl_nmbr")
    private Integer bring1phasCrflNmbr;

    @ApiModelProperty("B링 2현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_2phas_crfl_nmbr")
    private Integer bring2phasCrflNmbr;

    @ApiModelProperty("B링 3현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_3phas_crfl_nmbr")
    private Integer bring3phasCrflNmbr;

    @ApiModelProperty("B링 4현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_4phas_crfl_nmbr")
    private Integer bring4phasCrflNmbr;

    @ApiModelProperty("B링 5현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_5phas_crfl_nmbr")
    private Integer bring5phasCrflNmbr;

    @ApiModelProperty("B링 6현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_6phas_crfl_nmbr")
    private Integer bring6phasCrflNmbr;

    @ApiModelProperty("B링 7현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_7phas_crfl_nmbr")
    private Integer bring7phasCrflNmbr;

    @ApiModelProperty("B링 8현시 이동류 번호")  // Y NUMBER(2)
    @JsonProperty("bring_8phas_crfl_nmbr")
    private Integer bring8phasCrflNmbr;

    @ApiModelProperty("A링 1현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_1phas_min_gren_hh")
    private Integer aring1phasMinGrenHh;

    @ApiModelProperty("A링 2현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_2phas_min_gren_hh")
    private Integer aring2phasMinGrenHh;

    @ApiModelProperty("A링 3현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_3phas_min_gren_hh")
    private Integer aring3phasMinGrenHh;

    @ApiModelProperty("A링 4현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_4phas_min_gren_hh")
    private Integer aring4phasMinGrenHh;

    @ApiModelProperty("A링 5현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_5phas_min_gren_hh")
    private Integer aring5phasMinGrenHh;

    @ApiModelProperty("A링 6현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_6phas_min_gren_hh")
    private Integer aring6phasMinGrenHh;

    @ApiModelProperty("A링 7현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_7phas_min_gren_hh")
    private Integer aring7phasMinGrenHh;

    @ApiModelProperty("A링 8현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_8phas_min_gren_hh")
    private Integer aring8phasMinGrenHh;

    @ApiModelProperty("B링 1현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_1phas_min_gren_hh")
    private Integer bring1phasMinGrenHh;

    @ApiModelProperty("B링 2현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_2phas_min_gren_hh")
    private Integer bring2phasMinGrenHh;

    @ApiModelProperty("B링 3현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_3phas_min_gren_hh")
    private Integer bring3phasMinGrenHh;

    @ApiModelProperty("B링 4현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_4phas_min_gren_hh")
    private Integer bring4phasMinGrenHh;

    @ApiModelProperty("B링 5현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_5phas_min_gren_hh")
    private Integer bring5phasMinGrenHh;

    @ApiModelProperty("B링 6현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_6phas_min_gren_hh")
    private Integer bring6phasMinGrenHh;

    @ApiModelProperty("B링 7현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_7phas_min_gren_hh")
    private Integer bring7phasMinGrenHh;

    @ApiModelProperty("B링 8현시 최소 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_8phas_min_gren_hh")
    private Integer bring8phasMinGrenHh;

    @ApiModelProperty("A링 1현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_1phas_max_gren_hh")
    private Integer aring1phasMaxGrenHh;

    @ApiModelProperty("A링 2현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_2phas_max_gren_hh")
    private Integer aring2phasMaxGrenHh;

    @ApiModelProperty("A링 3현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_3phas_max_gren_hh")
    private Integer aring3phasMaxGrenHh;

    @ApiModelProperty("A링 4현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_4phas_max_gren_hh")
    private Integer aring4phasMaxGrenHh;

    @ApiModelProperty("A링 5현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_5phas_max_gren_hh")
    private Integer aring5phasMaxGrenHh;

    @ApiModelProperty("A링 6현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_6phas_max_gren_hh")
    private Integer aring6phasMaxGrenHh;

    @ApiModelProperty("A링 7현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_7phas_max_gren_hh")
    private Integer aring7phasMaxGrenHh;

    @ApiModelProperty("A링 8현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("aring_8phas_max_gren_hh")
    private Integer aring8phasMaxGrenHh;

    @ApiModelProperty("B링 1현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_1phas_max_gren_hh")
    private Integer bring1phasMaxGrenHh;

    @ApiModelProperty("B링 2현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_2phas_max_gren_hh")
    private Integer bring2phasMaxGrenHh;

    @ApiModelProperty("B링 3현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_3phas_max_gren_hh")
    private Integer bring3phasMaxGrenHh;

    @ApiModelProperty("B링 4현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_4phas_max_gren_hh")
    private Integer bring4phasMaxGrenHh;

    @ApiModelProperty("B링 5현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_5phas_max_gren_hh")
    private Integer bring5phasMaxGrenHh;

    @ApiModelProperty("B링 6현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_6phas_max_gren_hh")
    private Integer bring6phasMaxGrenHh;

    @ApiModelProperty("B링 7현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_7phas_max_gren_hh")
    private Integer bring7phasMaxGrenHh;

    @ApiModelProperty("B링 8현시 최대 녹색 시간")  // Y NUMBER(3)
    @JsonProperty("bring_8phas_max_gren_hh")
    private Integer bring8phasMaxGrenHh;

    @ApiModelProperty("A링 1현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_1phas_yelw_hh")
    private Integer aring1phasYelwHh;

    @ApiModelProperty("A링 2현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_2phas_yelw_hh")
    private Integer aring2phasYelwHh;

    @ApiModelProperty("A링 3현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_3phas_yelw_hh")
    private Integer aring3phasYelwHh;

    @ApiModelProperty("A링 4현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_4phas_yelw_hh")
    private Integer aring4phasYelwHh;

    @ApiModelProperty("A링 5현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_5phas_yelw_hh")
    private Integer aring5phasYelwHh;

    @ApiModelProperty("A링 6현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_6phas_yelw_hh")
    private Integer aring6phasYelwHh;

    @ApiModelProperty("A링 7현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_7phas_yelw_hh")
    private Integer aring7phasYelwHh;

    @ApiModelProperty("A링 8현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("aring_8phas_yelw_hh")
    private Integer aring8phasYelwHh;

    @ApiModelProperty("B링 1현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_1phas_yelw_hh")
    private Integer bring1phasYelwHh;

    @ApiModelProperty("B링 2현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_2phas_yelw_hh")
    private Integer bring2phasYelwHh;

    @ApiModelProperty("B링 3현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_3phas_yelw_hh")
    private Integer bring3phasYelwHh;

    @ApiModelProperty("B링 4현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_4phas_yelw_hh")
    private Integer bring4phasYelwHh;

    @ApiModelProperty("B링 5현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_5phas_yelw_hh")
    private Integer bring5phasYelwHh;

    @ApiModelProperty("B링 6현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_6phas_yelw_hh")
    private Integer bring6phasYelwHh;

    @ApiModelProperty("B링 7현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_7phas_yelw_hh")
    private Integer bring7phasYelwHh;

    @ApiModelProperty("B링 8현시 황색 시간")  // Y NUMBER(2)
    @JsonProperty("bring_8phas_yelw_hh")
    private Integer bring8phasYelwHh;

    // Code Description Field
    @ApiModel("TbScIxrPhasUpdReq(교차로 현시 정보변경)")
    @Getter
    @Setter
    @ToString
    @NoArgsConstructor//(access = AccessLevel.PROTECTED)
    public static class TbScIxrPhasUpdReq {

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

        @ApiModelProperty("교차로 운영 모드(0: 일반, 1: 시), Nullable = N, NUMBER(2)")  // N NUMBER(2)
        @JsonProperty("ixr_oper_mode")
        @PositiveOrZero
        private Integer ixrOperMode;

        @ApiModelProperty("A링 1현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_1phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring1phasCrflNmbr;

        @ApiModelProperty("A링 2현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_2phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring2phasCrflNmbr;

        @ApiModelProperty("A링 3현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_3phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring3phasCrflNmbr;

        @ApiModelProperty("A링 4현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_4phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring4phasCrflNmbr;

        @ApiModelProperty("A링 5현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_5phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring5phasCrflNmbr;

        @ApiModelProperty("A링 6현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_6phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring6phasCrflNmbr;

        @ApiModelProperty("A링 7현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_7phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring7phasCrflNmbr;

        @ApiModelProperty("A링 8현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_8phas_crfl_nmbr")
        @PositiveOrZero
        private Integer aring8phasCrflNmbr;

        @ApiModelProperty("B링 1현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_1phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring1phasCrflNmbr;

        @ApiModelProperty("B링 2현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_2phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring2phasCrflNmbr;

        @ApiModelProperty("B링 3현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_3phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring3phasCrflNmbr;

        @ApiModelProperty("B링 4현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_4phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring4phasCrflNmbr;

        @ApiModelProperty("B링 5현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_5phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring5phasCrflNmbr;

        @ApiModelProperty("B링 6현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_6phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring6phasCrflNmbr;

        @ApiModelProperty("B링 7현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_7phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring7phasCrflNmbr;

        @ApiModelProperty("B링 8현시 이동류 번호, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_8phas_crfl_nmbr")
        @PositiveOrZero
        private Integer bring8phasCrflNmbr;

        @ApiModelProperty("A링 1현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_1phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring1phasMinGrenHh;

        @ApiModelProperty("A링 2현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_2phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring2phasMinGrenHh;

        @ApiModelProperty("A링 3현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_3phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring3phasMinGrenHh;

        @ApiModelProperty("A링 4현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_4phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring4phasMinGrenHh;

        @ApiModelProperty("A링 5현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_5phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring5phasMinGrenHh;

        @ApiModelProperty("A링 6현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_6phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring6phasMinGrenHh;

        @ApiModelProperty("A링 7현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_7phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring7phasMinGrenHh;

        @ApiModelProperty("A링 8현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_8phas_min_gren_hh")
        @PositiveOrZero
        private Integer aring8phasMinGrenHh;

        @ApiModelProperty("B링 1현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_1phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring1phasMinGrenHh;

        @ApiModelProperty("B링 2현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_2phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring2phasMinGrenHh;

        @ApiModelProperty("B링 3현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_3phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring3phasMinGrenHh;

        @ApiModelProperty("B링 4현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_4phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring4phasMinGrenHh;

        @ApiModelProperty("B링 5현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_5phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring5phasMinGrenHh;

        @ApiModelProperty("B링 6현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_6phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring6phasMinGrenHh;

        @ApiModelProperty("B링 7현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_7phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring7phasMinGrenHh;

        @ApiModelProperty("B링 8현시 최소 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_8phas_min_gren_hh")
        @PositiveOrZero
        private Integer bring8phasMinGrenHh;

        @ApiModelProperty("A링 1현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_1phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring1phasMaxGrenHh;

        @ApiModelProperty("A링 2현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_2phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring2phasMaxGrenHh;

        @ApiModelProperty("A링 3현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_3phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring3phasMaxGrenHh;

        @ApiModelProperty("A링 4현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_4phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring4phasMaxGrenHh;

        @ApiModelProperty("A링 5현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_5phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring5phasMaxGrenHh;

        @ApiModelProperty("A링 6현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_6phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring6phasMaxGrenHh;

        @ApiModelProperty("A링 7현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_7phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring7phasMaxGrenHh;

        @ApiModelProperty("A링 8현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("aring_8phas_max_gren_hh")
        @PositiveOrZero
        private Integer aring8phasMaxGrenHh;

        @ApiModelProperty("B링 1현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_1phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring1phasMaxGrenHh;

        @ApiModelProperty("B링 2현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_2phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring2phasMaxGrenHh;

        @ApiModelProperty("B링 3현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_3phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring3phasMaxGrenHh;

        @ApiModelProperty("B링 4현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_4phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring4phasMaxGrenHh;

        @ApiModelProperty("B링 5현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_5phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring5phasMaxGrenHh;

        @ApiModelProperty("B링 6현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_6phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring6phasMaxGrenHh;

        @ApiModelProperty("B링 7현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_7phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring7phasMaxGrenHh;

        @ApiModelProperty("B링 8현시 최대 녹색 시간, Nullable = Y, NUMBER(3)")  // Y NUMBER(3)
        @JsonProperty("bring_8phas_max_gren_hh")
        @PositiveOrZero
        private Integer bring8phasMaxGrenHh;

        @ApiModelProperty("A링 1현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_1phas_yelw_hh")
        @PositiveOrZero
        private Integer aring1phasYelwHh;

        @ApiModelProperty("A링 2현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_2phas_yelw_hh")
        @PositiveOrZero
        private Integer aring2phasYelwHh;

        @ApiModelProperty("A링 3현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_3phas_yelw_hh")
        @PositiveOrZero
        private Integer aring3phasYelwHh;

        @ApiModelProperty("A링 4현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_4phas_yelw_hh")
        @PositiveOrZero
        private Integer aring4phasYelwHh;

        @ApiModelProperty("A링 5현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_5phas_yelw_hh")
        @PositiveOrZero
        private Integer aring5phasYelwHh;

        @ApiModelProperty("A링 6현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_6phas_yelw_hh")
        @PositiveOrZero
        private Integer aring6phasYelwHh;

        @ApiModelProperty("A링 7현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_7phas_yelw_hh")
        @PositiveOrZero
        private Integer aring7phasYelwHh;

        @ApiModelProperty("A링 8현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("aring_8phas_yelw_hh")
        @PositiveOrZero
        private Integer aring8phasYelwHh;

        @ApiModelProperty("B링 1현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_1phas_yelw_hh")
        @PositiveOrZero
        private Integer bring1phasYelwHh;

        @ApiModelProperty("B링 2현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_2phas_yelw_hh")
        @PositiveOrZero
        private Integer bring2phasYelwHh;

        @ApiModelProperty("B링 3현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_3phas_yelw_hh")
        @PositiveOrZero
        private Integer bring3phasYelwHh;

        @ApiModelProperty("B링 4현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_4phas_yelw_hh")
        @PositiveOrZero
        private Integer bring4phasYelwHh;

        @ApiModelProperty("B링 5현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_5phas_yelw_hh")
        @PositiveOrZero
        private Integer bring5phasYelwHh;

        @ApiModelProperty("B링 6현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_6phas_yelw_hh")
        @PositiveOrZero
        private Integer bring6phasYelwHh;

        @ApiModelProperty("B링 7현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_7phas_yelw_hh")
        @PositiveOrZero
        private Integer bring7phasYelwHh;

        @ApiModelProperty("B링 8현시 황색 시간, Nullable = Y, NUMBER(2)")  // Y NUMBER(2)
        @JsonProperty("bring_8phas_yelw_hh")
        @PositiveOrZero
        private Integer bring8phasYelwHh;

        @Builder
        public TbScIxrPhasUpdReq(Integer sgnl_ixr_nmbr, Integer ixr_oper_mode, Integer aring_1phas_crfl_nmbr, Integer aring_2phas_crfl_nmbr, Integer aring_3phas_crfl_nmbr, Integer aring_4phas_crfl_nmbr, Integer aring_5phas_crfl_nmbr, Integer aring_6phas_crfl_nmbr, Integer aring_7phas_crfl_nmbr, Integer aring_8phas_crfl_nmbr, Integer bring_1phas_crfl_nmbr, Integer bring_2phas_crfl_nmbr, Integer bring_3phas_crfl_nmbr, Integer bring_4phas_crfl_nmbr, Integer bring_5phas_crfl_nmbr, Integer bring_6phas_crfl_nmbr, Integer bring_7phas_crfl_nmbr, Integer bring_8phas_crfl_nmbr, Integer aring_1phas_min_gren_hh, Integer aring_2phas_min_gren_hh, Integer aring_3phas_min_gren_hh, Integer aring_4phas_min_gren_hh, Integer aring_5phas_min_gren_hh, Integer aring_6phas_min_gren_hh, Integer aring_7phas_min_gren_hh, Integer aring_8phas_min_gren_hh, Integer bring_1phas_min_gren_hh, Integer bring_2phas_min_gren_hh, Integer bring_3phas_min_gren_hh, Integer bring_4phas_min_gren_hh, Integer bring_5phas_min_gren_hh, Integer bring_6phas_min_gren_hh, Integer bring_7phas_min_gren_hh, Integer bring_8phas_min_gren_hh, Integer aring_1phas_max_gren_hh, Integer aring_2phas_max_gren_hh, Integer aring_3phas_max_gren_hh, Integer aring_4phas_max_gren_hh, Integer aring_5phas_max_gren_hh, Integer aring_6phas_max_gren_hh, Integer aring_7phas_max_gren_hh, Integer aring_8phas_max_gren_hh, Integer bring_1phas_max_gren_hh, Integer bring_2phas_max_gren_hh, Integer bring_3phas_max_gren_hh, Integer bring_4phas_max_gren_hh, Integer bring_5phas_max_gren_hh, Integer bring_6phas_max_gren_hh, Integer bring_7phas_max_gren_hh, Integer bring_8phas_max_gren_hh, Integer aring_1phas_yelw_hh, Integer aring_2phas_yelw_hh, Integer aring_3phas_yelw_hh, Integer aring_4phas_yelw_hh, Integer aring_5phas_yelw_hh, Integer aring_6phas_yelw_hh, Integer aring_7phas_yelw_hh, Integer aring_8phas_yelw_hh, Integer bring_1phas_yelw_hh, Integer bring_2phas_yelw_hh, Integer bring_3phas_yelw_hh, Integer bring_4phas_yelw_hh, Integer bring_5phas_yelw_hh, Integer bring_6phas_yelw_hh, Integer bring_7phas_yelw_hh, Integer bring_8phas_yelw_hh) {
            this.sgnlIxrNmbr = sgnl_ixr_nmbr;
            this.ixrOperMode = ixr_oper_mode;
            this.aring1phasCrflNmbr = aring_1phas_crfl_nmbr;
            this.aring2phasCrflNmbr = aring_2phas_crfl_nmbr;
            this.aring3phasCrflNmbr = aring_3phas_crfl_nmbr;
            this.aring4phasCrflNmbr = aring_4phas_crfl_nmbr;
            this.aring5phasCrflNmbr = aring_5phas_crfl_nmbr;
            this.aring6phasCrflNmbr = aring_6phas_crfl_nmbr;
            this.aring7phasCrflNmbr = aring_7phas_crfl_nmbr;
            this.aring8phasCrflNmbr = aring_8phas_crfl_nmbr;
            this.bring1phasCrflNmbr = bring_1phas_crfl_nmbr;
            this.bring2phasCrflNmbr = bring_2phas_crfl_nmbr;
            this.bring3phasCrflNmbr = bring_3phas_crfl_nmbr;
            this.bring4phasCrflNmbr = bring_4phas_crfl_nmbr;
            this.bring5phasCrflNmbr = bring_5phas_crfl_nmbr;
            this.bring6phasCrflNmbr = bring_6phas_crfl_nmbr;
            this.bring7phasCrflNmbr = bring_7phas_crfl_nmbr;
            this.bring8phasCrflNmbr = bring_8phas_crfl_nmbr;
            this.aring1phasMinGrenHh = aring_1phas_min_gren_hh;
            this.aring2phasMinGrenHh = aring_2phas_min_gren_hh;
            this.aring3phasMinGrenHh = aring_3phas_min_gren_hh;
            this.aring4phasMinGrenHh = aring_4phas_min_gren_hh;
            this.aring5phasMinGrenHh = aring_5phas_min_gren_hh;
            this.aring6phasMinGrenHh = aring_6phas_min_gren_hh;
            this.aring7phasMinGrenHh = aring_7phas_min_gren_hh;
            this.aring8phasMinGrenHh = aring_8phas_min_gren_hh;
            this.bring1phasMinGrenHh = bring_1phas_min_gren_hh;
            this.bring2phasMinGrenHh = bring_2phas_min_gren_hh;
            this.bring3phasMinGrenHh = bring_3phas_min_gren_hh;
            this.bring4phasMinGrenHh = bring_4phas_min_gren_hh;
            this.bring5phasMinGrenHh = bring_5phas_min_gren_hh;
            this.bring6phasMinGrenHh = bring_6phas_min_gren_hh;
            this.bring7phasMinGrenHh = bring_7phas_min_gren_hh;
            this.bring8phasMinGrenHh = bring_8phas_min_gren_hh;
            this.aring1phasMaxGrenHh = aring_1phas_max_gren_hh;
            this.aring2phasMaxGrenHh = aring_2phas_max_gren_hh;
            this.aring3phasMaxGrenHh = aring_3phas_max_gren_hh;
            this.aring4phasMaxGrenHh = aring_4phas_max_gren_hh;
            this.aring5phasMaxGrenHh = aring_5phas_max_gren_hh;
            this.aring6phasMaxGrenHh = aring_6phas_max_gren_hh;
            this.aring7phasMaxGrenHh = aring_7phas_max_gren_hh;
            this.aring8phasMaxGrenHh = aring_8phas_max_gren_hh;
            this.bring1phasMaxGrenHh = bring_1phas_max_gren_hh;
            this.bring2phasMaxGrenHh = bring_2phas_max_gren_hh;
            this.bring3phasMaxGrenHh = bring_3phas_max_gren_hh;
            this.bring4phasMaxGrenHh = bring_4phas_max_gren_hh;
            this.bring5phasMaxGrenHh = bring_5phas_max_gren_hh;
            this.bring6phasMaxGrenHh = bring_6phas_max_gren_hh;
            this.bring7phasMaxGrenHh = bring_7phas_max_gren_hh;
            this.bring8phasMaxGrenHh = bring_8phas_max_gren_hh;
            this.aring1phasYelwHh = aring_1phas_yelw_hh;
            this.aring2phasYelwHh = aring_2phas_yelw_hh;
            this.aring3phasYelwHh = aring_3phas_yelw_hh;
            this.aring4phasYelwHh = aring_4phas_yelw_hh;
            this.aring5phasYelwHh = aring_5phas_yelw_hh;
            this.aring6phasYelwHh = aring_6phas_yelw_hh;
            this.aring7phasYelwHh = aring_7phas_yelw_hh;
            this.aring8phasYelwHh = aring_8phas_yelw_hh;
            this.bring1phasYelwHh = bring_1phas_yelw_hh;
            this.bring2phasYelwHh = bring_2phas_yelw_hh;
            this.bring3phasYelwHh = bring_3phas_yelw_hh;
            this.bring4phasYelwHh = bring_4phas_yelw_hh;
            this.bring5phasYelwHh = bring_5phas_yelw_hh;
            this.bring6phasYelwHh = bring_6phas_yelw_hh;
            this.bring7phasYelwHh = bring_7phas_yelw_hh;
            this.bring8phasYelwHh = bring_8phas_yelw_hh;
        }

        public TbScIxrPhas toEntity() {
            return TbScIxrPhas.builder()
                    .sgnlIxrNmbr(this.sgnlIxrNmbr)
                    .ixrOperMode(this.ixrOperMode)
                    .aring1phasCrflNmbr(this.aring1phasCrflNmbr)
                    .aring2phasCrflNmbr(this.aring2phasCrflNmbr)
                    .aring3phasCrflNmbr(this.aring3phasCrflNmbr)
                    .aring4phasCrflNmbr(this.aring4phasCrflNmbr)
                    .aring5phasCrflNmbr(this.aring5phasCrflNmbr)
                    .aring6phasCrflNmbr(this.aring6phasCrflNmbr)
                    .aring7phasCrflNmbr(this.aring7phasCrflNmbr)
                    .aring8phasCrflNmbr(this.aring8phasCrflNmbr)
                    .bring1phasCrflNmbr(this.bring1phasCrflNmbr)
                    .bring2phasCrflNmbr(this.bring2phasCrflNmbr)
                    .bring3phasCrflNmbr(this.bring3phasCrflNmbr)
                    .bring4phasCrflNmbr(this.bring4phasCrflNmbr)
                    .bring5phasCrflNmbr(this.bring5phasCrflNmbr)
                    .bring6phasCrflNmbr(this.bring6phasCrflNmbr)
                    .bring7phasCrflNmbr(this.bring7phasCrflNmbr)
                    .bring8phasCrflNmbr(this.bring8phasCrflNmbr)
                    .aring1phasMinGrenHh(this.aring1phasMinGrenHh)
                    .aring2phasMinGrenHh(this.aring2phasMinGrenHh)
                    .aring3phasMinGrenHh(this.aring3phasMinGrenHh)
                    .aring4phasMinGrenHh(this.aring4phasMinGrenHh)
                    .aring5phasMinGrenHh(this.aring5phasMinGrenHh)
                    .aring6phasMinGrenHh(this.aring6phasMinGrenHh)
                    .aring7phasMinGrenHh(this.aring7phasMinGrenHh)
                    .aring8phasMinGrenHh(this.aring8phasMinGrenHh)
                    .bring1phasMinGrenHh(this.bring1phasMinGrenHh)
                    .bring2phasMinGrenHh(this.bring2phasMinGrenHh)
                    .bring3phasMinGrenHh(this.bring3phasMinGrenHh)
                    .bring4phasMinGrenHh(this.bring4phasMinGrenHh)
                    .bring5phasMinGrenHh(this.bring5phasMinGrenHh)
                    .bring6phasMinGrenHh(this.bring6phasMinGrenHh)
                    .bring7phasMinGrenHh(this.bring7phasMinGrenHh)
                    .bring8phasMinGrenHh(this.bring8phasMinGrenHh)
                    .aring1phasMaxGrenHh(this.aring1phasMaxGrenHh)
                    .aring2phasMaxGrenHh(this.aring2phasMaxGrenHh)
                    .aring3phasMaxGrenHh(this.aring3phasMaxGrenHh)
                    .aring4phasMaxGrenHh(this.aring4phasMaxGrenHh)
                    .aring5phasMaxGrenHh(this.aring5phasMaxGrenHh)
                    .aring6phasMaxGrenHh(this.aring6phasMaxGrenHh)
                    .aring7phasMaxGrenHh(this.aring7phasMaxGrenHh)
                    .aring8phasMaxGrenHh(this.aring8phasMaxGrenHh)
                    .bring1phasMaxGrenHh(this.bring1phasMaxGrenHh)
                    .bring2phasMaxGrenHh(this.bring2phasMaxGrenHh)
                    .bring3phasMaxGrenHh(this.bring3phasMaxGrenHh)
                    .bring4phasMaxGrenHh(this.bring4phasMaxGrenHh)
                    .bring5phasMaxGrenHh(this.bring5phasMaxGrenHh)
                    .bring6phasMaxGrenHh(this.bring6phasMaxGrenHh)
                    .bring7phasMaxGrenHh(this.bring7phasMaxGrenHh)
                    .bring8phasMaxGrenHh(this.bring8phasMaxGrenHh)
                    .aring1phasYelwHh(this.aring1phasYelwHh)
                    .aring2phasYelwHh(this.aring2phasYelwHh)
                    .aring3phasYelwHh(this.aring3phasYelwHh)
                    .aring4phasYelwHh(this.aring4phasYelwHh)
                    .aring5phasYelwHh(this.aring5phasYelwHh)
                    .aring6phasYelwHh(this.aring6phasYelwHh)
                    .aring7phasYelwHh(this.aring7phasYelwHh)
                    .aring8phasYelwHh(this.aring8phasYelwHh)
                    .bring1phasYelwHh(this.bring1phasYelwHh)
                    .bring2phasYelwHh(this.bring2phasYelwHh)
                    .bring3phasYelwHh(this.bring3phasYelwHh)
                    .bring4phasYelwHh(this.bring4phasYelwHh)
                    .bring5phasYelwHh(this.bring5phasYelwHh)
                    .bring6phasYelwHh(this.bring6phasYelwHh)
                    .bring7phasYelwHh(this.bring7phasYelwHh)
                    .bring8phasYelwHh(this.bring8phasYelwHh)
                    .build();
        }

    }

}
