档案列表重构
This commit is contained in:
parent
cb484b8ff9
commit
49cd56e359
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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<TaxAgentManageRangeEmployeeDTO> taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId);
|
||||
Map<Long, List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee>> taxAgentEmployeesMap = SalaryEntityUtil.convert2Map(taxAgentEmployeeDTOS, TaxAgentManageRangeEmployeeDTO::getTaxAgentId, TaxAgentManageRangeEmployeeDTO::getEmployeeList);
|
||||
|
||||
//排序配置
|
||||
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
|
||||
queryParam.setOrderRule(orderRule);
|
||||
|
||||
List<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), SalaryArchiveListDTO.class);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
// 获取作为管理员的所有个税扣缴义务人列表
|
||||
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId);
|
||||
|
||||
//获取所有薪资档案
|
||||
List<SalaryArchiveListDTO> list = getSalaryArchiveMapper().list(queryParam);
|
||||
List<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> 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<SalaryArchiveListDTO> setSalaryArchiveStatus(Map<Long, List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee>> taxAgentEmployeesMap, Collection<SalaryArchiveListDTO> list) {
|
||||
list = list.stream().peek(dto -> {
|
||||
List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee> taxAgentEmployees = taxAgentEmployeesMap.get(dto.getTaxAgentId());
|
||||
Set<Long> 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<SalaryArchiveListDTO> 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());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue