diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/PaginationUtil.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/PaginationUtil.java new file mode 100644 index 00000000..b4b95c34 --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/utils/PaginationUtil.java @@ -0,0 +1,45 @@ +package com.bonus.common.biz.utils; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class PaginationUtil { + + /** + * 对列表进行分页 + * @param list 要分页的列表 + * @param pageNum 当前页码(从1开始) + * @param pageSize 每页的条目数 + * @param 列表中元素的类型 + * @return 指定页码的子列表 + */ + public static List paginate(List list, int pageNum, int pageSize) { + if (list == null || list.isEmpty() || pageNum <= 0 || pageSize <= 0) { + return Collections.emptyList(); + } + + int totalItems = list.size(); + int fromIndex = (pageNum - 1) * pageSize; + if (fromIndex >= totalItems) { + return Collections.emptyList(); + } + + int toIndex = Math.min(fromIndex + pageSize, totalItems); + return new ArrayList<>(list.subList(fromIndex, toIndex)); + } + + public static void main(String[] args) { + // 示例用法 + List numbers = new ArrayList<>(); + for (int i = 1; i <= 100; i++) { + numbers.add(i); + } + + int pageNum = 2; + int pageSize = 10; + List page = paginate(numbers, pageNum, pageSize); + + System.out.println("Page " + pageNum + ": " + page); + } +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java index 3b001b5c..4ff08411 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java @@ -5,6 +5,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import cn.hutool.core.convert.Convert; +import com.bonus.common.biz.utils.PaginationUtil; +import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.log.enums.OperaType; import com.bonus.material.common.annotation.PreventRepeatSubmit; import com.bonus.material.purchase.domain.PurchaseCheckDetails; @@ -22,6 +25,8 @@ import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.page.TableDataInfo; +import static com.bonus.common.core.web.page.TableSupport.PAGE_NUM; +import static com.bonus.common.core.web.page.TableSupport.PAGE_SIZE; /** * 新购验收任务Controller @@ -43,9 +48,11 @@ public class PurchaseCheckInfoController extends BaseController { //@RequiresPermissions("purchase:info:list") @GetMapping("/list") public TableDataInfo list(PurchaseQueryDto purchaseQueryDto) { - startPage(); List list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto); - return getDataTable(list); + Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); + List result = PaginationUtil.paginate(list, pageIndex, pageSize); + return getDataTable(result); }