From 46f94ddd3d290aa74009e75d2b9c4dbdd84a488f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 12 Sep 2024 14:48:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=A3=E6=A1=88=E6=89=B9=E9=87=8F=E5=8F=91?= =?UTF-8?q?=E8=96=AA=E3=80=81=E5=81=9C=E8=96=AA=E6=9D=83=E9=99=90=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SalaryArchiveServiceImpl.java | 60 ++++--------------- 1 file changed, 13 insertions(+), 47 deletions(-) diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index f96f2dec7..9adc2c92d 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -21,7 +21,6 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO; import com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; -import com.engine.salary.entity.taxagent.dto.TaxAgentEmployeeDTO; import com.engine.salary.entity.taxagent.dto.TaxAgentManageRangeEmployeeDTO; import com.engine.salary.entity.taxagent.po.TaxAgentEmpChangePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; @@ -369,36 +368,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe @Override public List list(SalaryArchiveQueryParam queryParam) { - long currentEmployeeId = user.getUID(); - //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId); - if (needAuth) { - - Boolean adminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId); - //不是管理员看不到数据,返回空 - if (!adminEnable) { - return new ArrayList<>(); - } - - //获取管理的人员范围 - List taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployee(currentEmployeeId); - Set employeeId = SalaryEntityUtil.properties(taxAgentEmployeeDTOS, TaxAgentEmployeeDTO::getEmployeeId); - - Collection taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId); - Set taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId); - - //获取所有薪资档案 - List list = getSalaryArchiveList(queryParam); - List finalAllArchive = list.stream().filter(dto -> employeeId.contains(dto.getEmployeeId()) && taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList()); - - return finalAllArchive; - } else { - return getSalaryArchiveList(queryParam); - } + List list = getSalaryArchiveList(queryParam); + return getAuthService(user).auth(list, queryParam.getFilterType(), SalaryArchiveListDTO.class); } /** @@ -1053,7 +1028,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe List list = getSalaryArchiveMapper().listAll(); - list = getAuthService(user).auth(list,AuthFilterTypeEnum.QUERY_DATA,SalaryArchivePO.class); + list = getAuthService(user).auth(list, AuthFilterTypeEnum.QUERY_DATA, SalaryArchivePO.class); long pendingTotal = 0L; long fixedTotal = 0L; @@ -1176,8 +1151,8 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe @Override public Map allGotoFixed(SalaryArchiveQueryParam queryParam) { queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.PENDING.getValue())); - List salaryArchiveIds = this.list(queryParam) - .stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()); + queryParam.setFilterType(AuthFilterTypeEnum.ADMIN_DATA); + List salaryArchiveIds = this.list(queryParam).stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()); return this.gotoFixed(salaryArchiveIds); } @@ -1230,6 +1205,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe @Override public Map allGotoStop(SalaryArchiveQueryParam queryParam) { queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.SUSPEND.getValue())); + queryParam.setFilterType(AuthFilterTypeEnum.ADMIN_DATA); List salaryArchiveIds = this.list(queryParam) .stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()); return this.gotoStop(salaryArchiveIds); @@ -1300,24 +1276,14 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(84026, "参数错误")); } - List oldList = listSome( - SalaryArchivePO.builder() - .ids(ids) - .runStatusList(Arrays.asList(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue())) - .build()); + SalaryArchivePO param = SalaryArchivePO.builder() + .ids(ids) + .runStatusList(Arrays.asList(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue(), SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue())) + .build(); + List oldList = listSome(param); + oldList = getAuthService(user).auth(oldList, AuthFilterTypeEnum.ADMIN_DATA, SalaryArchivePO.class); - - if (CollectionUtils.isEmpty(oldList)) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(145969, "档案不存在!")); - } - - - 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) { - throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(116196, "不在当前个税扣缴义人的人员范围中,不可取消停薪")); - } + ids = SalaryEntityUtil.properties(oldList, SalaryArchivePO::getId); // 从停薪到待定薪 getSalaryArchiveMapper().gotoPendingFromStop(ids); // 从停薪到定薪