diff --git a/src/main/java/nlib/cmm/service/PagingVO.java b/src/main/java/nlib/cmm/service/PagingVO.java index 23ec0d0d..a1d8ca0e 100644 --- a/src/main/java/nlib/cmm/service/PagingVO.java +++ b/src/main/java/nlib/cmm/service/PagingVO.java @@ -1,18 +1,40 @@ package nlib.cmm.service; +/** + *
+ * @Class Name : PagingVO.java
+ * 
+ * @Description : 페이지 정보 VO 
+ * 
+ * 
+ * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
+ *
+ * 
+ * + * @ ------------ -------- --------------------------- + * @ 수정일 수정자 수정내용 + * @ ------------ -------- --------------------------- + * @ 2021. 09. 06. KNKIM 최초 생성 + * @ 2021. 10. 01. JSYOO 화면 페이징 공통 모듈 개발 + * + * @author 이씨플라자 * DIGITALSHIP KNKIM + * @since 2021. 09. 06. + * @version 1.0 + * + */ public class PagingVO { public final int DEFAULT_PAGE_SIZE = NlibProperty.getInt("list.paging.page.size", 10); - private int pageIndex = 1; /* 페이지 번호 */ + private int pageIndex = 1; /* 페이지 번호 */ private int pageSize = DEFAULT_PAGE_SIZE; /* 페이지 크기 (1페이지당 보여줄 자료건수) */ - private int totRecordCount = 0; /* 총건수 */ - private int pageStart = 0; /* 시작번호 (limit용)*/ - private int startPage = 0; /*시작페이지 */ - private int endPage = 0; /* 끝페이지 */ - private int lastPage = 0; /* 마지막페이지 */ + private int totRecordCount = 0; /* 총건수 */ - private int cntPage = DEFAULT_PAGE_SIZE; /* 노출되는 페이지 개수 ex) << < 1 2 3 4 5 > >> */ + private int pageStart = 0; /* 시작번호 (limit용)*/ + private int startPage = 0; /* 시작페이지 */ + private int endPage = 0; /* 끝페이지 */ + private int lastPage = 0; /* 마지막페이지 */ + private int cntPage = DEFAULT_PAGE_SIZE; /* 페이지 네비게이션에 표시되는 페이지 개수 (ex) << < 1 2 3 4 5 > >> */ public int getStartPage() { return startPage; @@ -103,47 +125,48 @@ public class PagingVO { return ((pageIndex - 1) * pageSize); } - + public void setPagingVO(int totRecordCount, int pageIndex, int pageSize) { setPageIndex(pageIndex); - //현재 페이지 + // 현재 페이지 setPageSize(pageSize); - //페이지 당 게시글수 + // 페이지 당 게시글수 setTotRecordCount(totRecordCount); - //게시글 총 갯수 - calcLastPage(totRecordCount,pageSize); - //제일 마지막 페이지 계산 - - //시작 끝 페이지 계산 - 아래. + // 게시글 총 갯수 + calcLastPage(totRecordCount, pageSize); + // 제일 마지막 페이지 계산 + + // 시작 끝 페이지 계산 - 아래. calcStartEndPage(pageIndex, cntPage); setPageStart(pageIndex, pageSize); - + } + // 제일 마지막 페이지 계산 - public void calcLastPage(int totRecordCount, int pageSize) { - setLastPage((int) Math.ceil((double)totRecordCount / (double)pageSize)); + public void calcLastPage(int totRecordCount, int pageSize) { + setLastPage((int) Math.ceil((double) totRecordCount / (double) pageSize)); + } + + // 시작, 끝 페이지 계산 + public void calcStartEndPage(int pageIndex, int cntPage) { + setEndPage(((int) Math.ceil((double) pageIndex / (double) cntPage)) * cntPage); + if (getLastPage() < getEndPage()) { + setEndPage(getLastPage()); } - // 시작, 끝 페이지 계산 - public void calcStartEndPage(int pageIndex, int cntPage) { - setEndPage(((int)Math.ceil((double)pageIndex / (double)cntPage )) * cntPage ); - if (getLastPage() < getEndPage()) { - setEndPage(getLastPage()); - } - if(getTotRecordCount() > 0) - { - if(getEndPage() % cntPage == 0) - { - setStartPage( 1 + (getEndPage() / cntPage - 1) * cntPage); - }else { - setStartPage(getEndPage() / cntPage * cntPage +1); - } - } - if (getStartPage() < 1) { - setStartPage(1); + if (getTotRecordCount() > 0) { + if (getEndPage() % cntPage == 0) { + setStartPage(1 + (getEndPage() / cntPage - 1) * cntPage); + } else { + setStartPage(getEndPage() / cntPage * cntPage + 1); } } - // DB 쿼리에서 사용할 start값 계산 - public void setPageStart(int pageIndex, int pageSize) { - this.pageStart = ((pageIndex - 1) * pageSize); + if (getStartPage() < 1) { + setStartPage(1); } + } + + // DB 쿼리에서 사용할 start값 계산 + public void setPageStart(int pageIndex, int pageSize) { + this.pageStart = ((pageIndex - 1) * pageSize); + } }