package com.takensoft.pohangTp.common.vo;

import java.util.ArrayList;
import java.util.List;

import lombok.Getter;
import lombok.Setter;



/**
 * @author 김성원
 * @since 2024.01.09
 * 
 * 공통 검색 VO 입니다.(상속받으세요)
 */
@Getter
@Setter
public class CommonVO {

	/**************************** 공통 ****************************/
	/**
	 * 검색조건
	 */
	private String searchCondition = "";

	/**
	 * 검색Keyword
	 */
	private String searchKeyword = "";
	
	/**
	 * 검색Keyword
	 */
	private List<String> searchKeywordList = new ArrayList<String>();

	/** 
	 * 검색사용여부
	 */
	private String searchUseYn = "";
  
	/** 
	 * 검색 시작일
	 */
	private String startDate = "";
  
	/** 
	 * 검색 종료일
	 */
	private String endDate = "";
	
	/** 
	 * 정렬 기준 (컬럼명)
	 */
	private String order = "";
	
	/** 
	 * 정렬 타입
	 * true - ASC
	 * false - DESC
	 */
	private boolean isOrderASC = true;

	/** 
	 * 현재페이지
	 */
	private int currentPage = 1;

	/** 
	 * 페이지갯수
	 */
	private int perPage = 10;
	
	/** 
	 * 총 개시물 수
	 */
	private int totalRows;
	
	/** 
	 * 페이징 사용 유무
	 */
	private boolean isUsePaging = true;
	
	/** firstIndex */
	private int firstIndex = 1;

	/** lastIndex */
	private int lastIndex = 1;
	
	/** 페이지사이즈 */
	private int pageSize = 10;
	
	/** recordCountPerPage */
	private int recordCountPerPage = 10;	  
	
	
	public boolean getIsUsePaging() {
		return isUsePaging;
	}

	public void setIsUsePaging(boolean isUsePaging) {
		this.isUsePaging = isUsePaging;
	}
	/**************************** 공통 ****************************/
	
	/**************************** 검색어 분할 ****************************/
	

	public void setSearchKeywordList(List<String> searchKeywordList) {
		this.searchKeywordList = searchKeywordList;
	}
	/**************************** 검색어 분할 ****************************/
	
	/**************************** 데이터베이스 별 페이징 ****************************/

	
	private int startIndex;
	
	/** 
	 * 마지막 게시물의 인덱스 번호 (변환과정없음, 0부터 시작)
	 */
	private long limit = 0;
	

	public void searchClear() {
		searchCondition = "";
		searchKeyword = "";
		searchUseYn = "";
		startDate = "";
		endDate = "";
		order = "";
	}
	
	/**************************** 데이터베이스 별 페이징 ****************************/
	
}
