package incheon.cmm.g3d.DbMngList.vo;

import incheon.com.cmm.ComDefaultVO;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 디지털트윈 모델 관리 VO
 */
@lombok.Getter @lombok.Setter
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor

public class G3DDbMngVO extends ComDefaultVO {

    /** 디지털트윈모델ID (복합키 일부) */
    private Integer dgtlPairMdlId;

    /** 디지털트윈모델명 */
    @NotBlank(message = "모델명은 필수입니다.")
    @Size(max = 50, message = "모델명은 최대 50자까지 입력 가능합니다.")
    private String dgtlPairMdlNm;

    /** 디지털트윈모델설명 */
    @NotBlank(message = "모델설명은 필수입니다.")
    @Size(max = 200, message = "모델설명은 최대 200자까지 입력 가능합니다.")
    private String dgtlPairMdlExpln;

    /** 디지털트윈모델서비스 */
    private String dgtlPairMdlSrvcNm;

    /** 디지털트윈모델원본경로 */
    @Size(max = 200, message = "원본경로는 최대 200자까지 입력 가능합니다.")
    private String dgtlPairMdlOrgnlPath;
    
    /** 디지털트윈그룹코드 */
    @Size(max = 20, message = "그룹코드는 최대 20자까지 입력 가능합니다.")
    private String dgtlPairGroupCd;

    /** 서비스그룹코드 */
    @Size(max = 5, message = "그룹코드는 최대 5자까지 입력 가능합니다.")
    private String srvcGroupCd;
    
    /** 서비스분류코드 */
    @Size(max = 5, message = "그룹코드는 최대 5자까지 입력 가능합니다.")
    private String srvcClsfCd;
    
    /** 디지털트윈카테고리 */
    @Size(max = 20, message = "카테고리는 최대 20자까지 입력 가능합니다.")
    private String dgtlPairCtgry;

    /** 서비스구분코드 (복합키 일부) */
    @Size(max = 1, message = "서비스구분코드는 1자만 입력 가능합니다.")
    private String srvcSeCd;

    /** 디지털트윈모델타입 */
    @NotBlank(message = "모델타입은 필수입니다.")
    @Size(max = 20, message = "모델타입은 최대 20자까지 입력 가능합니다.")
    private String dgtlPairMdlTy;

    /** 디지털트윈모델변환옵션 (JSONB) */
    private String dgtlPairMdlTrsfOption;

    /** 디지털트윈모델변환작업상태 */
    @NotBlank(message = "변환작업상태는 필수입니다.")
    @Size(max = 20, message = "변환작업상태는 최대 20자까지 입력 가능합니다.")
    private String dgtlPairMdlTrsfJobStts;

    /** 최초등록자ID */
    @Size(max = 20, message = "등록자ID는 최대 20자까지 입력 가능합니다.")
    private String frstRegId;

    /** 최초등록일시 */
    private Date frstRegDt;

    /** 최종수정자ID */
    @Size(max = 20, message = "수정자ID는 최대 20자까지 입력 가능합니다.")
    private String lastMdfcnId;

    /** 최종수정일시 */
    private Date lastMdfcnDt;

    /** 행 번호 (조회용) */
    private String rn;
    private String input;
    private String method;
    // input을 받으면 dgtlPairMdlOrgnlPath에 자동 매핑
    public void setInput(String input) {
        this.dgtlPairMdlOrgnlPath = input;
    }
	public Object getWorkspace() {
		// TODO Auto-generated method stub
		return null;
	}
}