大屏二级页面分页

This commit is contained in:
mashuai 2024-07-01 15:36:33 +08:00
parent 763746b314
commit a1669a3e08
1 changed files with 18 additions and 13 deletions

View File

@ -169,23 +169,28 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
@Override
public PageResultVo getAcceptanceDetailStorage(ParamsDto dto) {
extracted(dto);
// 分页
PageHelper.startPage(dto.getPageNum() == 0 ? 1 : dto.getPageNum(), dto.getPageSize());
PageResultVo pageResult = new PageResultVo();
List<StorageDetailVo> result;
result = mapper.getAcceptanceDetailStorage(dto);
result = result.stream()
List<StorageDetailVo> result = mapper.getAcceptanceDetailStorage(dto);
List<StorageDetailVo> filteredResult = result.stream()
.filter(storageDetail -> storageDetail.getPurchaseNum() != 0 ||
storageDetail.getCheckNum() != 0 ||
storageDetail.getInputNum() != 0)
.collect(Collectors.toList());
// 分页信息
PageInfo<StorageDetailVo> pageInfo = new PageInfo<>(result);
pageResult.setTotal(pageInfo.getTotal());
pageResult.setTotalPageCount(pageInfo.getPages());
pageResult.setRows(result);
pageResult.setPageNum (dto.getPageNum());
pageResult.setPageSize(dto.getPageSize());
// 手动计算分页信息
int pageNum = dto.getPageNum() == 0 ? 1 : dto.getPageNum();
int pageSize = dto.getPageSize();
int total = filteredResult.size();
int totalPages = (int) Math.ceil((double) total / pageSize);
// 手动分页获取当前页的数据
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize, total);
List<StorageDetailVo> currentPageData = filteredResult.subList(startIndex, endIndex);
// 构建返回结果对象
PageResultVo pageResult = new PageResultVo();
pageResult.setTotal(total);
pageResult.setTotalPageCount(totalPages);
pageResult.setRows(currentPageData);
pageResult.setPageNum(pageNum);
pageResult.setPageSize(pageSize);
return pageResult;
}