package kcg.faics.tg.vo;

import org.springframework.web.multipart.MultipartFile;

/**
 * 외사취약지 Value Object.
 * 
 * @author kimnomin
 *
 */
public class WeakPlaceVO {
	/**
	 * 소속 코드.
	 */
	private String place1;
	/**
	 * 소속명.
	 */
	private String place1str;
	/**
	 * 일련번호.
	 */
	private int wpNo;
	/**
	 * 취약지명.
	 */
	private String name;
	/**
	 * 소재지.
	 */
	private String location;
	/**
	 * 선정사유.
	 */
	private String comments;
	/**
	 * 요도 첨부파일 객체. 
	 */
	private MultipartFile file1;
	/**
	 * 요도 첨부파일.
	 */
	private String filename1 = "";
	/**
	 * 화면에 출력할 요도 첨부파일 여부 텍스트.
	 * O : 있다, - : 없다.
	 */
	private String filename1viewStr = "-";
	/**
	 * 첨부파일 객체. 
	 */
	private MultipartFile file2;
	/**
	 * 첨부파일.
	 */
	private String filename2 = "";
	/**
	 * 등록자.
	 */
	private String writer;
	/**
	 * 등록일.
	 */
	private String credate;
	/**
	 * 수정일.
	 */
	private String logdate;
	
	
	/**
	 * 소속 코드을 반환한다.
	 * 
	 * @return 소속 코드
	 */
	public final String getPlace1() {
		return place1;
	}
	/**
	 * 소속 코드을 설정한다.
	 * 
	 * @param place1 소속 코드
	 */
	public final void setPlace1(final String place1) {
		this.place1 = place1;
	}
	/**
	 * 소속명을 반환한다.
	 * 
	 * @return 소속명
	 */
	public final String getPlace1str() {
		return place1str;
	}
	/**
	 * 소속명을 설정한다.
	 * 
	 * @param place1str 소속명
	 */
	public final void setPlace1str(final String place1str) {
		this.place1str = place1str;
	}
	/**
	 * 일련번호를 반환한다.
	 * 
	 * @return 일련번호
	 */
	public final int getWpNo() {
		return wpNo;
	}
	/**
	 * 일련번호를 설정한다.
	 * 
	 * @param wpNo 일련번호
	 */
	public final void setWpNo(final int wpNo) {
		this.wpNo = wpNo;
	}
	/**
	 * 관리번호를 반환한다.
	 * 
	 * @return 관리번호
	 */
	public final String getWpNoStr() {
		return String.format("%s - %s", this.place1str, this.wpNo);
	}
	/**
	 * 취약지명을 반환한다.
	 * 
	 * @return 취약지명
	 */
	public final String getName() {
		return name;
	}
	/**
	 * 취약지명을 설정한다.
	 * 
	 * @param name 취약지명
	 */
	public final void setName(final String name) {
		this.name = name;
	}
	/**
	 * 소재지를 반환한다.
	 * 
	 * @return 소재지
	 */
	public final String getLocation() {
		return location;
	}
	/**
	 * 소재지를 설정한다.
	 * 
	 * @param location 소재지
	 */
	public final void setLocation(final String location) {
		this.location = location;
	}
	/**
	 * 선정사유를 반환한다.
	 * 
	 * @return 선정사유
	 */
	public final String getComments() {
		return comments;
	}
	/**
	 * 선정사유를 설정한다.
	 * 
	 * @param comments 선정사유
	 */
	public final void setComments(final String comments) {
		this.comments = comments;
	}
	/**
	 * 요도 첨부파일 객체를 반환한다.
	 * 
	 * @return 요도 첨부파일 객체
	 */
	public final MultipartFile getFile1() {
		return file1;
	}
	/**
	 * 요도 첨부파일 객체를 설정한다. 
	 * 
	 * @param file1 요도 첨부파일 객체
	 */
	public final void setFile1(final MultipartFile file1) {
		this.file1 = file1;
		if (this.file1 != null) {
			setFilename1(this.file1.getOriginalFilename());
		}
	}
	/**
	 * 요도 첨부파일을 반환한다.
	 * 
	 * @return 요도 첨부파일
	 */
	public final String getFilename1() {
		return filename1;
	}
	/**
	 * 요도 첨부파일을 설정한다.
	 * 
	 * @param filename1 요도 첨부파일
	 */
	public final void setFilename1(final String filename1) {
		this.filename1 = filename1;
		if (this.filename1 != null && this.filename1.trim().length() > 0) {
			setFilename1viewStr("O");
		} else {
			setFilename1viewStr("-");
		}
	}
	/**
	 * 화면에 출력할 요도 첨부파일 여부 텍스트를 반환한다.
	 * 
	 * @return 화면에 출력할 요도 첨부파일 여부 텍스트
	 */
	public final String getFilename1viewStr() {
		return filename1viewStr;
	}
	/**
	 * 화면에 출력할 요도 첨부파일 여부 텍스트를 설정한다.
	 * 
	 * @param filename1viewStr 화면에 출력할 요도 첨부파일 여부 텍스트
	 */
	public final void setFilename1viewStr(final String filename1viewStr) {
		this.filename1viewStr = filename1viewStr;
	}
	/**
	 * 첨부파일 객체를 반환한다.
	 * 
	 * @return 첨부파일
	 */
	public final MultipartFile getFile2() {
		return file2;
	}
	/**
	 * 첨부파일 객체를 설정한다.
	 * 
	 * @param file2 첨부파일
	 */
	public final void setFile2(final MultipartFile file2) {
		this.file2 = file2;
		if (this.file2 != null) {
			setFilename2(this.file2.getOriginalFilename());
		}		
	}
	/**
	 * 첨부파일를 반환한다.
	 * 
	 * @return 첨부파일
	 */
	public final String getFilename2() {
		return filename2;
	}
	/**
	 * 첨부파일를 설정한다.
	 * 
	 * @param filename2 첨부파일
	 */
	public final void setFilename2(final String filename2) {
		this.filename2 = filename2;
	}
	/**
	 * 등록자를 반환한다.
	 * 
	 * @return 등록자
	 */
	public final String getWriter() {
		return writer;
	}
	/**
	 * 등록자를 설정한다.
	 * 
	 * @param writer 등록자
	 */
	public final void setWriter(final String writer) {
		this.writer = writer;
	}
	/**
	 * 등록일을 반환한다.
	 * 
	 * @return 등록일
	 */
	public final String getCredate() {
		return credate;
	}
	/**
	 * 등록일을 설정한다.
	 * 
	 * @param credate 등록일
	 */
	public final void setCredate(final String credate) {
		this.credate = credate;
	}
	/**
	 * 수정일을 반환한다.
	 * 
	 * @return 수정일
	 */
	public final String getLogdate() {
		return logdate;
	}
	/**
	 * 수정일을 설정한다.
	 * 
	 * @param logdate 수정일
	 */
	public final void setLogdate(final String logdate) {
		this.logdate = logdate;
	}
}
