社保和档案执行标识

This commit is contained in:
钱涛 2025-03-18 17:31:32 +08:00
parent a29f8b3da9
commit 3b520fcf62
2 changed files with 46 additions and 36 deletions

View File

@ -42,6 +42,11 @@ import java.util.stream.Collectors;
@Slf4j
public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
private String syncInsuranceArchive;
private String syncSalaryArchive;
private String allStayAddToPay;
private String allGotoFixed;
private SalaryArchiveService getSalaryArchiveService(User user) {
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
}
@ -55,12 +60,6 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
return ServiceUtil.getService(SIArchivesServiceImpl.class, user);
}
private String syncInsuranceArchive;
private String syncSalaryArchive;
private String allStayAddToPay;
private String allGotoFixed;
private SalaryArchiveBiz getSalaryArchiveMapper = new SalaryArchiveBiz();
private SocialSchemeMapper getSocialSchemeMapper() {

View File

@ -31,6 +31,13 @@ import java.util.*;
*/
public class AutoSyncResignationEmpArchiveJob extends BaseCronJob {
private String syncInsuranceArchive;
private String syncSalaryArchive;
private String allStayAddToPay;
private String allGotoFixed;
private SalaryArchiveService getSalaryArchiveService(User user) {
return ServiceUtil.getService(SalaryArchiveServiceImpl.class,user);
}
@ -73,39 +80,43 @@ public class AutoSyncResignationEmpArchiveJob extends BaseCronJob {
}
cal.add(Calendar.MONTH, preMonthValue);
Map<Long, String> resignationMap = getSalaryEmployeeService(user).getResignationMapByDate(SalaryDateUtil.getFormatDate(cal.getTime()));
// 获取离职人员中没有设置最后发薪日期的薪资档案
List<SalaryArchivePO> salaryArchivePOS = getSalaryArchiveService(user).listPayEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
Date now = new Date();
List<SalaryArchivePO> needUpdateSalaryArchiveList = new ArrayList<>();
for(SalaryArchivePO archive : salaryArchivePOS){
String dismissDate = resignationMap.get(archive.getEmployeeId());
if (StringUtils.isNotBlank(dismissDate)) {
archive.setPayEndDate(SalaryDateUtil.dateStrToLocalDate(dismissDate));
archive.setUpdateTime(now);
needUpdateSalaryArchiveList.add(archive);
if (StringUtils.isBlank(syncSalaryArchive) || !StringUtils.equals(syncSalaryArchive, "false")) {
// 获取离职人员中没有设置最后发薪日期的薪资档案
List<SalaryArchivePO> salaryArchivePOS = getSalaryArchiveService(user).listPayEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
Date now = new Date();
List<SalaryArchivePO> needUpdateSalaryArchiveList = new ArrayList<>();
for(SalaryArchivePO archive : salaryArchivePOS){
String dismissDate = resignationMap.get(archive.getEmployeeId());
if (StringUtils.isNotBlank(dismissDate)) {
archive.setPayEndDate(SalaryDateUtil.dateStrToLocalDate(dismissDate));
archive.setUpdateTime(now);
needUpdateSalaryArchiveList.add(archive);
}
}
if (CollectionUtils.isNotEmpty(needUpdateSalaryArchiveList)) {
getSalaryArchiveMapper.batchUpdate(needUpdateSalaryArchiveList);
}
}
if (CollectionUtils.isNotEmpty(needUpdateSalaryArchiveList)) {
getSalaryArchiveMapper.batchUpdate(needUpdateSalaryArchiveList);
}
// 获取离职人员中没有设置最后缴纳月的社保福利档案
if (StringUtils.isBlank(syncInsuranceArchive) || !StringUtils.equals(syncInsuranceArchive, "false")) {
// 获取离职人员中没有设置最后缴纳月的社保福利档案
// List<InsuranceArchivesBaseInfoPO> needSyncList = siArchivesBiz.listEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
List<InsuranceArchivesBaseInfoPO> needSyncList = getSIArchivesService(user).listEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
// 设置社保公积金最后缴纳月
for(InsuranceArchivesBaseInfoPO po : needSyncList){
String dismissDate = resignationMap.get(po.getEmployeeId());
if (StringUtils.isNotEmpty(dismissDate)) {
dismissDate = StringUtils.substring(dismissDate,0,7);
// 更新社保最后缴纳月
Long socialArchivesId = po.getSocialArchivesId();
getSocialSchemeMapper().updateEndTime(socialArchivesId, dismissDate);
// 更新公积金最后缴纳月
Long fundArchivesId = po.getFundArchivesId();
getFundSchemeMapper().updateEndTime(fundArchivesId, dismissDate);
// 更新企业年金及其他福利最后缴纳月
Long otherArchivesId = po.getOtherArchivesId();
getOtherSchemeMapper().updateEndTime(otherArchivesId, dismissDate);
List<InsuranceArchivesBaseInfoPO> needSyncList = getSIArchivesService(user).listEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
// 设置社保公积金最后缴纳月
for(InsuranceArchivesBaseInfoPO po : needSyncList){
String dismissDate = resignationMap.get(po.getEmployeeId());
if (StringUtils.isNotEmpty(dismissDate)) {
dismissDate = StringUtils.substring(dismissDate,0,7);
// 更新社保最后缴纳月
Long socialArchivesId = po.getSocialArchivesId();
getSocialSchemeMapper().updateEndTime(socialArchivesId, dismissDate);
// 更新公积金最后缴纳月
Long fundArchivesId = po.getFundArchivesId();
getFundSchemeMapper().updateEndTime(fundArchivesId, dismissDate);
// 更新企业年金及其他福利最后缴纳月
Long otherArchivesId = po.getOtherArchivesId();
getOtherSchemeMapper().updateEndTime(otherArchivesId, dismissDate);
}
}
}
}