社保和薪资档案支持定时任务增员
This commit is contained in:
parent
09b5dee199
commit
051a38d408
|
|
@ -162,4 +162,6 @@ public interface SIArchivesService {
|
|||
List<InsuranceArchivesFundSchemePO> listInsuranceArchivesFundSchemeByIds(List<Long> ids);
|
||||
|
||||
List<InsuranceArchivesOtherSchemePO> listInsuranceArchivesOtherSchemeByIds(List<Long> ids);
|
||||
|
||||
List<InsuranceArchivesBaseInfoPO> listAll();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4218,4 +4218,9 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
|||
partition.forEach(list -> resultList.addAll(getOtherSchemeMapper().getOtherById(list)));
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<InsuranceArchivesBaseInfoPO> listAll() {
|
||||
return getInsuranceBaseInfoMapper().listAll();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,15 @@ package com.engine.salary.timer;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.biz.SalaryArchiveBiz;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveListTypeEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.EmployeeStatusEnum;
|
||||
import com.engine.salary.mapper.siarchives.FundSchemeMapper;
|
||||
import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
|
||||
|
|
@ -22,14 +25,12 @@ import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
|
|||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -38,25 +39,28 @@ import java.util.stream.Collectors;
|
|||
* @date 2023/08/14 9:30
|
||||
* @description 自动同步人员社保福利档案、薪资档案为公司开始日期字段(companystartdate)
|
||||
*/
|
||||
@Slf4j
|
||||
public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
|
||||
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveServiceImpl.class,user);
|
||||
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class,user);
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
private SIArchivesService getSIArchivesService(User user) {
|
||||
return ServiceUtil.getService(SIArchivesServiceImpl.class,user);
|
||||
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() {
|
||||
|
|
@ -72,14 +76,13 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
User user = new User();
|
||||
user.setUid(1);
|
||||
user.setLoginid("sysadmin");
|
||||
|
||||
if (StringUtils.isBlank(syncInsuranceArchive) || !StringUtils.equals(syncInsuranceArchive,"false")) {
|
||||
if (StringUtils.isBlank(syncInsuranceArchive) || !StringUtils.equals(syncInsuranceArchive, "false")) {
|
||||
// 同步社保福利档案
|
||||
// 获取社保、公积金、其他福利中起始缴纳月任意一个为空的社保档案主表po
|
||||
List<InsuranceArchivesBaseInfoPO> needSyncInsuranceBaseInfoList = getSIArchivesService(user).listStartDateIsNull(Collections.emptyList());
|
||||
|
|
@ -125,7 +128,7 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
|
|||
});
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(syncSalaryArchive) || !StringUtils.equals(syncSalaryArchive,"false")) {
|
||||
if (StringUtils.isBlank(syncSalaryArchive) || !StringUtils.equals(syncSalaryArchive, "false")) {
|
||||
// 同步薪资档案
|
||||
// 获取薪资档案起始发薪日为空且是待定薪资的档案
|
||||
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveService(user).listPayStartDateIsNull(SalaryArchiveListTypeEnum.PENDING.getValue());
|
||||
|
|
@ -154,6 +157,27 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
|
|||
getSalaryArchiveMapper.batchUpdate(needUpdateArchiveList);
|
||||
}
|
||||
|
||||
|
||||
//一键定薪
|
||||
if (StringUtils.isNotBlank(allStayAddToPay) && !StringUtils.equals(allStayAddToPay, "false")) {
|
||||
List<InsuranceArchivesBaseInfoPO> allBaseInfoList = getSIArchivesService(user).listAll();
|
||||
List<Long> ids = allBaseInfoList.stream()
|
||||
.filter(f -> f.getRunStatus().equals(EmployeeStatusEnum.STAY_ADD.getValue()))
|
||||
.map(InsuranceArchivesBaseInfoPO::getId)
|
||||
.collect(Collectors.toList());
|
||||
Map<String, Object> map = getSIArchivesService(user).stayAddToPay(ids);
|
||||
log.info("社保一键定薪结果:" + map);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(allGotoFixed) && !StringUtils.equals(allGotoFixed, "false")) {
|
||||
SalaryArchiveQueryParam queryParam = SalaryArchiveQueryParam.builder().build();
|
||||
queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.PENDING.getValue()));
|
||||
List<SalaryArchiveListDTO> salaryArchiveList = getSalaryArchiveService(user).getSalaryArchiveList(queryParam);
|
||||
List<Long> ids = SalaryEntityUtil.properties(salaryArchiveList, SalaryArchiveListDTO::getId, Collectors.toList());
|
||||
Map<String, Object> map = getSalaryArchiveService(user).gotoFixed(ids);
|
||||
log.info("薪资一键定薪结果:" + map);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue