diff --git a/src/com/engine/salary/service/SIArchivesService.java b/src/com/engine/salary/service/SIArchivesService.java index 9157769be..111ef9d8e 100644 --- a/src/com/engine/salary/service/SIArchivesService.java +++ b/src/com/engine/salary/service/SIArchivesService.java @@ -90,4 +90,9 @@ public interface SIArchivesService { * 待减员页面的删除待办 */ void cancelStayDel(InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO); + + /** + * 处理福利档案增量数据 + */ + void handleChangeData(long currentEmployeeId); } diff --git a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java index db24854d9..9e8870691 100644 --- a/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIArchivesServiceImpl.java @@ -149,13 +149,13 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService handleStayDelData(currentEmployeeId); sw.stop(); - sw.start("福利档案-增量数据处理"); - // 3.增量数据处理 - String welSign = (String) Util_DataCache.getObjVal("welfareChangeSign"); - if (welSign == null || "0".equals(welSign)) { - handleChangeData(currentEmployeeId); - } - sw.stop(); +// sw.start("福利档案-增量数据处理"); +// // 3.增量数据处理 +// String welSign = (String) Util_DataCache.getObjVal("welfareChangeSign"); +// if (welSign == null || "0".equals(welSign)) { +// handleChangeData(currentEmployeeId); +// } +// sw.stop(); //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); @@ -240,7 +240,8 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService * @param currentEmployeeId */ @Transactional(rollbackFor = Exception.class) - private void handleChangeData(long currentEmployeeId) { + @Override + public void handleChangeData(long currentEmployeeId) { Util_DataCache.setObjVal("welfareChangeSign", "1"); log.info("福利档案中增量数据处理逻辑开始:"); // 所有增量人员列表 @@ -251,13 +252,23 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService return; } // 当前可以管辖的人员 - Collection taxAgentList = getTaxAgentService(user).listAllTaxAgents(currentEmployeeId); - log.info("当前可以管辖的个税扣缴义务人数量 {}:", taxAgentList.size()); - taxAgentEmpChangeList = taxAgentEmpChangeList.stream().filter(f -> taxAgentList.stream().anyMatch(e -> e.getId().equals(f.getTaxAgentId()))).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(taxAgentEmpChangeList)) { - Util_DataCache.setObjVal("welfareChangeSign", "0"); - return; + Collection taxAgentList = new ArrayList<>(); + if (currentEmployeeId != 1L) { + taxAgentList = getTaxAgentService(user).listAllTaxAgents(currentEmployeeId); + Collection finalTaxAgentList = taxAgentList; + taxAgentEmpChangeList = taxAgentEmpChangeList.stream().filter(f -> finalTaxAgentList.stream().anyMatch(e -> e.getId().equals(f.getTaxAgentId()))).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(taxAgentEmpChangeList)) { + Util_DataCache.setObjVal("welfareChangeSign", "0"); + return; + } } +// Collection taxAgentList = getTaxAgentService(user).listAllTaxAgents(currentEmployeeId); +// log.info("当前可以管辖的个税扣缴义务人数量 {}:", taxAgentList.size()); +// taxAgentEmpChangeList = taxAgentEmpChangeList.stream().filter(f -> taxAgentList.stream().anyMatch(e -> e.getId().equals(f.getTaxAgentId()))).collect(Collectors.toList()); +// if (CollectionUtils.isEmpty(taxAgentEmpChangeList)) { +// Util_DataCache.setObjVal("welfareChangeSign", "0"); +// return; +// } log.info("根据当前可以管辖的个税扣缴义务人筛选出的可处理增量数据数量 {}:", taxAgentEmpChangeList.size()); // 所有福利档案基础信息数据 List baseInfoPOList = getInsuranceBaseInfoMapper().listAll(); diff --git a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java index b8c5aab69..272400483 100644 --- a/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java +++ b/src/com/engine/salary/service/impl/TaxAgentManageRangeServiceImpl.java @@ -94,6 +94,10 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } + public SIArchivesService getSIArchivesService(User user) { + return ServiceUtil.getService(SIArchivesServiceImpl.class,user); + } + private EmployBiz employBiz = new EmployBiz(); private List listByTaxAgentIds(List taxAgentIds) { @@ -339,6 +343,11 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM syncLocalEmp(taxAgentId, allSalaryEmployees, allSubAdminRanges, (long) user.getUID()); //生成档案 getSalaryArchiveService(user).handleChangeData(1L); + //生成社保福利档案 + String welSign = (String) Util_DataCache.getObjVal("welfareChangeSign"); + if (welSign == null || "0".equals(welSign)) { + getSIArchivesService(user).handleChangeData(1L); + } } @@ -454,8 +463,14 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM // 同步分管理员的人员 // taxAgentSubAdminEmployeeService.syncTaxAgentSubAdminEmployee(subAdminEmpSaveParamList, employeeId, tenantKey); - //生成档案 + //生成薪资档案 getSalaryArchiveService(user).handleChangeData(1L); + + //生成社保福利档案 + String welSign = (String) Util_DataCache.getObjVal("welfareChangeSign"); + if (welSign == null || "0".equals(welSign)) { + getSIArchivesService(user).handleChangeData(1L); + } } /**