From 6fe28ec41c97ccac253fe6dc489b0299969d7e77 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Mon, 5 Dec 2022 09:57:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E8=96=AA=E6=B5=81=E7=A8=8B=EF=BC=8C?= =?UTF-8?q?=E6=94=BE=E5=BC=80=E4=B8=AA=E7=A8=8E=E6=89=A3=E7=BC=B4=E4=B9=89?= =?UTF-8?q?=E5=8A=A1=E4=BA=BA=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salary/service/TaxAgentService.java | 2 ++ .../impl/SalaryArchiveExcelServiceImpl.java | 2 ++ .../service/impl/TaxAgentServiceImpl.java | 22 +++++++++++++++++++ 3 files changed, 26 insertions(+) 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; + } + /** * 获取分管理员的关联人员