diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index 1c50902ac..fb00653d7 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -980,6 +980,17 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService baseInfoIdsPartition.forEach(part -> { nowList.addAll(getInsuranceBaseInfoMapper().listByIds(part)); }); + //判断当前被操作人员是否都在对应的个税扣缴义务人下 + List taxAgentManageRangeEmployees = getTaxAgentService(user).listTaxAgentAndEmployee((long) user.getUID()); + + boolean isNotExist = nowList.stream().anyMatch(te -> + taxAgentManageRangeEmployees.stream().noneMatch(p -> + p.getEmployeeId() != null && p.getEmployeeId().equals(te.getEmployeeId()) && p.getTaxAgentId().equals(te.getPaymentOrganization()))); + + if (isNotExist) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(116196, "个税扣缴义务人不存在或不在权限范围内,删除失败!")); + } + //置空社保、公积金、其他福利档案的最后缴纳月信息,并将福利档案基础信息表的状态置为“正在缴纳” if (nowList.size() > 0) { List socialIds = nowList.stream()