Files
HRMS/hrmsEjb/wenrgise/ejb/common/utility/PositionResolver.java
2025-07-28 13:56:49 +05:30

51 lines
1.9 KiB
Java

package wenrgise.ejb.common.utility;
import wenrgise.common.vo.BaseQueryVO;
import wenrgise.common.vo.DetailSizeValues;
public class PositionResolver {
public static long getStartPosition(BaseQueryVO oBaseQueryVO, long lTotalCount) {
int iMaxHeaderSize = oBaseQueryVO.getMaxHeaderSize();
long lPositionRequested = oBaseQueryVO.getPositionRequested();
if (lPositionRequested != 0L) {
long l;
return l = lPositionRequested;
}
int iStep = (int)(lTotalCount / iMaxHeaderSize);
long lStartPosition;
return lStartPosition = (iStep * iMaxHeaderSize + 1);
}
public static long getLastPosition(BaseQueryVO oBaseQueryVO, long lTotalCount) {
long lLastPosition;
int iMaxHeaderSize = oBaseQueryVO.getMaxHeaderSize();
long lPositionRequested = oBaseQueryVO.getPositionRequested();
if (lPositionRequested != 0L) {
if (lPositionRequested + iMaxHeaderSize - 1L < lTotalCount) {
lLastPosition = lPositionRequested + iMaxHeaderSize - 1L;
} else {
lLastPosition = lTotalCount;
}
} else {
lLastPosition = lTotalCount;
}
return lLastPosition;
}
public static long getDetailFirstPosition(int iStartPage, long lTotalDetailRecord, DetailSizeValues oDetailSizeValues) {
int iDetailRecordPerPage = oDetailSizeValues.getDetailRecordPerPage();
int iMaxPage = oDetailSizeValues.getMaxPages();
if (lTotalDetailRecord > ((iStartPage - 1) * iDetailRecordPerPage))
return ((iStartPage - 1) * iDetailRecordPerPage + 1);
return 1L;
}
public static long getDetailLastPosition(int iStartPage, long lTotalDetailRecord, DetailSizeValues oDetailSizeValues) {
int iDetailRecordPerPage = oDetailSizeValues.getDetailRecordPerPage();
int iMaxPage = oDetailSizeValues.getMaxPages();
if (lTotalDetailRecord > ((iStartPage + iMaxPage - 1) * iDetailRecordPerPage))
return ((iStartPage + iMaxPage - 1) * iDetailRecordPerPage);
return lTotalDetailRecord;
}
}