From a62a77c4ddf88b5552eb5cd252e5be5e137c9ace Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 29 Dec 2020 13:54:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../govproject/impl/GovProjectServiceImpl.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 8e93c87ca8..8c9f6bc8e8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -118,6 +118,7 @@ public class GovProjectServiceImpl implements GovProjectService { AllProjectResultDTO resultDTO = new AllProjectResultDTO(); String agencyId = govOrgService.getAgencyIdByUserId(tokenDto.getUserId()); int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + if (StringUtils.isEmpty(agencyId)) { throw new RenException(String.format("获取工作人员组织信息失败,staffId->%s", tokenDto.getUserId())); } @@ -141,27 +142,31 @@ public class GovProjectServiceImpl implements GovProjectService { project.setCurrentDisposeDept(departmentList); }); + int pageSize = pageIndex + formDTO.getPageSize(); + if (pageSize > projectList.size()) { + pageSize = projectList.size(); + } //排序(创建:create 更新:update 部门:department 耗时:date 次数:count) switch (formDTO.getSortType()) { case "create": projectList = projectList.stream().sorted(Comparator.comparing(ProjectInfoDTO::getProjectTime).reversed()) - .collect(Collectors.toList()).subList(pageIndex, pageIndex + formDTO.getPageSize()); + .collect(Collectors.toList()).subList(pageIndex, pageSize); break; case "update": projectList = projectList.stream().sorted(Comparator.comparing(ProjectInfoDTO::getUpdateTime).reversed()) - .collect(Collectors.toList()).subList(pageIndex, pageIndex + formDTO.getPageSize()); + .collect(Collectors.toList()).subList(pageIndex, pageSize); break; case "department": projectList = projectList.stream().sorted(Comparator.comparing(ProjectInfoDTO::getDepartmentCount).reversed()) - .collect(Collectors.toList()).subList(pageIndex, pageIndex + formDTO.getPageSize()); + .collect(Collectors.toList()).subList(pageIndex, pageSize); break; case "date": projectList = projectList.stream().sorted(Comparator.comparing(ProjectInfoDTO::getTimeSpent).reversed()) - .collect(Collectors.toList()).subList(pageIndex, pageIndex + formDTO.getPageSize()); + .collect(Collectors.toList()).subList(pageIndex, pageSize); break; case "count": projectList = projectList.stream().sorted(Comparator.comparing(ProjectInfoDTO::getProcessCount).reversed()) - .collect(Collectors.toList()).subList(pageIndex, pageIndex + formDTO.getPageSize()); + .collect(Collectors.toList()).subList(pageIndex, pageSize); break; default: break;