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); // 从停薪到定薪