去除pagehelper jar包
This commit is contained in:
parent
721f6046da
commit
f11d6a035c
Binary file not shown.
|
|
@ -0,0 +1,170 @@
|
|||
package com.engine.salary.common;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Page<E> extends ArrayList<E> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 页码,从1开始
|
||||
*/
|
||||
private int pageNum;
|
||||
/**
|
||||
* 页面大小
|
||||
*/
|
||||
private int pageSize;
|
||||
/**
|
||||
* 起始行
|
||||
*/
|
||||
private int startRow;
|
||||
/**
|
||||
* 末行
|
||||
*/
|
||||
private int endRow;
|
||||
/**
|
||||
* 总数
|
||||
*/
|
||||
private long total;
|
||||
/**
|
||||
* 总页数
|
||||
*/
|
||||
private int pages;
|
||||
/**
|
||||
* 包含count查询
|
||||
*/
|
||||
private boolean count = true;
|
||||
/**
|
||||
* 分页合理化
|
||||
*/
|
||||
private Boolean reasonable;
|
||||
/**
|
||||
* 当设置为true的时候,如果pagesize设置为0(或RowBounds的limit=0),就不执行分页,返回全部结果
|
||||
*/
|
||||
private Boolean pageSizeZero;
|
||||
|
||||
public Page() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* int[] rowBounds
|
||||
* 0 : offset
|
||||
* 1 : limit
|
||||
*/
|
||||
public Page(int[] rowBounds, boolean count) {
|
||||
super(0);
|
||||
if (rowBounds[0] == 0 && rowBounds[1] == Integer.MAX_VALUE) {
|
||||
pageSizeZero = true;
|
||||
this.pageSize = 0;
|
||||
} else {
|
||||
this.pageSize = rowBounds[1];
|
||||
this.pageNum = rowBounds[1] != 0 ? (int) (Math.ceil(((double) rowBounds[0] + rowBounds[1]) / rowBounds[1])) : 0;
|
||||
}
|
||||
this.startRow = rowBounds[0];
|
||||
this.count = count;
|
||||
this.endRow = this.startRow + rowBounds[1];
|
||||
}
|
||||
|
||||
public List<E> getResult() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public int getPages() {
|
||||
return pages;
|
||||
}
|
||||
|
||||
|
||||
public int getEndRow() {
|
||||
return endRow;
|
||||
}
|
||||
|
||||
|
||||
public int getPageNum() {
|
||||
return pageNum;
|
||||
}
|
||||
|
||||
|
||||
public int getPageSize() {
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
|
||||
public int getStartRow() {
|
||||
return startRow;
|
||||
}
|
||||
|
||||
|
||||
public long getTotal() {
|
||||
return total;
|
||||
}
|
||||
|
||||
public void setTotal(long total) {
|
||||
this.total = total;
|
||||
if (total == -1) {
|
||||
pages = 1;
|
||||
return;
|
||||
}
|
||||
if (pageSize > 0) {
|
||||
pages = (int) (total / pageSize + ((total % pageSize == 0) ? 0 : 1));
|
||||
} else {
|
||||
pages = 0;
|
||||
}
|
||||
//分页合理化,针对不合理的页码自动处理
|
||||
if ((reasonable != null && reasonable) && pageNum > pages) {
|
||||
pageNum = pages;
|
||||
calculateStartAndEndRow();
|
||||
}
|
||||
}
|
||||
|
||||
public Boolean getReasonable() {
|
||||
return reasonable;
|
||||
}
|
||||
|
||||
|
||||
public Boolean getPageSizeZero() {
|
||||
return pageSizeZero;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算起止行号
|
||||
*/
|
||||
private void calculateStartAndEndRow() {
|
||||
this.startRow = this.pageNum > 0 ? (this.pageNum - 1) * this.pageSize : 0;
|
||||
this.endRow = this.startRow + this.pageSize * (this.pageNum > 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
public boolean isCount() {
|
||||
return this.count;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 转换为PageInfo
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public com.engine.salary.common.PageInfo<E> toPageInfo() {
|
||||
com.engine.salary.common.PageInfo<E> pageInfo = new com.engine.salary.common.PageInfo<E>(this);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Page{" +
|
||||
"count=" + count +
|
||||
", pageNum=" + pageNum +
|
||||
", pageSize=" + pageSize +
|
||||
", startRow=" + startRow +
|
||||
", endRow=" + endRow +
|
||||
", total=" + total +
|
||||
", pages=" + pages +
|
||||
", reasonable=" + reasonable +
|
||||
", pageSizeZero=" + pageSizeZero +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,380 @@
|
|||
package com.engine.salary.common;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 对Page 结果进行包装
|
||||
* pageHelper的替代
|
||||
* <p>Copyright: Copyright (c) 2024</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public class PageInfo<T> implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
//当前页
|
||||
private int pageNum;
|
||||
//每页的数量
|
||||
private int pageSize;
|
||||
//当前页的数量
|
||||
private int size;
|
||||
|
||||
//由于startRow和endRow不常用,这里说个具体的用法
|
||||
//可以在页面中"显示startRow到endRow 共size条数据"
|
||||
|
||||
//当前页面第一个元素在数据库中的行号
|
||||
private int startRow;
|
||||
//当前页面最后一个元素在数据库中的行号
|
||||
private int endRow;
|
||||
//总记录数
|
||||
private long total;
|
||||
//总页数
|
||||
private int pages;
|
||||
//结果集
|
||||
private List<T> list;
|
||||
|
||||
//前一页
|
||||
private int prePage;
|
||||
//下一页
|
||||
private int nextPage;
|
||||
|
||||
//是否为第一页
|
||||
private boolean isFirstPage = false;
|
||||
//是否为最后一页
|
||||
private boolean isLastPage = false;
|
||||
//是否有前一页
|
||||
private boolean hasPreviousPage = false;
|
||||
//是否有下一页
|
||||
private boolean hasNextPage = false;
|
||||
//导航页码数
|
||||
private int navigatePages;
|
||||
//所有导航页号
|
||||
private int[] navigatepageNums;
|
||||
//导航条上的第一页
|
||||
private int navigateFirstPage;
|
||||
//导航条上的最后一页
|
||||
private int navigateLastPage;
|
||||
|
||||
public PageInfo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 包装Page对象
|
||||
*
|
||||
* @param list
|
||||
*/
|
||||
public PageInfo(List<T> list) {
|
||||
this(list, 8);
|
||||
}
|
||||
|
||||
/**
|
||||
* 包装Page对象
|
||||
*
|
||||
* @param list page结果
|
||||
* @param navigatePages 页码数量
|
||||
*/
|
||||
public PageInfo(List<T> list, int navigatePages) {
|
||||
if (list instanceof Page) {
|
||||
Page page = (Page) list;
|
||||
this.pageNum = page.getPageNum();
|
||||
this.pageSize = page.getPageSize();
|
||||
|
||||
this.pages = page.getPages();
|
||||
this.list = page;
|
||||
this.size = page.size();
|
||||
this.total = page.getTotal();
|
||||
//由于结果是>startRow的,所以实际的需要+1
|
||||
if (this.size == 0) {
|
||||
this.startRow = 0;
|
||||
this.endRow = 0;
|
||||
} else {
|
||||
this.startRow = page.getStartRow() + 1;
|
||||
//计算实际的endRow(最后一页的时候特殊)
|
||||
this.endRow = this.startRow - 1 + this.size;
|
||||
}
|
||||
} else if (list instanceof Collection) {
|
||||
this.pageNum = 1;
|
||||
this.pageSize = list.size();
|
||||
|
||||
this.pages = 1;
|
||||
this.list = list;
|
||||
this.size = list.size();
|
||||
this.total = list.size();
|
||||
this.startRow = 0;
|
||||
this.endRow = list.size() > 0 ? list.size() - 1 : 0;
|
||||
}
|
||||
if (list instanceof Collection) {
|
||||
this.navigatePages = navigatePages;
|
||||
//计算导航页
|
||||
calcNavigatepageNums();
|
||||
//计算前后页,第一页,最后一页
|
||||
calcPage();
|
||||
//判断页面边界
|
||||
judgePageBoudary();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算导航页
|
||||
*/
|
||||
private void calcNavigatepageNums() {
|
||||
//当总页数小于或等于导航页码数时
|
||||
if (pages <= navigatePages) {
|
||||
navigatepageNums = new int[pages];
|
||||
for (int i = 0; i < pages; i++) {
|
||||
navigatepageNums[i] = i + 1;
|
||||
}
|
||||
} else { //当总页数大于导航页码数时
|
||||
navigatepageNums = new int[navigatePages];
|
||||
int startNum = pageNum - navigatePages / 2;
|
||||
int endNum = pageNum + navigatePages / 2;
|
||||
|
||||
if (startNum < 1) {
|
||||
startNum = 1;
|
||||
//(最前navigatePages页
|
||||
for (int i = 0; i < navigatePages; i++) {
|
||||
navigatepageNums[i] = startNum++;
|
||||
}
|
||||
} else if (endNum > pages) {
|
||||
endNum = pages;
|
||||
//最后navigatePages页
|
||||
for (int i = navigatePages - 1; i >= 0; i--) {
|
||||
navigatepageNums[i] = endNum--;
|
||||
}
|
||||
} else {
|
||||
//所有中间页
|
||||
for (int i = 0; i < navigatePages; i++) {
|
||||
navigatepageNums[i] = startNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算前后页,第一页,最后一页
|
||||
*/
|
||||
private void calcPage() {
|
||||
if (navigatepageNums != null && navigatepageNums.length > 0) {
|
||||
navigateFirstPage = navigatepageNums[0];
|
||||
navigateLastPage = navigatepageNums[navigatepageNums.length - 1];
|
||||
if (pageNum > 1) {
|
||||
prePage = pageNum - 1;
|
||||
}
|
||||
if (pageNum < pages) {
|
||||
nextPage = pageNum + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判定页面边界
|
||||
*/
|
||||
private void judgePageBoudary() {
|
||||
isFirstPage = pageNum == 1;
|
||||
isLastPage = pageNum == pages;
|
||||
hasPreviousPage = pageNum > 1;
|
||||
hasNextPage = pageNum < pages;
|
||||
}
|
||||
|
||||
public int getPageNum() {
|
||||
return pageNum;
|
||||
}
|
||||
|
||||
public void setPageNum(int pageNum) {
|
||||
this.pageNum = pageNum;
|
||||
}
|
||||
|
||||
public int getPageSize() {
|
||||
return pageSize;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
public void setSize(int size) {
|
||||
this.size = size;
|
||||
}
|
||||
|
||||
public int getStartRow() {
|
||||
return startRow;
|
||||
}
|
||||
|
||||
public void setStartRow(int startRow) {
|
||||
this.startRow = startRow;
|
||||
}
|
||||
|
||||
public int getEndRow() {
|
||||
return endRow;
|
||||
}
|
||||
|
||||
public void setEndRow(int endRow) {
|
||||
this.endRow = endRow;
|
||||
}
|
||||
|
||||
public long getTotal() {
|
||||
return total;
|
||||
}
|
||||
|
||||
public void setTotal(long total) {
|
||||
this.total = total;
|
||||
}
|
||||
|
||||
public int getPages() {
|
||||
return pages;
|
||||
}
|
||||
|
||||
public void setPages(int pages) {
|
||||
this.pages = pages;
|
||||
}
|
||||
|
||||
public List<T> getList() {
|
||||
return list;
|
||||
}
|
||||
|
||||
public void setList(List<T> list) {
|
||||
this.list = list;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
// firstPage就是1, 此函数获取的是导航条上的第一页, 容易产生歧义
|
||||
public int getFirstPage() {
|
||||
return navigateFirstPage;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setFirstPage(int firstPage) {
|
||||
this.navigateFirstPage = firstPage;
|
||||
}
|
||||
|
||||
public int getPrePage() {
|
||||
return prePage;
|
||||
}
|
||||
|
||||
public void setPrePage(int prePage) {
|
||||
this.prePage = prePage;
|
||||
}
|
||||
|
||||
public int getNextPage() {
|
||||
return nextPage;
|
||||
}
|
||||
|
||||
public void setNextPage(int nextPage) {
|
||||
this.nextPage = nextPage;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
// 请用getPages()来获取最后一页, 此函数获取的是导航条上的最后一页, 容易产生歧义.
|
||||
public int getLastPage() {
|
||||
return navigateLastPage;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public void setLastPage(int lastPage) {
|
||||
this.navigateLastPage = lastPage;
|
||||
}
|
||||
|
||||
public boolean isIsFirstPage() {
|
||||
return isFirstPage;
|
||||
}
|
||||
|
||||
public void setIsFirstPage(boolean isFirstPage) {
|
||||
this.isFirstPage = isFirstPage;
|
||||
}
|
||||
|
||||
public boolean isIsLastPage() {
|
||||
return isLastPage;
|
||||
}
|
||||
|
||||
public void setIsLastPage(boolean isLastPage) {
|
||||
this.isLastPage = isLastPage;
|
||||
}
|
||||
|
||||
public boolean isHasPreviousPage() {
|
||||
return hasPreviousPage;
|
||||
}
|
||||
|
||||
public void setHasPreviousPage(boolean hasPreviousPage) {
|
||||
this.hasPreviousPage = hasPreviousPage;
|
||||
}
|
||||
|
||||
public boolean isHasNextPage() {
|
||||
return hasNextPage;
|
||||
}
|
||||
|
||||
public void setHasNextPage(boolean hasNextPage) {
|
||||
this.hasNextPage = hasNextPage;
|
||||
}
|
||||
|
||||
public int getNavigatePages() {
|
||||
return navigatePages;
|
||||
}
|
||||
|
||||
public void setNavigatePages(int navigatePages) {
|
||||
this.navigatePages = navigatePages;
|
||||
}
|
||||
|
||||
public int[] getNavigatepageNums() {
|
||||
return navigatepageNums;
|
||||
}
|
||||
|
||||
public void setNavigatepageNums(int[] navigatepageNums) {
|
||||
this.navigatepageNums = navigatepageNums;
|
||||
}
|
||||
|
||||
public int getNavigateFirstPage() {
|
||||
return navigateFirstPage;
|
||||
}
|
||||
|
||||
public int getNavigateLastPage() {
|
||||
return navigateLastPage;
|
||||
}
|
||||
|
||||
public void setNavigateFirstPage(int navigateFirstPage) {
|
||||
this.navigateFirstPage = navigateFirstPage;
|
||||
}
|
||||
|
||||
public void setNavigateLastPage(int navigateLastPage) {
|
||||
this.navigateLastPage = navigateLastPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
final StringBuffer sb = new StringBuffer("PageInfo{");
|
||||
sb.append("pageNum=").append(pageNum);
|
||||
sb.append(", pageSize=").append(pageSize);
|
||||
sb.append(", size=").append(size);
|
||||
sb.append(", startRow=").append(startRow);
|
||||
sb.append(", endRow=").append(endRow);
|
||||
sb.append(", total=").append(total);
|
||||
sb.append(", pages=").append(pages);
|
||||
sb.append(", list=").append(list);
|
||||
sb.append(", prePage=").append(prePage);
|
||||
sb.append(", nextPage=").append(nextPage);
|
||||
sb.append(", isFirstPage=").append(isFirstPage);
|
||||
sb.append(", isLastPage=").append(isLastPage);
|
||||
sb.append(", hasPreviousPage=").append(hasPreviousPage);
|
||||
sb.append(", hasNextPage=").append(hasNextPage);
|
||||
sb.append(", navigatePages=").append(navigatePages);
|
||||
sb.append(", navigateFirstPage").append(navigateFirstPage);
|
||||
sb.append(", navigateLastPage").append(navigateLastPage);
|
||||
sb.append(", navigatepageNums=");
|
||||
if (navigatepageNums == null) sb.append("null");
|
||||
else {
|
||||
sb.append('[');
|
||||
for (int i = 0; i < navigatepageNums.length; ++i)
|
||||
sb.append(i == 0 ? "" : ", ").append(navigatepageNums[i]);
|
||||
sb.append(']');
|
||||
}
|
||||
sb.append('}');
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.engine.salary.component;
|
||||
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.engine.salary.common.Page;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.ibatis.binding.MapperMethod;
|
||||
import org.apache.ibatis.executor.parameter.ParameterHandler;
|
||||
|
|
|
|||
|
|
@ -512,7 +512,6 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
|
||||
queryParam.setOrderRule(orderRule);
|
||||
|
||||
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
//系统人员核算明细
|
||||
List<InsuranceAccountDetailPO> list = getInsuranceAccountDetailMapper().list(queryParam);
|
||||
//非系统人员核算明细
|
||||
|
|
@ -3833,7 +3832,6 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
|
||||
queryParam.setOrderRule(orderRule);
|
||||
|
||||
SalaryPageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
|
||||
//系统人员核算明细
|
||||
List<InsuranceAccountDetailPO> list = getInsuranceAccountDetailMapper().list(queryParam);
|
||||
//非系统人员核算明细
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import java.util.List;
|
|||
|
||||
@Data
|
||||
@ToString
|
||||
public class PageInfo<T> extends com.github.pagehelper.PageInfo<T> {
|
||||
public class PageInfo<T> extends com.engine.salary.common.PageInfo<T> {
|
||||
Class<T> clazz;
|
||||
|
||||
public void setColumns(List<Column> columns) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.engine.salary.util.page;
|
||||
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.awt.*;
|
||||
|
|
@ -13,13 +12,6 @@ import java.util.List;
|
|||
|
||||
public class SalaryPageUtil {
|
||||
|
||||
public static void start(Integer pageNum, Integer pageSize) {
|
||||
pageNum = pageNum == null || pageNum <= 0 ? 1 : pageNum;
|
||||
pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize;
|
||||
PageHelper.startPage(pageNum, pageSize);
|
||||
}
|
||||
|
||||
|
||||
public static <T> PageInfo<T> buildPage(Integer pageNo, Integer pageSize) {
|
||||
pageNo = pageNo == null || pageNo <= 0 ? 1 : pageNo;
|
||||
pageSize = pageSize == null || pageSize <= 0 ? 10 : pageSize;
|
||||
|
|
|
|||
Loading…
Reference in New Issue