package nlib.col.service;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import nlib.cmm.service.NlibProperty;
import nlib.cmm.service.PagingVO;
import nlib.util.StringUtil;

/**
 * <pre>
 * @Class Name : CollectionVO.java
 * 
 * @Description : 소장자료 관련 VO
 * 
 * 
 * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
 *
 * </pre>
 *
 * @ ------------    --------    ---------------------------
 * @ 수정일                     수정자             수정내용
 * @ ------------    --------    ---------------------------
 * @ 2021. 9. 23.    JSYOO       최초 생성
 * @ 2021.10. 06.    KKN         자료에 대한 세부 항목, 생성자 함수 추가 
 * 
 * 
 * @author 이씨플라자 * DIGITALSHIP JSYOO
 * @since 2021. 9. 28.
 * @version 1.0
 *
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class CollectionVO extends PagingVO {
	
	//--------------------------------------------
	// 자료항목 
	//--------------------------------------------
	protected String masterId;		/* 마스터id */
	protected String title;			/* 제목 */
	protected String rprsThumbUrl;	/* 대표썸네일URL   */
	protected String useYn;			/* 사용여부 */
	protected String regDd;			/* 등록일자 */
	protected String mngOrgNm;		/* 관리처리과명 */
	protected String mngOrgCd;		/* 관리처리과코드 */
	
	protected String typeDivCd;       /* 상위자료유형코드 */ 
	protected String typeDivNm;       /* 상위자료유형명 (도서간행물/문서/도면 등) : API 이름이 변경됨 typeCodeNm -> typeDivNm */
	protected String dtlsTypeDivCd;   /* 세부유형코드 */
	protected String dtlsTypeDivNm;   /* 세부유형명 */
	
	protected String subjectNmUp;     /* 상위주제분야명(대) */
	protected String subjectCdUp ;  /* 상위주제분야코드(대) */
	protected String subjectNm;       /* 주제분야명(소) */
	protected String subjectCd;       /* 주제분야코드(소) */
	
	protected String orgNm;           /* 생산기관명 */
	protected String creatYyyy;       /* 생산년도 */
	protected String interfaceId;     /* 지역N문화서비스ID */
	protected String openDivCd;       /* 원문공개코드 */
	protected String openDivNm;       /* 원문공개코드명 */
	protected String operReadRangeCd; /* 열람가능코드 */
	protected String operReadRangeNm; /* 열람가능코드명 */
	protected String operOutRangeCd;  /* 대출가능코드 */
	protected String operOutRangeNm;  /* 대출가능코드명 */
	protected String useStatus;       /* 이용상태코드 */
	protected String useStatusNm;     /* 이용상태코드명 */
	protected String rtnExpctDd;      /* 반납예정일자 */
	protected int    awaiterCnt;      /* 대출대기자수 */
	protected String bookLentPsblYn;  /* 현재대출신청가능여부 */
	protected String rsrvPsblYn;      /* 현재대출예약가능여부 */
	protected String reqPsblYn;       /* 현재열람신청가능여부 */
	protected String interestYn;      /* 사용자관심여부 */
	protected String mngtNo;          /* 관리번호 */
	protected String bookAuthor;      /* 저자명 */
	protected String bookPublisher;   /* 출판사명 */
	protected String bookPlbcTypeNm;  /* 발간유형명 */
	protected String bookPlbcMda;     /* 발간매채명 */
	protected String bookCallNo;      /* 청구기호 */
	protected String themeCodeNm;     /* 테마명 */
	protected String ageCodeNm;       /* 시대 */
	protected String chronologicalCodeStartNm;  /* 연대 start */
	protected String chronologicalCodeEndNm;    /* 연대 end */
	protected String keyword;         /* 키워드목록 */
	protected String bookIndex;       /* 목차정보 */
	protected String docNo;           /* (구)문서번호 */
	protected String mapTypeCd;       /* 도면지도구분코드 */
	protected String mapTypeNm;       /* 도면지도구분코드명 */
	protected String mapLoc;          /* 도면지도위치주소 */
	protected String photoMediaCd;         /* 사진필름미디어유형구분코드 */
	protected String photoMediaNm;         /* 사진필름미디어매체 */
	protected String photoSizeNm;          /* 사진필름미디어규격 */
	protected String photoDescription;     /* 사진필름미디어설명 */
	protected String photoAdditionalDescription;  /* 사진필름미디어부가설명 */
	protected String videoMediaCd;         /* 녹음동영상미디어유형구분코드 */
	protected String videoMediaNm;         /* 녹음동영상미디어유형구분코드명 */
	protected String videoTime;            /* 녹음동영상미디어재생시간 */
	protected String videoStat;            /* 녹음동영상미디어재생화질상태 */
	protected String videoDescription;     /* 녹음동영상미디어설명 */
	protected String videoAdditionalDescription;  /* 녹음동영상미디어부가설명 */
	protected String museTypeCd;                  /* 박물유형구분코드 */
	protected String museTypeNm;                  /* 박물유형구분코드명 */
	protected String museKindCd;                  /* 박물형태 */
	protected String museKindNm;                  /* 박물형태명 */
	protected String museMeterialCd;              /* 박물재질 */
	protected String museMeterialNm;              /* 박물재질명 */
	protected String assetLink;                   /* 자산링크 */
	protected String regId;                       /* 등록자ID */
	protected String modId;                       /* 변경자ID */
	protected String mUseYn;                      /* 관심여부 */


	//--------------------------------------------
	// 카트/관심 항목 
	//--------------------------------------------
	protected int    mbInterestId;	   /* 관심 id */
	protected String mbInfoId;		   /* 회원 id */
	protected String mbCartId;         /* 카트ID */
	protected String cartTypeCd;       /* 카트유형코드 */
	protected String cartProcDivCd;    /* 카트처리구분코드 */
	 
	//--------------------------------------------
	// 대출/열람관련  
	//--------------------------------------------
	protected String rsrvId;           /* 카트관련 대출/열람 예약ID */
	protected String rsrvDd;           /* 대출/열람신청예약일자 */
	protected String bookLtRvStatusCd; /* 대출상태구분코드 */
	protected String bookLtRvStatusNm; /* 대출상태구분코드명 */
	protected String rsrvExpctDd;      /* 대출예약만료일자 */
	protected String rtnDd;            /* 반납일자 */
	protected String rsrvDivCd;        /* 대출/예약 신청구분코드 */
	protected String rsrvDivNm;        /* 대출/예약 신청구분코드명 */
	 
	//--------------------------------------------
	// 열람관련  
	//--------------------------------------------
	protected String reqId;              /* 열람신청번호 */
	protected String reqDd;              /* 열람신청일자 */
	protected String hopeReqPridDtmFrom; /* 방문희망시작일자 */
	protected String hopeReqPridDtmTo;   /* 방문희망종료일자 */
	protected String reqStatusDivCd;     /* 열람상태구분코드 */
	protected String reqStatusDivNm;     /* 열람상태구분명 */
	protected String reqPsblDtmFrom;     /* 방문예정시작일자 */ 
	protected String reqPsblDtmTo;       /* 방문예정종료일자 */
	
	//--------------------------------------------
	// 기타 및 처리결과 항목 
	//--------------------------------------------
	protected String selItems;      /* 다건선택된 카트ID 목록 ","로 구분 */ 
	protected String resultCode;    /* 결과코드 */
	protected String resultMessage; /* 결과메시지 */

	//---------------------------------------------
	// 상세조회 페이지 함께 볼만한 자료관련
	//---------------------------------------------
	protected String deptNm;		/* 관리부서이름 */
	protected String domainHostNm;	/* 관리부서 호스트주소 */
	
	//---------------------------------------------
	// 자료 자체에 대한 서비스 가능 여부 (2021.11.24 추가, 2021.11.23 관계자 협의에 따라 최종 자료에 대한 서비스 가능 여부 API통해 전달받는 걸로 변경됨) 
	//---------------------------------------------
	protected String digitalReadYn;		/* 디지털열람여부 */
	protected String onReqYn;	        /* 온라인열람 */
	protected String lentYn;	        /* 대출가능여부 */
	protected String offReqYn;	        /* 방문열람가능여부 */
	protected String etcYn;	            /* 기타 여부 */
	
	
	//---------------------------------------------
	// 각종 상태 제공 서비스 
	//---------------------------------------------
	
	/**
	 * 기본 공개 여부를 리턴한다.
	 * 
	 * @return
	 */
	public boolean isPub() {
		
		// 사용여부 
		if(StringUtil.getString(useYn, "Y").equalsIgnoreCase("N")) return false;
		
		// 공개여부 (공개, 부분공개 포함) 
		if(StringUtil.getString(openDivCd, "3").equals("3")) return false;
		
		return true;
	}
	
	/**
	 * 방문열람 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleRead() {
		
		return "Y".equalsIgnoreCase(StringUtil.getString(getOnReqYn(), "N"));
			
		/* 각 서비스 가능 여부가 API에 별도 항목으로 추가됨에 따라 이하 주석 처리 2021.11.24) 
		
		// 기본공개 
		if(!isPub()) return false;
		
		// 열람여부 
		if(StringUtil.getString(operReadRangeCd, "03").equals("03")) return false;
		return true;
		
		*/
	}
	
	/**
	 * 대출 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleRent() {
		
		return "Y".equalsIgnoreCase(StringUtil.getString(getLentYn(), "N"));
		
		/* 각 서비스 가능 여부가 API에 별도 항목으로 추가됨에 따라 이하 주석 처리 2021.11.24) 
		
		// 기본공개 
		if(!isPub()) return false;
		
		// 대출구분
		if(StringUtil.getString(operOutRangeCd, "02").equals("02")) return false;

		return true;
		*/ 		
	}
	
	/**
	 * 온라인열람 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleOnline() {

		return "Y".equalsIgnoreCase(StringUtil.getString(getDigitalReadYn(), "N"));
		
		/* 각 서비스 가능 여부가 API에 별도 항목으로 추가됨에 따라 이하 주석 처리 2021.11.24) 
		// 기본공개 
		if(!isPub()) return false;
		
		// 디지털열람여부 
		if(!StringUtil.getString(digitalReadYn, "N").equalsIgnoreCase("Y")) return false;
		
		// 인터페이스ID 존재 
		if(StringUtil.isEmpty(interfaceId)) return false;
		
		return true;	
		*/
	}
	
	/**
	 * 기타 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleOther() {
		
		return "Y".equalsIgnoreCase(StringUtil.getString(getEtcYn(), "N"));

		/* 각 서비스 가능 여부가 API에 별도 항목으로 추가됨에 따라 이하 주석 처리 2021.11.24) 
		// 방문열람여부 
		if(isAbleRead()) return false;

		// 대출여부 
		if(isAbleRent()) return false;

		// 온라인여부 
		if(isAbleOnline()) return false;

		return true;
		*/
		
	}
	
	/**
	 * 현재 방문열람 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleReadNow() {
		
		// 방문열람 가능 자료 
		if(!isAbleRead()) return false;
		
		// 이용상태코드 확인 
		if(!":01:04:05:06:".contains(":" + StringUtil.getString(useStatus, "00") + ":")) return false;
		
		return true;
	}
	
	/**
	 * 현재 대출(신청 또는 예약) 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleRentNow() {
		return isAbleRentAppNow() || isAbleRentResNow();
	}
	
	/**
	 * 현재 대출 [신청] 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleRentAppNow() {
		
		// 대출 가능 자료 
		if(!isAbleRent()) return false;
		
		// 이용상태코드 확인 
		if(!":01:".contains(":" + StringUtil.getString(useStatus, "00") + ":")) return false;
		
		return true;
	}
	
	/**
	 * 현재 대출 [예약] 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleRentResNow() {

		// 대출 가능 자료 
		if(!isAbleRent()) return false;
		
		// 이용상태코드 확인 
		if(!":02:".contains(":" + StringUtil.getString(useStatus, "00") + ":")) return false;
		
		return true;
	}
	
	/**
	 * 현재 온라인열람 가능여부를 리턴한다. 
	 * @return
	 */
	public boolean isAbleOnlineNow() {

		// 대출 가능 자료 
		if(!isAbleOnline()) return false;
		
		// 이용상태코드 확인 
		if(!":07:".contains(":" + StringUtil.getString(useStatus, "00") + ":")) return false;
		
		return true;
	}
	
	//---------------------------------------------
	// 생성자
	//---------------------------------------------
	public CollectionVO() {
		super();
	}
	
	public CollectionVO(String resultCode, String resultMessage) {
		super();
		setResult(resultCode, resultMessage);
	}
	
	public void setResult(String resultCode, String resultMessage) {
		this.resultCode = resultCode;
		this.resultMessage = resultMessage;
	}
	
	public static CollectionVO createWithMasterId(String cartTypeCd, String masterId) {
		CollectionVO vo = new CollectionVO();
		vo.setCartTypeCd(cartTypeCd);
		vo.setMasterId(masterId);
		return vo;
	}
	
	// GET & SET 
	
	public String getMasterId() {
		return masterId;
	}
	public void setMasterId(String masterId) {
		this.masterId = masterId;
	}
	public int getMbInterestId() {
		return mbInterestId;
	}
	public void setMbInterestId(int mbInterestId) {
		this.mbInterestId = mbInterestId;
	}
	public void setMbInterestId(String mbInterestId) {
		this.mbInterestId = Integer.parseInt(mbInterestId);
	}
	public String getMbInfoId() {
		return mbInfoId;
	}
	public void setMbInfoId(String mbInfoId) {
		this.mbInfoId = mbInfoId;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getRprsThumbUrl() {
		return StringUtil.isNotEmpty(rprsThumbUrl) ? NlibProperty.getString("thumbnail.image.url.prefix", "") + rprsThumbUrl : "";
	}
	
	public String getRprsThumbUrlWithDefaultSmall() {
		return getRprsThumbUrlWithDefaultId("thumbnail.image.url.small");
	}
	public String getRprsThumbUrlWithDefaultMiddle() {
		return getRprsThumbUrlWithDefaultId("thumbnail.image.url.middle");
	}
	public String getRprsThumbUrlWithDefaultBig() {
		return getRprsThumbUrlWithDefaultId("thumbnail.image.url.big");
	}
	public String getRprsThumbUrlWithDefaultId(String propName) {
		
		if(StringUtil.isEmpty(rprsThumbUrl)) return NlibProperty.getString(propName);
		if(rprsThumbUrl.startsWith("http")) return rprsThumbUrl;
		
		return NlibProperty.getString("thumbnail.image.url.prefix", "") + rprsThumbUrl;
	}
	
	public void setRprsThumbUrl(String rprsThumbUrl) {
		
		if(StringUtil.isEmpty(rprsThumbUrl) || !(rprsThumbUrl.startsWith("/") || rprsThumbUrl.startsWith("http"))) {
			// 썸네일이 비어있거나, 유효하지 않은 문자로 시작되는 경우 
			this.rprsThumbUrl = null;
		} else { 
			// 그렇지 않은 경우, 입력된 썸네일로 설정 
			this.rprsThumbUrl = rprsThumbUrl;
		}
	}
	public String getUseYn() {
		return useYn;
	}
	public void setUseYn(String useYn) {
		this.useYn = useYn;
	}
	public String getRegDd() {
		return regDd;
	}
	public void setRegDd(String regDd) {
		this.regDd = regDd;
	}
	public String getMngOrgNm() {
		return mngOrgNm;
	}
	public void setMngOrgNm(String mngOrgNm) {
		this.mngOrgNm = mngOrgNm;
	}
	public String getMngOrgCd() {
		return mngOrgCd;
	}
	public void setMngOrgCd(String mngOrgCd) {
		this.mngOrgCd = mngOrgCd;
	}
	public String getTypeDivCd() {
		return typeDivCd;
	}
	public void setTypeDivCd(String typeDivCd) {
		this.typeDivCd = typeDivCd;
	}
	public String getTypeCodeNm() {
		return typeDivNm;
	}
	public void setTypeCodeNm(String typeCodeNm) {
		this.typeDivNm = typeCodeNm;
	}
	public String getSubjectNm() {
		return subjectNm;
	}
	public void setSubjectNm(String subjectNm) {
		this.subjectNm = subjectNm;
	}
	public String getOrgNm() {
		return orgNm;
	}
	public void setOrgNm(String orgNm) {
		this.orgNm = orgNm;
	}
	public String getCreatYyyy() {
		return creatYyyy;
	}
	public void setCreatYyyy(String creatYyyy) {
		this.creatYyyy = creatYyyy;
	}
	public String getInterfaceId() {
		return interfaceId;
	}
	public void setInterfaceId(String interfaceId) {
		this.interfaceId = interfaceId;
	}
	public String getOpenDivCd() {
		return openDivCd;
	}
	public void setOpenDivCd(String openDivCd) {
		this.openDivCd = openDivCd;
	}
	public String getOpenDivNm() {
		return openDivNm;
	}
	public void setOpenDivNm(String openDivNm) {
		this.openDivNm = openDivNm;
	}
	public String getOperReadRangeCd() {
		return operReadRangeCd;
	}
	public void setOperReadRangeCd(String operReadRangeCd) {
		this.operReadRangeCd = operReadRangeCd;
	}
	public String getOperReadRangeNm() {
		/*  01:전체열람 02: 목록열람 03:열람불가 */
		if("01".equals(operReadRangeCd)) return "전체열람";
		else if("02".equals(operReadRangeCd)) return "목록열람";
		else if("03".equals(operReadRangeCd)) return "열람불가";
		
		return operReadRangeNm;
	}
	public void setOperReadRangeNm(String operReadRangeNm) {
		this.operReadRangeNm = operReadRangeNm;
	}
	public String getOperOutRangeCd() {
		return operOutRangeCd;
	}
	public void setOperOutRangeCd(String operOutRangeCd) {
		this.operOutRangeCd = operOutRangeCd;
	}
	public String getOperOutRangeNm() {
		/* 01:대출가능 02: 대출불가 */
		if("01".equals(operOutRangeCd)) return "대출가능";
		else if("02".equals(operOutRangeCd)) return "대출불가";
		
		return operOutRangeNm;
	}
	public void setOperOutRangeNm(String operOutRangeNm) {
		this.operOutRangeNm = operOutRangeNm;
	}
	public String getUseStatus() {
		return useStatus;
	}
	public void setUseStatus(String useStatus) {
		this.useStatus = useStatus;
	}
	public String getUseStatusNm() {
		
		/*  01 : 이용가능
			02 : 대출중 (대기자 0명)
			03 : 대출중 (대기자 1명)
			04 : 열람대기(대출가능)
			05 : 이용가능
			06 : 열람대기(대출불가능)
			07 : 온라인열람만
			99 : 서비스 불가 
		 */
		if("01".equals(useStatus)) return "이용가능";
		else if("02".equals(useStatus)) return String.format("대출중 (대기자 %s명)", awaiterCnt);
		else if("03".equals(useStatus)) return String.format("대출중 (대기자 %s명)", awaiterCnt);
		else if("04".equals(useStatus)) return "열람대기(대출가능)";
		else if("05".equals(useStatus)) return "이용가능";
		else if("06".equals(useStatus)) return "열람대기(대출불가능)";
		else if("07".equals(useStatus)) return "온라인열람만";
		else if("99".equals(useStatus)) return "서비스 불가";
		
		return useStatusNm; // 이외인 경우, 별도 설정 처리된 문구 반환 
	}
	public void setUseStatusNm(String useStatusNm) {
		this.useStatusNm = useStatusNm;
	}
	public String getRtnExpctDd() {
		return rtnExpctDd;
	}
	public void setRtnExpctDd(String rtnExpctDd) {
		this.rtnExpctDd = rtnExpctDd;
	}
	public int getAwaiterCnt() {
		return awaiterCnt;
	}
	public void setAwaiterCnt(int awaiterCnt) {
		this.awaiterCnt = awaiterCnt;
	}
	public String getBookLentPsblYn() {
		return bookLentPsblYn;
	}
	public void setBookLentPsblYn(String bookLentPsblYn) {
		this.bookLentPsblYn = bookLentPsblYn;
	}
	public String getRsrvPsblYn() {
		return rsrvPsblYn;
	}
	public void setRsrvPsblYn(String rsrvPsblYn) {
		this.rsrvPsblYn = rsrvPsblYn;
	}
	public String getReqPsblYn() {
		return reqPsblYn;
	}
	public void setReqPsblYn(String reqPsblYn) {
		this.reqPsblYn = reqPsblYn;
	}
	public String getInterestYn() {
		return interestYn;
	}
	public void setInterestYn(String interestYn) {
		this.interestYn = interestYn;
	}
	public String getDtlsTypeDivCd() {
		return dtlsTypeDivCd;
	}
	public void setDtlsTypeDivCd(String dtlsTypeDivCd) {
		this.dtlsTypeDivCd = dtlsTypeDivCd;
	}
	public String getDtlsTypeDivNm() {
		return dtlsTypeDivNm;
	}
	public void setDtlsTypeDivNm(String dtlsTypeDivNm) {
		this.dtlsTypeDivNm = dtlsTypeDivNm;
	}
	public String getMngtNo() {
		return mngtNo;
	}
	public void setMngtNo(String mngtNo) {
		this.mngtNo = mngtNo;
	}
	public String getBookAuthor() {
		return bookAuthor;
	}
	public void setBookAuthor(String bookAuthor) {
		this.bookAuthor = bookAuthor;
	}
	public String getBookPublisher() {
		return bookPublisher;
	}
	public void setBookPublisher(String bookPublisher) {
		this.bookPublisher = bookPublisher;
	}
	public String getBookPlbcTypeNm() {
		return bookPlbcTypeNm;
	}
	public void setBookPlbcTypeNm(String bookPlbcTypeNm) {
		this.bookPlbcTypeNm = bookPlbcTypeNm;
	}
	public String getBookPlbcMda() {
		return bookPlbcMda;
	}
	public void setBookPlbcMda(String bookPlbcMda) {
		this.bookPlbcMda = bookPlbcMda;
	}
	public String getBookCallNo() {
		return bookCallNo;
	}
	public void setBookCallNo(String bookCallNo) {
		this.bookCallNo = bookCallNo;
	}
	public String getThemeCodeNm() {
		return themeCodeNm;
	}
	public void setThemeCodeNm(String themeCodeNm) {
		this.themeCodeNm = themeCodeNm;
	}
	public String getAgeCodeNm() {
		return ageCodeNm;
	}
	public void setAgeCodeNm(String ageCodeNm) {
		this.ageCodeNm = ageCodeNm;
	}
	public String getChronologicalCodeStartNm() {
		return chronologicalCodeStartNm;
	}
	public void setChronologicalCodeStartNm(String chronologicalCodeStartNm) {
		this.chronologicalCodeStartNm = chronologicalCodeStartNm;
	}
	public String getChronologicalCodeEndNm() {
		return chronologicalCodeEndNm;
	}
	public void setChronologicalCodeEndNm(String chronologicalCodeEndNm) {
		this.chronologicalCodeEndNm = chronologicalCodeEndNm;
	}
	public String getKeyword() {
		return keyword;
	}
	public void setKeyword(String keyword) {
		this.keyword = keyword;
	}
	public String getBookIndex() {
		return bookIndex;
	}
	public void setBookIndex(String bookIndex) {
		this.bookIndex = bookIndex;
	}
	public String getDocNo() {
		return docNo;
	}
	public void setDocNo(String docNo) {
		this.docNo = docNo;
	}
	public String getMapTypeCd() {
		return mapTypeCd;
	}
	public void setMapTypeCd(String mapTypeCd) {
		this.mapTypeCd = mapTypeCd;
	}
	public String getMapTypeNm() {
		return mapTypeNm;
	}
	public void setMapTypeNm(String mapTypeNm) {
		this.mapTypeNm = mapTypeNm;
	}
	public String getMapLoc() {
		return mapLoc;
	}
	public void setMapLoc(String mapLoc) {
		this.mapLoc = mapLoc;
	}
	public String getPhotoMediaCd() {
		return photoMediaCd;
	}
	public void setPhotoMediaCd(String photoMediaCd) {
		this.photoMediaCd = photoMediaCd;
	}
	public String getPhotoMediaNm() {
		return photoMediaNm;
	}
	public void setPhotoMediaNm(String photoMediaNm) {
		this.photoMediaNm = photoMediaNm;
	}
	public String getPhotoSizeNm() {
		return photoSizeNm;
	}
	public void setPhotoSizeNm(String photoSizeNm) {
		this.photoSizeNm = photoSizeNm;
	}
	public String getPhotoDescription() {
		return photoDescription;
	}
	public void setPhotoDescription(String photoDescription) {
		this.photoDescription = photoDescription;
	}
	public String getPhotoAdditionalDescription() {
		return photoAdditionalDescription;
	}
	public void setPhotoAdditionalDescription(String photoAdditionalDescription) {
		this.photoAdditionalDescription = photoAdditionalDescription;
	}
	public String getVideoMediaCd() {
		return videoMediaCd;
	}
	public void setVideoMediaCd(String videoMediaCd) {
		this.videoMediaCd = videoMediaCd;
	}
	public String getVideoMediaNm() {
		return videoMediaNm;
	}
	public void setVideoMediaNm(String videoMediaNm) {
		this.videoMediaNm = videoMediaNm;
	}
	public String getVideoTime() {
		return videoTime;
	}
	public void setVideoTime(String videoTime) {
		this.videoTime = videoTime;
	}
	public String getVideoStat() {
		return videoStat;
	}
	public void setVideoStat(String videoStat) {
		this.videoStat = videoStat;
	}
	public String getVideoDescription() {
		return videoDescription;
	}
	public void setVideoDescription(String videoDescription) {
		this.videoDescription = videoDescription;
	}
	public String getVideoAdditionalDescription() {
		return videoAdditionalDescription;
	}
	public void setVideoAdditionalDescription(String videoAdditionalDescription) {
		this.videoAdditionalDescription = videoAdditionalDescription;
	}
	public String getMuseTypeCd() {
		return museTypeCd;
	}
	public void setMuseTypeCd(String museTypeCd) {
		this.museTypeCd = museTypeCd;
	}
	public String getMuseTypeNm() {
		return museTypeNm;
	}
	public void setMuseTypeNm(String museTypeNm) {
		this.museTypeNm = museTypeNm;
	}
	public String getMuseKindCd() {
		return museKindCd;
	}
	public void setMuseKindCd(String museKindCd) {
		this.museKindCd = museKindCd;
	}
	public String getMuseKindNm() {
		return museKindNm;
	}
	public void setMuseKindNm(String museKindNm) {
		this.museKindNm = museKindNm;
	}
	public String getMuseMeterialCd() {
		return museMeterialCd;
	}
	public void setMuseMeterialCd(String museMeterialCd) {
		this.museMeterialCd = museMeterialCd;
	}
	public String getMuseMeterialNm() {
		return museMeterialNm;
	}
	public void setMuseMeterialNm(String museMeterialNm) {
		this.museMeterialNm = museMeterialNm;
	}
	public String getAssetLink() {
		return assetLink;
	}
	public void setAssetLink(String assetLink) {
		this.assetLink = assetLink;
	}
	public String getResultCode() {
		return resultCode;
	}
	public void setResultCode(String resultCode) {
		this.resultCode = resultCode;
	}
	public String getResultMessage() {
		return resultMessage;
	}
	public void setResultMessage(String resultMessage) {
		this.resultMessage = resultMessage;
	}

	public String getMbCartId() {
		return mbCartId;
	}

	public void setMbCartId(String mbCartId) {
		this.mbCartId = mbCartId;
	}

	public String getCartTypeCd() {
		return cartTypeCd;
	}

	public void setCartTypeCd(String cartTypeCd) {
		this.cartTypeCd = cartTypeCd;
	}

	public String getRsrvId() {
		return rsrvId;
	}

	public void setRsrvId(String rsrvId) {
		this.rsrvId = rsrvId;
	}

	public String getCartProcDivCd() {
		return cartProcDivCd;
	}

	public void setCartProcDivCd(String cartProcDivCd) {
		this.cartProcDivCd = cartProcDivCd;
	}

	public String getRegId() {
		return regId;
	}

	public void setRegId(String regId) {
		this.regId = regId;
	}

	public String getModId() {
		return modId;
	}

	public void setModId(String modId) {
		this.modId = modId;
	}

	public String getSelItems() {
		return selItems;
	}

	public void setSelItems(String selItems) {
		this.selItems = selItems;
	}

	public String getBookLtRvStatusCd() {
		return bookLtRvStatusCd;
	}

	public void setBookLtRvStatusCd(String bookLtRvStatusCd) {
		this.bookLtRvStatusCd = bookLtRvStatusCd;
	}

	public String getRsrvDd() {
		return rsrvDd;
	}

	public void setRsrvDd(String rsrvDd) {
		this.rsrvDd = rsrvDd;
	}

	public String getBookLtRvStatusNm() {
		return bookLtRvStatusNm;
	}

	public void setBookLtRvStatusNm(String bookLtRvStatusNm) {
		this.bookLtRvStatusNm = bookLtRvStatusNm;
	}

	public String getRsrvExpctDd() {
		return rsrvExpctDd;
	}

	public void setRsrvExpctDd(String rsrvExpctDd) {
		this.rsrvExpctDd = rsrvExpctDd;
	}

	public String getRtnDd() {
		return rtnDd;
	}

	public void setRtnDd(String rtnDd) {
		this.rtnDd = rtnDd;
	}

	public String getmUseYn() {
		return getMUseYn();
	}
	
	public String getMUseYn() {
		return StringUtil.isEmpty(mUseYn) ? "N" : mUseYn;
	}
	
	public void setmUseYn(String mUseYn) {
		setMUseYn(mUseYn);
	}

	public void setMUseYn(String mUseYn) {
		this.mUseYn = mUseYn;
	}

	public String getHopeReqPridDtmFrom() {
		return hopeReqPridDtmFrom;
	}

	public void setHopeReqPridDtmFrom(String hopeReqPridDtmFrom) {
		this.hopeReqPridDtmFrom = hopeReqPridDtmFrom;
	}

	public String getHopeReqPridDtmTo() {
		return hopeReqPridDtmTo;
	}

	public void setHopeReqPridDtmTo(String hopeReqPridDtmTo) {
		this.hopeReqPridDtmTo = hopeReqPridDtmTo;
	}
	public String getSubjectNmUp() {
		return subjectNmUp;
	}

	public void setSubjectNmUp(String subjectNmUp) {
		this.subjectNmUp = subjectNmUp;
	}

	public String getSubjectCdUp() {
		return subjectCdUp;
	}

	public void setSubjectCdUp(String subjectCdUp) {
		this.subjectCdUp = subjectCdUp;
	}

	public String getSubjectCd() {
		return subjectCd;
	}

	public void setSubjectCd(String subjectCd) {
		this.subjectCd = subjectCd;
	}

	public String getRsrvDivCd() {
		return rsrvDivCd;
	}

	public void setRsrvDivCd(String rsrvDivCd) {
		this.rsrvDivCd = rsrvDivCd;
	}

	public String getRsrvDivNm() {
		return rsrvDivNm;
	}

	public void setRsrvDivNm(String rsrvDivNm) {
		this.rsrvDivNm = rsrvDivNm;
	}

	public String getReqStatusDivCd() {
		return reqStatusDivCd;
	}

	public void setReqStatusDivCd(String reqStatusDivCd) {
		this.reqStatusDivCd = reqStatusDivCd;
	}

	public String getReqStatusDivNm() {
		return reqStatusDivNm;
	}

	public void setReqStatusDivNm(String reqStatusDivNm) {
		this.reqStatusDivNm = reqStatusDivNm;
	}

	public String getReqPsblDtmFrom() {
		return reqPsblDtmFrom;
	}

	public void setReqPsblDtmFrom(String reqPsblDtmFrom) {
		this.reqPsblDtmFrom = reqPsblDtmFrom;
	}

	public String getReqPsblDtmTo() {
		return reqPsblDtmTo;
	}

	public void setReqPsblDtmTo(String reqPsblDtmTo) {
		this.reqPsblDtmTo = reqPsblDtmTo;
	}

	public String getReqId() {
		return reqId;
	}

	public void setReqId(String reqId) {
		this.reqId = reqId;
	}

	public String getReqDd() {
		return reqDd;
	}

	public void setReqDd(String reqDd) {
		this.reqDd = reqDd;
	}

	public String getTypeDivNm() {
		return typeDivNm;
	}

	public void setTypeDivNm(String typeDivNm) {
		this.typeDivNm = typeDivNm;
	}
	public String getDeptNm() {
		return deptNm;
	}

	public void setDeptNm(String deptNm) {
		this.deptNm = deptNm;
	}

	public String getDomainHostNm() {
		return domainHostNm;
	}

	public void setDomainHostNm(String domainHostNm) {
		this.domainHostNm = domainHostNm;
	}
	
	public String getDigitalReadYn() {
		return digitalReadYn;
	}

	public void setDigitalReadYn(String digitalReadYn) {
		this.digitalReadYn = digitalReadYn;
	}

	public String getOnReqYn() {
		return onReqYn;
	}

	public void setOnReqYn(String onReqYn) {
		this.onReqYn = onReqYn;
	}

	public String getLentYn() {
		return lentYn;
	}

	public void setLentYn(String lentYn) {
		this.lentYn = lentYn;
	}

	public String getOffReqYn() {
		return offReqYn;
	}

	public void setOffReqYn(String offReqYn) {
		this.offReqYn = offReqYn;
	}

	public String getEtcYn() {
		return etcYn;
	}

	public void setEtcYn(String etcYn) {
		this.etcYn = etcYn;
	}
	
	
}

