处理内存溢出
This commit is contained in:
parent
e2dec06735
commit
98d45ebd32
|
|
@ -669,8 +669,6 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
}
|
||||
|
||||
List<Long> taxAgentIds = allTaxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
|
||||
List<TaxAgentEmployeePO> allEmployees = convert2TaxAgentEmployeePO(employees);
|
||||
if (employeeStatus != null) {
|
||||
List<String> personnelStatusList;
|
||||
// 查询人员状态
|
||||
|
|
@ -683,7 +681,7 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
|
||||
// 是否开启分权
|
||||
if (!isOpenDevolution() || isChief(employeeId)) {
|
||||
return getTaxAgentEmp(allTaxAgents, taxAgentIds, allEmployees);
|
||||
return getTaxAgentEmp(allTaxAgents, taxAgentIds);
|
||||
}
|
||||
|
||||
// 1.判断自己是否是管理员, 如果是管理员,就是能够操作所属个税扣缴义务人下的所有人的数据
|
||||
|
|
@ -692,7 +690,7 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
List<Long> adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isNotEmpty(adminTaxAgentIds)) {
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, adminTaxAgentIds, allEmployees));
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, adminTaxAgentIds));
|
||||
}
|
||||
|
||||
return taxAgentManageRangeEmployeeList;
|
||||
|
|
@ -708,9 +706,7 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
return taxAgentManageRangeEmployeeList;
|
||||
}
|
||||
List<Long> taxAgentIds = allTaxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
|
||||
List<TaxAgentEmployeePO> allEmployees = convert2TaxAgentEmployeePO(employees);
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, taxAgentIds, allEmployees));
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, taxAgentIds));
|
||||
return taxAgentManageRangeEmployeeList;
|
||||
}
|
||||
|
||||
|
|
@ -724,54 +720,17 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
}
|
||||
|
||||
List<Long> taxAgentIds = allTaxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
|
||||
List<TaxAgentEmployeePO> allEmployees = convert2TaxAgentEmployeePO(employees);
|
||||
|
||||
// 1.判断自己是否是管理员, 如果是管理员,就是能够操作所属个税扣缴义务人下的所有人的数据
|
||||
List<TaxAgentAdminPO> taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIdsAndEmployeeId(taxAgentIds, (long) user.getUID());
|
||||
// 是管理员的列表
|
||||
List<Long> adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList());
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, adminTaxAgentIds, allEmployees));
|
||||
taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, adminTaxAgentIds));
|
||||
taxAgentManageRangeEmployeeList = taxAgentManageRangeEmployeeList.stream().distinct().collect(Collectors.toList());
|
||||
return taxAgentManageRangeEmployeeList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取分管理员的关联人员
|
||||
*
|
||||
* @param allTaxAgents
|
||||
* @param noAdminTaxAgentIds
|
||||
* @param allEmployees
|
||||
* @return
|
||||
*/
|
||||
private List<TaxAgentManageRangeEmployeeDTO> getTaxAgentSubAdminEmp(List<TaxAgentPO> allTaxAgents, List<Long> noAdminTaxAgentIds, List<TaxAgentEmployeePO> allEmployees) {
|
||||
List<TaxAgentManageRangeEmployeeDTO> taxAgentManageRangeEmployeeList = Lists.newArrayList();
|
||||
List<TaxAgentSubAdminEmpPO> taxAgentEmps = taxAgentSubAdminEmpService.listByTaxAgentIds(noAdminTaxAgentIds);
|
||||
|
||||
taxAgentEmps = taxAgentEmps.stream().filter(f -> allEmployees.stream().anyMatch(e -> e.getEmployeeId().equals(f.getEmployeeId()))).collect(Collectors.toList());
|
||||
|
||||
List<TaxAgentSubAdminEmpPO> finalTaxAgentEmps = taxAgentEmps;
|
||||
noAdminTaxAgentIds.forEach(e -> {
|
||||
Optional<TaxAgentPO> optionalTaxAgent = allTaxAgents.stream().filter(t -> t.getId().equals(e)).findFirst();
|
||||
String taxAgentName = (optionalTaxAgent.isPresent() ? optionalTaxAgent.get().getName() : "");
|
||||
List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee> taxAgentEmployees = finalTaxAgentEmps.stream().filter(f -> f.getTaxAgentId().equals(e)).map(m -> {
|
||||
TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee taxAgentEmployee = new TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee();
|
||||
taxAgentEmployee.setEmployeeId(m.getEmployeeId());
|
||||
taxAgentEmployee.setUsername(m.getEmployeeName());
|
||||
return taxAgentEmployee;
|
||||
}).collect(Collectors.toList());
|
||||
taxAgentManageRangeEmployeeList.add(
|
||||
TaxAgentManageRangeEmployeeDTO.builder()
|
||||
.taxAgentId(e)
|
||||
.taxAgentName(taxAgentName)
|
||||
.employeeList(taxAgentEmployees)
|
||||
.build()
|
||||
);
|
||||
});
|
||||
return taxAgentManageRangeEmployeeList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取个税口角义务人的关联人员
|
||||
*
|
||||
|
|
@ -779,17 +738,13 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService {
|
|||
* @param taxAgentIds
|
||||
* @return
|
||||
*/
|
||||
private List<TaxAgentManageRangeEmployeeDTO> getTaxAgentEmp(List<TaxAgentPO> allTaxAgents, List<Long> taxAgentIds, List<TaxAgentEmployeePO> allEmployees) {
|
||||
private List<TaxAgentManageRangeEmployeeDTO> getTaxAgentEmp(List<TaxAgentPO> allTaxAgents, List<Long> taxAgentIds) {
|
||||
List<TaxAgentManageRangeEmployeeDTO> taxAgentManageRangeEmployeeList = Lists.newArrayList();
|
||||
List<TaxAgentEmpPO> taxAgentEmps = getTaxAgentEmpService(user).listByTaxAgentIds(taxAgentIds, UseEmployeeTypeEnum.ALL);
|
||||
|
||||
taxAgentEmps = taxAgentEmps.stream().filter(f -> allEmployees.stream().anyMatch(e -> e.getEmployeeId().equals(f.getEmployeeId()))).collect(Collectors.toList());
|
||||
|
||||
List<TaxAgentEmpPO> finalTaxAgentEmps = taxAgentEmps;
|
||||
taxAgentIds.forEach(e -> {
|
||||
Optional<TaxAgentPO> optionalTaxAgent = allTaxAgents.stream().filter(t -> t.getId().equals(e)).findFirst();
|
||||
String taxAgentName = (optionalTaxAgent.isPresent() ? optionalTaxAgent.get().getName() : "");
|
||||
List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee> taxAgentEmployees = finalTaxAgentEmps.stream().filter(f -> f.getTaxAgentId().equals(e)).map(m -> {
|
||||
List<TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee> taxAgentEmployees = taxAgentEmps.stream().filter(f -> f.getTaxAgentId().equals(e)).map(m -> {
|
||||
TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee taxAgentEmployee = new TaxAgentManageRangeEmployeeDTO.TaxAgentEmployee();
|
||||
taxAgentEmployee.setEmployeeId(m.getEmployeeId());
|
||||
taxAgentEmployee.setUsername(m.getEmployeeName());
|
||||
|
|
|
|||
Loading…
Reference in New Issue