新购模块优化

This commit is contained in:
sxu 2024-11-18 18:26:26 +08:00
parent 65c7979cea
commit 5e49360f85
2 changed files with 54 additions and 2 deletions

View File

@ -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 <T> 列表中元素的类型
* @return 指定页码的子列表
*/
public static <T> List<T> paginate(List<T> 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<Integer> numbers = new ArrayList<>();
for (int i = 1; i <= 100; i++) {
numbers.add(i);
}
int pageNum = 2;
int pageSize = 10;
List<Integer> page = paginate(numbers, pageNum, pageSize);
System.out.println("Page " + pageNum + ": " + page);
}
}

View File

@ -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<PurchaseCheckInfo> 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);
}