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

import com.fasterxml.jackson.annotation.JsonProperty;
import com.its.api.its.model.entity.incident.TbIncdOcrr;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

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

/**
 * 돌발상황 발생 DTO Class
 */
@Data
@Builder
@ApiModel("TbIncdOcrrDto(돌발상황 발생)")
public class TbIncdOcrrDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("돌발상황 발생 ID")  // N VARCHAR(12)
    @JsonProperty("incd_ocrr_id")
    private String incdOcrrId;

    @ApiModelProperty("등록 일시")  // Y VARCHAR(14)
    @JsonProperty("rgst_dt")
    private String rgstDt;

    @ApiModelProperty("돌발상황 원본 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_orgn_cd")
    private String incdOrgnCd;

    @ApiModelProperty("발생 위치 명")  // Y VARCHAR(100)
    @JsonProperty("ocrr_lctn_nm")
    private String ocrrLctnNm;

    @ApiModelProperty("X 좌표")  // Y NUMBER(11,8)
    @JsonProperty("x_crdn")
    private Double xCrdn;

    @ApiModelProperty("Y 좌표")  // Y NUMBER(10,8)
    @JsonProperty("y_crdn")
    private Double yCrdn;

    @ApiModelProperty("돌발상황 설명")  // Y VARCHAR(600)
    @JsonProperty("incd_expl")
    private String incdExpl;

    @ApiModelProperty("소통 등급 코드")  // Y VARCHAR(7)
    @JsonProperty("cmtr_grad_cd")
    private String cmtrGradCd;

    @ApiModelProperty("제보자 명")  // Y VARCHAR(20)
    @JsonProperty("ifmr_nm")
    private String ifmrNm;

    @ApiModelProperty("돌발상황 확인 방법 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_cnfm_mthd_cd")
    private String incdCnfmMthdCd;

    @ApiModelProperty("돌발상황 확인 일시")  // Y VARCHAR(14)
    @JsonProperty("incd_cnfm_dt")
    private String incdCnfmDt;

    @ApiModelProperty("돌발상황 시작 일시")  // Y VARCHAR(14)
    @JsonProperty("incd_strt_dt")
    private String incdStrtDt;

    @ApiModelProperty("돌발상황 종료 예정 일시")  // Y VARCHAR(14)
    @JsonProperty("incd_end_prar_dt")
    private String incdEndPrarDt;

    @ApiModelProperty("돌발상황 유형 분류 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_type_clsf_cd")
    private String incdTypeClsfCd;

    @ApiModelProperty("돌발상황 유형 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_type_cd")
    private String incdTypeCd;

    @ApiModelProperty("돌발상황 제목")  // Y VARCHAR(400)
    @JsonProperty("incd_titl")
    private String incdTitl;

    @ApiModelProperty("돌발상황 심각도 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_sern_cd")
    private String incdSernCd;

    @ApiModelProperty("지체 길이")  // Y NUMBER(5)
    @JsonProperty("dely_lngt")
    private Integer delyLngt;

    @ApiModelProperty("돌발상황 길이")  // Y NUMBER(5)
    @JsonProperty("incd_lngt")
    private Integer incdLngt;

    @ApiModelProperty("돌발상황 발생 차로")  // Y VARCHAR(6)
    @JsonProperty("incd_ocrr_lane")
    private String incdOcrrLane;

    @ApiModelProperty("돌발상황 차단 차로")  // Y VARCHAR(6)
    @JsonProperty("incd_clsr_lane")
    private String incdClsrLane;

    @ApiModelProperty("통행 제한 유형 코드")  // Y VARCHAR(7)
    @JsonProperty("trvl_lmnt_type_cd")
    private String trvlLmntTypeCd;

    @ApiModelProperty("고장 차량 여부")  // Y CHAR(1)
    @JsonProperty("trub_vhcl_yn")
    private String trubVhclYn;

    @ApiModelProperty("낙하물 여부")  // Y CHAR(1)
    @JsonProperty("falt_yn")
    private String faltYn;

    @ApiModelProperty("화재위험물 여부")  // Y CHAR(1)
    @JsonProperty("frwt_yn")
    private String frwtYn;

    @ApiModelProperty("UTIS 연계 여부")  // Y CHAR(1)
    @JsonProperty("utis_cnct_yn")
    private String utisCnctYn;

    @ApiModelProperty("소형 차량 대수")  // Y NUMBER(5)
    @JsonProperty("smlt_vhcl_unum")
    private Integer smltVhclUnum;

    @ApiModelProperty("중대형 차량 대수")  // Y NUMBER(5)
    @JsonProperty("mdlt_vhcl_unum")
    private Integer mdltVhclUnum;

    @ApiModelProperty("부상자 인원수")  // Y NUMBER(4)
    @JsonProperty("injr_pnum")
    private Integer injrPnum;

    @ApiModelProperty("사망자 인원수")  // Y NUMBER(4)
    @JsonProperty("ftlt_pnum")
    private Integer ftltPnum;

    @ApiModelProperty("기상 코드")  // Y VARCHAR(7)
    @JsonProperty("wthr_cd")
    private String wthrCd;

    @ApiModelProperty("대응 수준 코드")  // Y VARCHAR(7)
    @JsonProperty("resp_lvl_cd")
    private String respLvlCd;

    @ApiModelProperty("VMS 표출 여부")  // Y CHAR(1)
    @JsonProperty("vms_dspl_yn")
    private String vmsDsplYn;

    @ApiModelProperty("돌발상황 진행 단계 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_prgr_step_cd")
    private String incdPrgrStepCd;

    @ApiModelProperty("돌발상황 종료 확인 방법 코드")  // Y VARCHAR(7)
    @JsonProperty("incd_end_cnfm_mthd_cd")
    private String incdEndCnfmMthdCd;

    @ApiModelProperty("돌발상황 종료 일시")  // Y VARCHAR(14)
    @JsonProperty("incd_end_dt")
    private String incdEndDt;

    @ApiModelProperty("출동 장비 내용")  // Y VARCHAR(400)
    @JsonProperty("mblz_eqpm_cont")
    private String mblzEqpmCont;

    @ApiModelProperty("출동 인원수")  // Y NUMBER(5)
    @JsonProperty("mblz_pnum")
    private Integer mblzPnum;

    @ApiModelProperty("복구 내용")  // Y VARCHAR(400)
    @JsonProperty("recr_cont")
    private String recrCont;

    @ApiModelProperty("복구 기간")  // Y NUMBER(5)
    @JsonProperty("recr_perd")
    private Integer recrPerd;

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

    // Code Description Field
    @ApiModelProperty("돌발상황 원본 코드 설명")
    @JsonProperty("incd_orgn_desc")    // INCD_ORGN_CD
    private String incdOrgnDesc;

    @ApiModelProperty("소통 등급 코드 설명")
    @JsonProperty("cmtr_grad_desc")    // CMTR_GRAD_CD
    private String cmtrGradDesc;

    @ApiModelProperty("돌발상황 확인 방법 코드 설명")
    @JsonProperty("incd_cnfm_mthd_desc")    // INCD_CNFM_MTHD_CD
    private String incdCnfmMthdDesc;

    @ApiModelProperty("돌발상황 유형 분류 코드 설명")
    @JsonProperty("incd_type_clsf_desc")    // INCD_TYPE_CLSF_CD
    private String incdTypeClsfDesc;

    @ApiModelProperty("돌발상황 유형 코드 설명")
    @JsonProperty("incd_type_desc")    // INCD_TYPE_CD
    private String incdTypeDesc;

    @ApiModelProperty("돌발상황 심각도 코드 설명")
    @JsonProperty("incd_sern_desc")    // INCD_SERN_CD
    private String incdSernDesc;

    @ApiModelProperty("통행 제한 유형 코드 설명")
    @JsonProperty("trvl_lmnt_type_desc")    // TRVL_LMNT_TYPE_CD
    private String trvlLmntTypeDesc;

    @ApiModelProperty("고장 차량 여부 설명")
    @JsonProperty("trub_vhcl_desc")    // TRUB_VHCL_YN
    private String trubVhclDesc;

    @ApiModelProperty("낙하물 여부 설명")
    @JsonProperty("falt_desc")    // FALT_YN
    private String faltDesc;

    @ApiModelProperty("화재위험물 여부 설명")
    @JsonProperty("frwt_desc")    // FRWT_YN
    private String frwtDesc;

    @ApiModelProperty("UTIS 연계 여부 설명")
    @JsonProperty("utis_cnct_desc")    // UTIS_CNCT_YN
    private String utisCnctDesc;

    @ApiModelProperty("기상 코드 설명")
    @JsonProperty("wthr_desc")    // WTHR_CD
    private String wthrDesc;

    @ApiModelProperty("대응 수준 코드 설명")
    @JsonProperty("resp_lvl_desc")    // RESP_LVL_CD
    private String respLvlDesc;

    @ApiModelProperty("VMS 표출 여부 설명")
    @JsonProperty("vms_dspl_desc")    // VMS_DSPL_YN
    private String vmsDsplDesc;

    @ApiModelProperty("돌발상황 진행 단계 코드 설명")
    @JsonProperty("incd_prgr_step_desc")    // INCD_PRGR_STEP_CD
    private String incdPrgrStepDesc;

    @ApiModelProperty("돌발상황 종료 확인 방법 코드 설명")
    @JsonProperty("incd_end_cnfm_mthd_desc")    // INCD_END_CNFM_MTHD_CD
    private String incdEndCnfmMthdDesc;

    @ApiModel("TbIncdOcrrUpdReq(돌발상황 발생 정보변경)")
    @Getter
    @Setter
    @ToString
    @NoArgsConstructor(access = AccessLevel.PROTECTED)
    public static class TbIncdOcrrUpdReq {

        @ApiModelProperty("돌발상황 발생 ID, Nullable = N, VARCHAR(12)")  // N VARCHAR(12)
        @JsonProperty("incd_ocrr_id")
        @Size(min=1, max=12)
        private String incdOcrrId;

        @ApiModelProperty("등록 일시, Nullable = Y, VARCHAR(14)")  // Y VARCHAR(14)
        @JsonProperty("rgst_dt")
        @Size(min=1, max=14)
        private String rgstDt;

        @ApiModelProperty("돌발상황 원본 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_orgn_cd")
        @Size(min=1, max=7)
        private String incdOrgnCd;

        @ApiModelProperty("발생 위치 명, Nullable = Y, VARCHAR(100)")  // Y VARCHAR(100)
        @JsonProperty("ocrr_lctn_nm")
        @Size(min=1, max=100)
        private String ocrrLctnNm;

        @ApiModelProperty("X 좌표, , NUMBER(11,8)")  // Y NUMBER(11,8)
        @JsonProperty("x_crdn")
        private Double xCrdn;

        @ApiModelProperty("Y 좌표, , NUMBER(10,8)")  // Y NUMBER(10,8)
        @JsonProperty("y_crdn")
        private Double yCrdn;

        @ApiModelProperty("돌발상황 설명, Nullable = Y, VARCHAR(600)")  // Y VARCHAR(600)
        @JsonProperty("incd_expl")
        @Size(min=1, max=600)
        private String incdExpl;

        @ApiModelProperty("소통 등급 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("cmtr_grad_cd")
        @Size(min=1, max=7)
        private String cmtrGradCd;

        @ApiModelProperty("제보자 명, Nullable = Y, VARCHAR(20)")  // Y VARCHAR(20)
        @JsonProperty("ifmr_nm")
        @Size(min=1, max=20)
        private String ifmrNm;

        @ApiModelProperty("돌발상황 확인 방법 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_cnfm_mthd_cd")
        @Size(min=1, max=7)
        private String incdCnfmMthdCd;

        @ApiModelProperty("돌발상황 확인 일시, Nullable = Y, VARCHAR(14)")  // Y VARCHAR(14)
        @JsonProperty("incd_cnfm_dt")
        @Size(min=1, max=14)
        private String incdCnfmDt;

        @ApiModelProperty("돌발상황 시작 일시, Nullable = Y, VARCHAR(14)")  // Y VARCHAR(14)
        @JsonProperty("incd_strt_dt")
        @Size(min=1, max=14)
        private String incdStrtDt;

        @ApiModelProperty("돌발상황 종료 예정 일시, Nullable = Y, VARCHAR(14)")  // Y VARCHAR(14)
        @JsonProperty("incd_end_prar_dt")
        @Size(min=1, max=14)
        private String incdEndPrarDt;

        @ApiModelProperty("돌발상황 유형 분류 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_type_clsf_cd")
        @Size(min=1, max=7)
        private String incdTypeClsfCd;

        @ApiModelProperty("돌발상황 유형 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_type_cd")
        @Size(min=1, max=7)
        private String incdTypeCd;

        @ApiModelProperty("돌발상황 제목, Nullable = Y, VARCHAR(400)")  // Y VARCHAR(400)
        @JsonProperty("incd_titl")
        @Size(min=1, max=400)
        private String incdTitl;

        @ApiModelProperty("돌발상황 심각도 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_sern_cd")
        @Size(min=1, max=7)
        private String incdSernCd;

        @ApiModelProperty("지체 길이, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("dely_lngt")
        @PositiveOrZero
        private Integer delyLngt;

        @ApiModelProperty("돌발상황 길이, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("incd_lngt")
        @PositiveOrZero
        private Integer incdLngt;

        @ApiModelProperty("돌발상황 발생 차로, Nullable = Y, VARCHAR(6)")  // Y VARCHAR(6)
        @JsonProperty("incd_ocrr_lane")
        @Size(min=1, max=6)
        private String incdOcrrLane;

        @ApiModelProperty("돌발상황 차단 차로, Nullable = Y, VARCHAR(6)")  // Y VARCHAR(6)
        @JsonProperty("incd_clsr_lane")
        @Size(min=1, max=6)
        private String incdClsrLane;

        @ApiModelProperty("통행 제한 유형 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("trvl_lmnt_type_cd")
        @Size(min=1, max=7)
        private String trvlLmntTypeCd;

        @ApiModelProperty("고장 차량 여부, Nullable = Y, CHAR(1)")  // Y CHAR(1)
        @JsonProperty("trub_vhcl_yn")
        @Size(min=1, max=1)
        @Pattern(regexp = "[YN]")
        private String trubVhclYn;

        @ApiModelProperty("낙하물 여부, Nullable = Y, CHAR(1)")  // Y CHAR(1)
        @JsonProperty("falt_yn")
        @Size(min=1, max=1)
        @Pattern(regexp = "[YN]")
        private String faltYn;

        @ApiModelProperty("화재위험물 여부, Nullable = Y, CHAR(1)")  // Y CHAR(1)
        @JsonProperty("frwt_yn")
        @Size(min=1, max=1)
        @Pattern(regexp = "[YN]")
        private String frwtYn;

        @ApiModelProperty("UTIS 연계 여부, Nullable = Y, CHAR(1)")  // Y CHAR(1)
        @JsonProperty("utis_cnct_yn")
        @Size(min=1, max=1)
        @Pattern(regexp = "[YN]")
        private String utisCnctYn;

        @ApiModelProperty("소형 차량 대수, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("smlt_vhcl_unum")
        @PositiveOrZero
        private Integer smltVhclUnum;

        @ApiModelProperty("중대형 차량 대수, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("mdlt_vhcl_unum")
        @PositiveOrZero
        private Integer mdltVhclUnum;

        @ApiModelProperty("부상자 인원수, Nullable = Y, NUMBER(4)")  // Y NUMBER(4)
        @JsonProperty("injr_pnum")
        @PositiveOrZero
        private Integer injrPnum;

        @ApiModelProperty("사망자 인원수, Nullable = Y, NUMBER(4)")  // Y NUMBER(4)
        @JsonProperty("ftlt_pnum")
        @PositiveOrZero
        private Integer ftltPnum;

        @ApiModelProperty("기상 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("wthr_cd")
        @Size(min=1, max=7)
        private String wthrCd;

        @ApiModelProperty("대응 수준 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("resp_lvl_cd")
        @Size(min=1, max=7)
        private String respLvlCd;

        @ApiModelProperty("VMS 표출 여부, Nullable = Y, CHAR(1)")  // Y CHAR(1)
        @JsonProperty("vms_dspl_yn")
        @Size(min=1, max=1)
        @Pattern(regexp = "[YN]")
        private String vmsDsplYn;

        @ApiModelProperty("돌발상황 진행 단계 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_prgr_step_cd")
        @Size(min=1, max=7)
        private String incdPrgrStepCd;

        @ApiModelProperty("돌발상황 종료 확인 방법 코드, Nullable = Y, VARCHAR(7)")  // Y VARCHAR(7)
        @JsonProperty("incd_end_cnfm_mthd_cd")
        @Size(min=1, max=7)
        private String incdEndCnfmMthdCd;

        @ApiModelProperty("돌발상황 종료 일시, Nullable = Y, VARCHAR(14)")  // Y VARCHAR(14)
        @JsonProperty("incd_end_dt")
        @Size(min=1, max=14)
        private String incdEndDt;

        @ApiModelProperty("출동 장비 내용, Nullable = Y, VARCHAR(400)")  // Y VARCHAR(400)
        @JsonProperty("mblz_eqpm_cont")
        @Size(min=1, max=400)
        private String mblzEqpmCont;

        @ApiModelProperty("출동 인원수, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("mblz_pnum")
        @PositiveOrZero
        private Integer mblzPnum;

        @ApiModelProperty("복구 내용, Nullable = Y, VARCHAR(400)")  // Y VARCHAR(400)
        @JsonProperty("recr_cont")
        @Size(min=1, max=400)
        private String recrCont;

        @ApiModelProperty("복구 기간, Nullable = Y, NUMBER(5)")  // Y NUMBER(5)
        @JsonProperty("recr_perd")
        @PositiveOrZero
        private Integer recrPerd;

        @ApiModelProperty("링크ID, Nullable = Y, NUMBER(10)")  // Y NUMBER(10)
        @JsonProperty("link_id")
        @PositiveOrZero
        private Long linkId;

        @Builder
        public TbIncdOcrrUpdReq(String incd_ocrr_id, String rgst_dt, String incd_orgn_cd, String ocrr_lctn_nm, Double x_crdn, Double y_crdn, String incd_expl, String cmtr_grad_cd, String ifmr_nm, String incd_cnfm_mthd_cd, String incd_cnfm_dt, String incd_strt_dt, String incd_end_prar_dt, String incd_type_clsf_cd, String incd_type_cd, String incd_titl, String incd_sern_cd, Integer dely_lngt, Integer incd_lngt, String incd_ocrr_lane, String incd_clsr_lane, String trvl_lmnt_type_cd, String trub_vhcl_yn, String falt_yn, String frwt_yn, String utis_cnct_yn, Integer smlt_vhcl_unum, Integer mdlt_vhcl_unum, Integer injr_pnum, Integer ftlt_pnum, String wthr_cd, String resp_lvl_cd, String vms_dspl_yn, String incd_prgr_step_cd, String incd_end_cnfm_mthd_cd, String incd_end_dt, String mblz_eqpm_cont, Integer mblz_pnum, String recr_cont, Integer recr_perd, Long link_id) {
            this.incdOcrrId = incd_ocrr_id;
            this.rgstDt = rgst_dt;
            this.incdOrgnCd = incd_orgn_cd;
            this.ocrrLctnNm = ocrr_lctn_nm;
            this.xCrdn = x_crdn;
            this.yCrdn = y_crdn;
            this.incdExpl = incd_expl;
            this.cmtrGradCd = cmtr_grad_cd;
            this.ifmrNm = ifmr_nm;
            this.incdCnfmMthdCd = incd_cnfm_mthd_cd;
            this.incdCnfmDt = incd_cnfm_dt;
            this.incdStrtDt = incd_strt_dt;
            this.incdEndPrarDt = incd_end_prar_dt;
            this.incdTypeClsfCd = incd_type_clsf_cd;
            this.incdTypeCd = incd_type_cd;
            this.incdTitl = incd_titl;
            this.incdSernCd = incd_sern_cd;
            this.delyLngt = dely_lngt;
            this.incdLngt = incd_lngt;
            this.incdOcrrLane = incd_ocrr_lane;
            this.incdClsrLane = incd_clsr_lane;
            this.trvlLmntTypeCd = trvl_lmnt_type_cd;
            this.trubVhclYn = trub_vhcl_yn;
            this.faltYn = falt_yn;
            this.frwtYn = frwt_yn;
            this.utisCnctYn = utis_cnct_yn;
            this.smltVhclUnum = smlt_vhcl_unum;
            this.mdltVhclUnum = mdlt_vhcl_unum;
            this.injrPnum = injr_pnum;
            this.ftltPnum = ftlt_pnum;
            this.wthrCd = wthr_cd;
            this.respLvlCd = resp_lvl_cd;
            this.vmsDsplYn = vms_dspl_yn;
            this.incdPrgrStepCd = incd_prgr_step_cd;
            this.incdEndCnfmMthdCd = incd_end_cnfm_mthd_cd;
            this.incdEndDt = incd_end_dt;
            this.mblzEqpmCont = mblz_eqpm_cont;
            this.mblzPnum = mblz_pnum;
            this.recrCont = recr_cont;
            this.recrPerd = recr_perd;
            this.linkId = link_id;
        }

        public TbIncdOcrr toEntity() {
            return TbIncdOcrr.builder()
                    .incdOcrrId(this.incdOcrrId)
                    .rgstDt(this.rgstDt)
                    .incdOrgnCd(this.incdOrgnCd)
                    .ocrrLctnNm(this.ocrrLctnNm)
                    .xCrdn(this.xCrdn)
                    .yCrdn(this.yCrdn)
                    .incdExpl(this.incdExpl)
                    .cmtrGradCd(this.cmtrGradCd)
                    .ifmrNm(this.ifmrNm)
                    .incdCnfmMthdCd(this.incdCnfmMthdCd)
                    .incdCnfmDt(this.incdCnfmDt)
                    .incdStrtDt(this.incdStrtDt)
                    .incdEndPrarDt(this.incdEndPrarDt)
                    .incdTypeClsfCd(this.incdTypeClsfCd)
                    .incdTypeCd(this.incdTypeCd)
                    .incdTitl(this.incdTitl)
                    .incdSernCd(this.incdSernCd)
                    .delyLngt(this.delyLngt)
                    .incdLngt(this.incdLngt)
                    .incdOcrrLane(this.incdOcrrLane)
                    .incdClsrLane(this.incdClsrLane)
                    .trvlLmntTypeCd(this.trvlLmntTypeCd)
                    .trubVhclYn(this.trubVhclYn)
                    .faltYn(this.faltYn)
                    .frwtYn(this.frwtYn)
                    .utisCnctYn(this.utisCnctYn)
                    .smltVhclUnum(this.smltVhclUnum)
                    .mdltVhclUnum(this.mdltVhclUnum)
                    .injrPnum(this.injrPnum)
                    .ftltPnum(this.ftltPnum)
                    .wthrCd(this.wthrCd)
                    .respLvlCd(this.respLvlCd)
                    .vmsDsplYn(this.vmsDsplYn)
                    .incdPrgrStepCd(this.incdPrgrStepCd)
                    .incdEndCnfmMthdCd(this.incdEndCnfmMthdCd)
                    .incdEndDt(this.incdEndDt)
                    .mblzEqpmCont(this.mblzEqpmCont)
                    .mblzPnum(this.mblzPnum)
                    .recrCont(this.recrCont)
                    .recrPerd(this.recrPerd)
                    .linkId(this.linkId)
                    .build();
        }

    }

}
