package incheon.cmm.g2f.layer.vo;

import incheon.com.cmm.ComDefaultVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;

@EqualsAndHashCode(callSuper = true)
@lombok.Getter @lombok.Setter
@Schema(description = "항공 사진 레이어 검색 요청")
public class FlightPhotoLayerSearchRequestDTO extends ComDefaultVO {

	@Schema(description = "항공 사진 레이어 ID")
	Integer flightPhotoLyrId;

	@Schema(description = "업무 레이어 이름")
	String flightPhotoLyrNm;

	@Schema(description = "레이어 그룹 코드")
	String lyrGroupCd;

	@Schema(description = "레이어 분류 코드")
	String lyrClsfCd;

	@Schema(description = "레이어 서비스 매트릭스 이름", example = "GoogleMapsCompatible")
	String lyrSrvcMatrixNm;

	@Schema(description = "좌표계", example = "5186")
	Integer cntm;

	@Schema(description = "검색 단어")
	private String searchKeyword;

	@Schema(description = "정렬 컬럼", example = "flight_photo_lyr_nm")
    private String sortColumn = "flight_photo_lyr_nm";

	@Schema(description = "정렬 방향", example = "ASC")
    private String sortDirection = "ASC";

	@Schema(description = "페이지 크기", example = "10")
    private int pageSize = 0;
    
    public int getOffset() {
        return (getPageIndex() - 1) * getPageSize();
    }

	public void setFlightPhotoLyrNm(String flightPhotoLyrNm){
		this.flightPhotoLyrNm = flightPhotoLyrNm;
		this.searchKeyword = flightPhotoLyrNm;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}
}
