diff --git a/src/com/engine/salary/service/TaxAgentService.java b/src/com/engine/salary/service/TaxAgentService.java index 1f11c8844..bab08d143 100644 --- a/src/com/engine/salary/service/TaxAgentService.java +++ b/src/com/engine/salary/service/TaxAgentService.java @@ -216,6 +216,14 @@ public interface TaxAgentService { */ List listTaxAgentAndEmployee(Long employeeId); + /** + * 获取个税扣缴义务人和可查看的人员列表(扁平型) + * + * @param + * @return + */ + List listAllTaxAgentAndEmployee(); + /** * 获取个税扣缴义务人和可查看的人员列表(树型) * diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index 96ec29efe..cc20276f1 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -1249,7 +1249,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } - List taxAgentManageRangeEmployees = getTaxAgentService(user).listTaxAgentAndEmployee(); + List taxAgentManageRangeEmployees = getTaxAgentService(user).listAllTaxAgentAndEmployee(); List oldPendingList = oldList.stream().filter(f -> f.getRunStatus().equals(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())).collect(Collectors.toList()); boolean isNotExist = oldPendingList.stream().anyMatch(te -> taxAgentManageRangeEmployees.stream().noneMatch(p -> p.getEmployeeId() != null && p.getEmployeeId().equals(te.getEmployeeId()) && p.getTaxAgentId().equals(te.getTaxAgentId()))); if (isNotExist) { diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java index e2e01023f..63636d810 100644 --- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java @@ -619,6 +619,33 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { return listTaxAgentAndEmployee(null, employeeId); } + @Override + public List listAllTaxAgentAndEmployee() { + List taxAgentEmployeeList = Lists.newArrayList(); + + List taxAgentManageRangeEmployeeList = listTaxAgentAndEmployeeTree(); + taxAgentManageRangeEmployeeList.forEach(m -> { + List employeeList = m.getEmployeeList(); + if (CollectionUtils.isEmpty(employeeList)) { + taxAgentEmployeeList.add(TaxAgentEmployeeDTO.builder() + .taxAgentId(m.getTaxAgentId()) + .taxAgentName(m.getTaxAgentName()) + .employeeId(null) + .username(null) + .build()); + } else { + employeeList.forEach(f -> taxAgentEmployeeList.add(TaxAgentEmployeeDTO.builder() + .taxAgentId(m.getTaxAgentId()) + .taxAgentName(m.getTaxAgentName()) + .employeeId(f.getEmployeeId()) + .username(f.getUsername()) + .build())); + } + }); + + return taxAgentEmployeeList; + } + @Override public List listTaxAgentAndEmployeeTree(SalaryEmployeeStatusEnum employeeStatus, Long employeeId) { List taxAgentManageRangeEmployeeList = Lists.newArrayList(); @@ -793,6 +820,8 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { return taxAgentEmployeeList; } + + @Override public Collection listEmployeeIdsInTaxAgent(Long taxAgentId) { List taxAgentEmpPOS = getTaxAgentEmpService(user).listByTaxAgentIds(Collections.singletonList(taxAgentId),UseEmployeeTypeEnum.ALL);