package com.its.op.entity.its.scrs;

import com.its.op.dto.its.scrs.TbScIxrPhasDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 교차로 현시 Entity Class
 */
@Getter
@NoArgsConstructor//(access = AccessLevel.PROTECTED)
@Builder
@AllArgsConstructor
@ApiModel("교차로 현시")
@Entity
@Table(name = "TB_SC_IXR_PHAS")
@IdClass(TbScIxrPhasKey.class)
public class TbScIxrPhas implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("신호 교차로 번호")  // N NUMBER(4)
    @Id
    @Column(name = "SGNL_IXR_NMBR", nullable = false, columnDefinition = "NUMBER", length = 4)
    private Integer sgnlIxrNmbr;

    @ApiModelProperty("교차로 운영 모드(0: 일반, 1: 시)")  // N NUMBER(2)
    @Id
    @Column(name = "IXR_OPER_MODE", nullable = false, columnDefinition = "NUMBER", length = 2)
    private Integer ixrOperMode;

    @ApiModelProperty("A링 1현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_1PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring1phasCrflNmbr;

    @ApiModelProperty("A링 2현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_2PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring2phasCrflNmbr;

    @ApiModelProperty("A링 3현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_3PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring3phasCrflNmbr;

    @ApiModelProperty("A링 4현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_4PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring4phasCrflNmbr;

    @ApiModelProperty("A링 5현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_5PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring5phasCrflNmbr;

    @ApiModelProperty("A링 6현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_6PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring6phasCrflNmbr;

    @ApiModelProperty("A링 7현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_7PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring7phasCrflNmbr;

    @ApiModelProperty("A링 8현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "ARING_8PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer aring8phasCrflNmbr;

    @ApiModelProperty("B링 1현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_1PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring1phasCrflNmbr;

    @ApiModelProperty("B링 2현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_2PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring2phasCrflNmbr;

    @ApiModelProperty("B링 3현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_3PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring3phasCrflNmbr;

    @ApiModelProperty("B링 4현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_4PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring4phasCrflNmbr;

    @ApiModelProperty("B링 5현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_5PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring5phasCrflNmbr;

    @ApiModelProperty("B링 6현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_6PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring6phasCrflNmbr;

    @ApiModelProperty("B링 7현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_7PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring7phasCrflNmbr;

    @ApiModelProperty("B링 8현시 이동류 번호")  // Y NUMBER(2)
    @Column(name = "BRING_8PHAS_CRFL_NMBR", columnDefinition = "NUMBER", length = 2)
    private Integer bring8phasCrflNmbr;

    @ApiModelProperty("A링 1현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_1PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring1phasMinGrenHh;

    @ApiModelProperty("A링 2현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_2PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring2phasMinGrenHh;

    @ApiModelProperty("A링 3현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_3PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring3phasMinGrenHh;

    @ApiModelProperty("A링 4현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_4PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring4phasMinGrenHh;

    @ApiModelProperty("A링 5현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_5PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring5phasMinGrenHh;

    @ApiModelProperty("A링 6현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_6PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring6phasMinGrenHh;

    @ApiModelProperty("A링 7현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_7PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring7phasMinGrenHh;

    @ApiModelProperty("A링 8현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_8PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring8phasMinGrenHh;

    @ApiModelProperty("B링 1현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_1PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring1phasMinGrenHh;

    @ApiModelProperty("B링 2현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_2PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring2phasMinGrenHh;

    @ApiModelProperty("B링 3현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_3PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring3phasMinGrenHh;

    @ApiModelProperty("B링 4현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_4PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring4phasMinGrenHh;

    @ApiModelProperty("B링 5현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_5PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring5phasMinGrenHh;

    @ApiModelProperty("B링 6현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_6PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring6phasMinGrenHh;

    @ApiModelProperty("B링 7현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_7PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring7phasMinGrenHh;

    @ApiModelProperty("B링 8현시 최소 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_8PHAS_MIN_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring8phasMinGrenHh;

    @ApiModelProperty("A링 1현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_1PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring1phasMaxGrenHh;

    @ApiModelProperty("A링 2현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_2PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring2phasMaxGrenHh;

    @ApiModelProperty("A링 3현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_3PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring3phasMaxGrenHh;

    @ApiModelProperty("A링 4현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_4PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring4phasMaxGrenHh;

    @ApiModelProperty("A링 5현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_5PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring5phasMaxGrenHh;

    @ApiModelProperty("A링 6현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_6PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring6phasMaxGrenHh;

    @ApiModelProperty("A링 7현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_7PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring7phasMaxGrenHh;

    @ApiModelProperty("A링 8현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "ARING_8PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer aring8phasMaxGrenHh;

    @ApiModelProperty("B링 1현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_1PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring1phasMaxGrenHh;

    @ApiModelProperty("B링 2현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_2PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring2phasMaxGrenHh;

    @ApiModelProperty("B링 3현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_3PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring3phasMaxGrenHh;

    @ApiModelProperty("B링 4현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_4PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring4phasMaxGrenHh;

    @ApiModelProperty("B링 5현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_5PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring5phasMaxGrenHh;

    @ApiModelProperty("B링 6현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_6PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring6phasMaxGrenHh;

    @ApiModelProperty("B링 7현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_7PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring7phasMaxGrenHh;

    @ApiModelProperty("B링 8현시 최대 녹색 시간")  // Y NUMBER(3)
    @Column(name = "BRING_8PHAS_MAX_GREN_HH", columnDefinition = "NUMBER", length = 3)
    private Integer bring8phasMaxGrenHh;

    @ApiModelProperty("A링 1현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_1PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring1phasYelwHh;

    @ApiModelProperty("A링 2현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_2PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring2phasYelwHh;

    @ApiModelProperty("A링 3현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_3PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring3phasYelwHh;

    @ApiModelProperty("A링 4현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_4PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring4phasYelwHh;

    @ApiModelProperty("A링 5현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_5PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring5phasYelwHh;

    @ApiModelProperty("A링 6현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_6PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring6phasYelwHh;

    @ApiModelProperty("A링 7현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_7PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring7phasYelwHh;

    @ApiModelProperty("A링 8현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "ARING_8PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer aring8phasYelwHh;

    @ApiModelProperty("B링 1현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_1PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring1phasYelwHh;

    @ApiModelProperty("B링 2현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_2PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring2phasYelwHh;

    @ApiModelProperty("B링 3현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_3PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring3phasYelwHh;

    @ApiModelProperty("B링 4현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_4PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring4phasYelwHh;

    @ApiModelProperty("B링 5현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_5PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring5phasYelwHh;

    @ApiModelProperty("B링 6현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_6PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring6phasYelwHh;

    @ApiModelProperty("B링 7현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_7PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring7phasYelwHh;

    @ApiModelProperty("B링 8현시 황색 시간")  // Y NUMBER(2)
    @Column(name = "BRING_8PHAS_YELW_HH", columnDefinition = "NUMBER", length = 2)
    private Integer bring8phasYelwHh;

    public TbScIxrPhasDto toDto() {
        return TbScIxrPhasDto.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();
    }

    public TbScIxrPhas(Integer sgnlIxrNmbr, Integer ixrOperMode) {
        this.sgnlIxrNmbr = sgnlIxrNmbr;
        this.ixrOperMode = ixrOperMode;
    }

    public void updateInfo(TbScIxrPhasDto.TbScIxrPhasUpdReq req) {
        this.aring1phasCrflNmbr = req.getAring1phasCrflNmbr();
        this.aring2phasCrflNmbr = req.getAring2phasCrflNmbr();
        this.aring3phasCrflNmbr = req.getAring3phasCrflNmbr();
        this.aring4phasCrflNmbr = req.getAring4phasCrflNmbr();
        this.aring5phasCrflNmbr = req.getAring5phasCrflNmbr();
        this.aring6phasCrflNmbr = req.getAring6phasCrflNmbr();
        this.aring7phasCrflNmbr = req.getAring7phasCrflNmbr();
        this.aring8phasCrflNmbr = req.getAring8phasCrflNmbr();
        this.bring1phasCrflNmbr = req.getBring1phasCrflNmbr();
        this.bring2phasCrflNmbr = req.getBring2phasCrflNmbr();
        this.bring3phasCrflNmbr = req.getBring3phasCrflNmbr();
        this.bring4phasCrflNmbr = req.getBring4phasCrflNmbr();
        this.bring5phasCrflNmbr = req.getBring5phasCrflNmbr();
        this.bring6phasCrflNmbr = req.getBring6phasCrflNmbr();
        this.bring7phasCrflNmbr = req.getBring7phasCrflNmbr();
        this.bring8phasCrflNmbr = req.getBring8phasCrflNmbr();
        this.aring1phasMinGrenHh = req.getAring1phasMinGrenHh();
        this.aring2phasMinGrenHh = req.getAring2phasMinGrenHh();
        this.aring3phasMinGrenHh = req.getAring3phasMinGrenHh();
        this.aring4phasMinGrenHh = req.getAring4phasMinGrenHh();
        this.aring5phasMinGrenHh = req.getAring5phasMinGrenHh();
        this.aring6phasMinGrenHh = req.getAring6phasMinGrenHh();
        this.aring7phasMinGrenHh = req.getAring7phasMinGrenHh();
        this.aring8phasMinGrenHh = req.getAring8phasMinGrenHh();
        this.bring1phasMinGrenHh = req.getBring1phasMinGrenHh();
        this.bring2phasMinGrenHh = req.getBring2phasMinGrenHh();
        this.bring3phasMinGrenHh = req.getBring3phasMinGrenHh();
        this.bring4phasMinGrenHh = req.getBring4phasMinGrenHh();
        this.bring5phasMinGrenHh = req.getBring5phasMinGrenHh();
        this.bring6phasMinGrenHh = req.getBring6phasMinGrenHh();
        this.bring7phasMinGrenHh = req.getBring7phasMinGrenHh();
        this.bring8phasMinGrenHh = req.getBring8phasMinGrenHh();
        this.aring1phasMaxGrenHh = req.getAring1phasMaxGrenHh();
        this.aring2phasMaxGrenHh = req.getAring2phasMaxGrenHh();
        this.aring3phasMaxGrenHh = req.getAring3phasMaxGrenHh();
        this.aring4phasMaxGrenHh = req.getAring4phasMaxGrenHh();
        this.aring5phasMaxGrenHh = req.getAring5phasMaxGrenHh();
        this.aring6phasMaxGrenHh = req.getAring6phasMaxGrenHh();
        this.aring7phasMaxGrenHh = req.getAring7phasMaxGrenHh();
        this.aring8phasMaxGrenHh = req.getAring8phasMaxGrenHh();
        this.bring1phasMaxGrenHh = req.getBring1phasMaxGrenHh();
        this.bring2phasMaxGrenHh = req.getBring2phasMaxGrenHh();
        this.bring3phasMaxGrenHh = req.getBring3phasMaxGrenHh();
        this.bring4phasMaxGrenHh = req.getBring4phasMaxGrenHh();
        this.bring5phasMaxGrenHh = req.getBring5phasMaxGrenHh();
        this.bring6phasMaxGrenHh = req.getBring6phasMaxGrenHh();
        this.bring7phasMaxGrenHh = req.getBring7phasMaxGrenHh();
        this.bring8phasMaxGrenHh = req.getBring8phasMaxGrenHh();
        this.aring1phasYelwHh = req.getAring1phasYelwHh();
        this.aring2phasYelwHh = req.getAring2phasYelwHh();
        this.aring3phasYelwHh = req.getAring3phasYelwHh();
        this.aring4phasYelwHh = req.getAring4phasYelwHh();
        this.aring5phasYelwHh = req.getAring5phasYelwHh();
        this.aring6phasYelwHh = req.getAring6phasYelwHh();
        this.aring7phasYelwHh = req.getAring7phasYelwHh();
        this.aring8phasYelwHh = req.getAring8phasYelwHh();
        this.bring1phasYelwHh = req.getBring1phasYelwHh();
        this.bring2phasYelwHh = req.getBring2phasYelwHh();
        this.bring3phasYelwHh = req.getBring3phasYelwHh();
        this.bring4phasYelwHh = req.getBring4phasYelwHh();
        this.bring5phasYelwHh = req.getBring5phasYelwHh();
        this.bring6phasYelwHh = req.getBring6phasYelwHh();
        this.bring7phasYelwHh = req.getBring7phasYelwHh();
        this.bring8phasYelwHh = req.getBring8phasYelwHh();
    }

}
