diff --git a/src/com/engine/salary/service/TaxAgentService.java b/src/com/engine/salary/service/TaxAgentService.java index d228b6ace..6f32c1ab7 100644 --- a/src/com/engine/salary/service/TaxAgentService.java +++ b/src/com/engine/salary/service/TaxAgentService.java @@ -199,6 +199,8 @@ public interface TaxAgentService { */ List listTaxAgentAndEmployeeTree(Long employeeId); + List listAllTaxAgentAndEmployeeTree(); + List listTaxAgentAndEmployeeTree(); /** diff --git a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java index 4a0036c55..cedfd24f6 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java @@ -554,6 +554,8 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch // 2.构建导入需要的数据 SalaryArchiveImportHandleParam importHandleParam = buildImportHandleParam(listType, importType); + // 设置所有的个税扣缴义务人,由于定薪流程调用者不一定是个税扣缴义务人管理员,防止出现个税扣缴义务人不存在问题。 + importHandleParam.setTaxAgentList(getTaxAgentService(user).listAllTaxAgentAndEmployeeTree()); int total = 0; //excel数据 diff --git a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java index 31d274856..ef9849ad8 100644 --- a/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentServiceImpl.java @@ -636,6 +636,8 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { } + + @Override public List listTaxAgentAndEmployeeTree() { List taxAgentManageRangeEmployeeList = Lists.newArrayList(); @@ -667,6 +669,26 @@ public class TaxAgentServiceImpl extends Service implements TaxAgentService { return taxAgentManageRangeEmployeeList; } + @Override + public List listAllTaxAgentAndEmployeeTree() { + List taxAgentManageRangeEmployeeList = Lists.newArrayList(); + // 所有个税扣缴义务人 + List allTaxAgents = listAll(); + if (CollectionUtils.isEmpty(allTaxAgents)) { + return taxAgentManageRangeEmployeeList; + } + + List taxAgentIds = allTaxAgents.stream().map(TaxAgentPO::getId).collect(Collectors.toList()); + List allEmployees = getTaxAgentMapper().listEmployee(); + + // 1.判断自己是否是管理员, 如果是管理员,就是能够操作所属个税扣缴义务人下的所有人的数据 + List taxAgentAdminList = getTaxAgentAdminService(user).listByTaxAgentIdsAndEmployeeId(taxAgentIds, (long) user.getUID()); + // 是管理员的列表 + List adminTaxAgentIds = taxAgentAdminList.stream().map(TaxAgentAdminPO::getTaxAgentId).collect(Collectors.toList()); + taxAgentManageRangeEmployeeList.addAll(getTaxAgentEmp(allTaxAgents, adminTaxAgentIds, allEmployees)); + return taxAgentManageRangeEmployeeList; + } + /** * 获取分管理员的关联人员