package com.its.vms.entity;

import com.its.app.utils.ItsUtils;
import com.its.vms.dto.TbVmsIfscTrafDto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 *  Entity Class
 */
@Data
@Builder
@NoArgsConstructor//(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class TbVmsIfscTraf implements Serializable {
    private static final long serialVersionUID = 1L;

    private Long vmsIfscId;
    private String vmsIfscNm;
    private String dsplStrtNodeNm;
    private String dsplEndNodeNm;
    private Long detrId;
    private String roadNm;
    private String spotNm;
    private String axisYn;

    private String prcnDt;
    private String cmtrGradCd;
    private Integer sped;
    private Integer trvlHh;

    public TbVmsIfscTrafDto toDto() {
        return TbVmsIfscTrafDto.builder()
                .vmsIfscId(this.vmsIfscId)
                .vmsIfscNm(this.vmsIfscNm)
                .dsplStrtNodeNm(this.dsplStrtNodeNm)
                .dsplEndNodeNm(this.dsplEndNodeNm)
                .detrId(this.detrId)
                .roadNm(this.roadNm)
                .spotNm(this.spotNm)
                .axisYn(this.axisYn)
                .prcnDt(this.prcnDt)
                .cmtrGradCd(ItsUtils.parseIntDef(this.cmtrGradCd, 0))
                .sped(this.sped)
                .trvlHh(this.trvlHh)
                .cngstCnt(0)
                .cngstDt("")
                .build();
    }
//
//    public void trafCopy(TbVmsIfscTrafDto traf) {
//        traf.setDsplStrtNodeNm(this.dsplStrtNodeNm);
//        traf.setDsplEndNodeNm(this.dsplEndNodeNm);
//        traf.setDetrId(this.detrId);
//        traf.setRoadNm(this.roadNm);
//        traf.setSpotNm(this.spotNm);
//        traf.setAxisYn(this.axisYn);
//        traf.setPrcnDt(this.prcnDt);
//        traf.setCmtrGradCd(this.cmtrGradCd);
//        traf.setSped(this.sped);
//        traf.setTrvlHh(this.trvlHh);
//    }

}
