From 49cd56e35926d4dd18e80fa85444f3a7d5ea991c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 21 Feb 2023 18:05:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=88=97=E8=A1=A8=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SalaryArchiveQueryParam.java | 3 +- .../impl/SalaryArchiveServiceImpl.java | 78 +++++-------------- 2 files changed, 21 insertions(+), 60 deletions(-) diff --git a/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java b/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java index e3f66c1d4..80f8d6368 100644 --- a/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java +++ b/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java @@ -2,6 +2,7 @@ package com.engine.salary.entity.salaryarchive.param; import com.engine.salary.common.BaseQueryParam; import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum; +import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; import lombok.Builder; @@ -61,7 +62,7 @@ public class SalaryArchiveQueryParam extends BaseQueryParam { /** * 档案状态 - * SalaryArchiveStatusEnum + * @see SalaryArchiveStatusEnum */ private String archiveStatus; diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 20beb2ed3..0b0c9061c 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -52,7 +52,6 @@ import org.apache.commons.lang3.math.NumberUtils; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import weaver.file.ImageFileManager; @@ -118,6 +117,10 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe return ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user); } + public SalarySobService getSalarySobService(User user) { + return ServiceUtil.getService(SalarySobServiceImpl.class, user); + } + @Override public SalaryArchivePO getById(Long salaryArchiveId) { return salaryArchiveMapper.getById(salaryArchiveId); @@ -177,56 +180,36 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId); - //获取管理的人员范围 - List taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId); - Map> taxAgentEmployeesMap = SalaryEntityUtil.convert2Map(taxAgentEmployeeDTOS, TaxAgentManageRangeEmployeeDTO::getTaxAgentId, TaxAgentManageRangeEmployeeDTO::getEmployeeList); - //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - + List list = getSalaryArchiveMapper().list(queryParam); + list = list.stream() + //过滤档案状态 + .filter(dto -> { + if (StringUtils.isNotBlank(queryParam.getArchiveStatus())) { + return StringUtils.equals(queryParam.getArchiveStatus(), dto.getArchiveStatus()); + } + return true; + }) + .collect(Collectors.toList()); if (needAuth) { - Boolean adminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId); //不是管理员看不到数据,返回空 if (!adminEnable) { PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), SalaryArchiveListDTO.class); return pageInfo; } - // 获取作为管理员的所有个税扣缴义务人列表 Collection taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId); Set taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId); - - //获取所有薪资档案 - List list = getSalaryArchiveMapper().list(queryParam); - List finalAllArchive = list.stream().filter(dto -> taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList()); - //设置档案状态 - finalAllArchive = setSalaryArchiveStatus(taxAgentEmployeesMap, finalAllArchive); - //过滤档案状态 - if (StringUtils.isNotBlank(queryParam.getArchiveStatus())) { - finalAllArchive = finalAllArchive.stream().filter(dto -> StringUtils.equals(queryParam.getArchiveStatus(), dto.getArchiveStatus())).collect(Collectors.toList()); - } - - PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), SalaryArchiveListDTO.class); - pageInfo.setTotal(finalAllArchive.size()); - pageInfo.setList(SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), finalAllArchive)); - return pageInfo; - } else { - List list = getSalaryArchiveMapper().list(queryParam); - //设置档案状态 - list = setSalaryArchiveStatus(taxAgentEmployeesMap, list); - //过滤档案状态 - if (StringUtils.isNotBlank(queryParam.getArchiveStatus())) { - list = list.stream().filter(dto -> StringUtils.equals(queryParam.getArchiveStatus(), dto.getArchiveStatus())).collect(Collectors.toList()); - } - - PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), SalaryArchiveListDTO.class); - pageInfo.setTotal(list.size()); - pageInfo.setList(SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), list)); - return pageInfo; + list = list.stream().filter(dto -> taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList()); } + PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), SalaryArchiveListDTO.class); + pageInfo.setTotal(list.size()); + pageInfo.setList(SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), list)); + return pageInfo; } /** @@ -321,27 +304,6 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } - /** - * 设置档案状态 - * - * @param taxAgentEmployeesMap - * @param list - * @return - */ - @NotNull - private List setSalaryArchiveStatus(Map> taxAgentEmployeesMap, Collection list) { - list = list.stream().peek(dto -> { - List taxAgentEmployees = taxAgentEmployeesMap.get(dto.getTaxAgentId()); - Set employeeIds = SalaryEntityUtil.properties(taxAgentEmployees, TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee::getEmployeeId); - if (employeeIds.contains(dto.getEmployeeId())) { - dto.setArchiveStatus(ArchiveStatusEnum.EFFICIENT.getValue()); - } else { - dto.setArchiveStatus(ArchiveStatusEnum.ARCHIVE.getValue()); - } - }).collect(Collectors.toList()); - return (List) list; - } - @Override public List list(SalaryArchiveQueryParam queryParam) { long currentEmployeeId = user.getUID(); @@ -525,8 +487,6 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe //过滤档案状态 if (StringUtils.isNotBlank(queryParam.getArchiveStatus())) { - //设置档案状态 - salaryArchives = setSalaryArchiveStatus(taxAgentEmployeesMap, salaryArchives); //过滤档案状态 salaryArchives = salaryArchives.stream().filter(dto -> StringUtils.equals(queryParam.getArchiveStatus(), dto.getArchiveStatus())).collect(Collectors.toList()); }