自动同步离职人员结束发薪日期
This commit is contained in:
parent
bd75ef8d3b
commit
64f64c4f89
|
|
@ -380,7 +380,7 @@
|
|||
e.workcode as workcode,
|
||||
e.companystartdate as companystartdate,
|
||||
e.mobile as mobile,
|
||||
e.enddate as dismissdate,
|
||||
e.enddate as dismissdate
|
||||
from hrmresource e
|
||||
where e.status not in (7)
|
||||
AND e.enddate >= #{dismissDate}
|
||||
|
|
|
|||
|
|
@ -91,4 +91,11 @@ public interface FundSchemeMapper {
|
|||
* @param insuranceArchivesFundSchemePO
|
||||
*/
|
||||
void insert(InsuranceArchivesFundSchemePO insuranceArchivesFundSchemePO);
|
||||
|
||||
/**
|
||||
* 更新最后缴纳月
|
||||
* @param id
|
||||
* @param endTime
|
||||
*/
|
||||
void updateEndTime(@Param("id")Long id, @Param("endTime")String endTime);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -327,6 +327,12 @@
|
|||
</foreach>
|
||||
</if>
|
||||
</update>
|
||||
<update id="updateEndTime">
|
||||
UPDATE hrsa_fund_archives
|
||||
SET fund_end_time = #{endTime}
|
||||
WHERE delete_type = 0
|
||||
AND id = #{id}
|
||||
</update>
|
||||
|
||||
<insert id="insert" parameterType="com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO">
|
||||
|
||||
|
|
|
|||
|
|
@ -83,4 +83,11 @@ public interface OtherSchemeMapper {
|
|||
* @param insuranceArchivesOtherSchemePO
|
||||
*/
|
||||
void insert(InsuranceArchivesOtherSchemePO insuranceArchivesOtherSchemePO);
|
||||
|
||||
/**
|
||||
* 更新最后缴纳月
|
||||
* @param id
|
||||
* @param endTime
|
||||
*/
|
||||
void updateEndTime(@Param("id")Long id, @Param("endTime")String endTime);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -306,6 +306,13 @@
|
|||
</if>
|
||||
</update>
|
||||
|
||||
<update id="updateEndTime">
|
||||
UPDATE hrsa_other_archives
|
||||
SET other_end_time = #{endTime}
|
||||
WHERE delete_type = 0
|
||||
AND id = #{id}
|
||||
</update>
|
||||
|
||||
<insert id="insert" parameterType="com.engine.salary.entity.siarchives.po.InsuranceArchivesOtherSchemePO">
|
||||
INSERT INTO hrsa_other_archives(
|
||||
other_scheme_id,
|
||||
|
|
|
|||
|
|
@ -121,4 +121,11 @@ public interface SocialSchemeMapper {
|
|||
* @param insuranceArchivesSocialSchemePO
|
||||
*/
|
||||
void insert(InsuranceArchivesSocialSchemePO insuranceArchivesSocialSchemePO);
|
||||
|
||||
/**
|
||||
* 更新最后缴纳月
|
||||
* @param id
|
||||
* @param endTime
|
||||
*/
|
||||
void updateEndTime(@Param("id")Long id, @Param("endTime")String endTime);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -970,6 +970,13 @@
|
|||
</if>
|
||||
</update>
|
||||
|
||||
<update id="updateEndTime">
|
||||
UPDATE hrsa_social_archives
|
||||
SET social_end_time = #{endTime}
|
||||
WHERE delete_type = 0 AND id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<insert id="insert" parameterType="com.engine.salary.entity.siarchives.po.InsuranceArchivesSocialSchemePO">
|
||||
INSERT INTO hrsa_social_archives(
|
||||
welfare_type,
|
||||
|
|
|
|||
|
|
@ -2,12 +2,9 @@ package com.engine.salary.timer;
|
|||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.biz.SIArchivesBiz;
|
||||
import com.engine.salary.biz.SalaryArchiveBiz;
|
||||
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.SalaryArchiveStatusEnum;
|
||||
import com.engine.salary.mapper.siarchives.FundSchemeMapper;
|
||||
import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
|
||||
import com.engine.salary.mapper.siarchives.SocialSchemeMapper;
|
||||
|
|
@ -17,6 +14,7 @@ import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
|||
import com.engine.salary.service.impl.SalaryEmployeeServiceImpl;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
|
@ -39,6 +37,8 @@ public class AutoSyncResignationEmpArchiveJob extends BaseCronJob {
|
|||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class,user);
|
||||
}
|
||||
|
||||
private SalaryArchiveBiz getSalaryArchiveMapper = new SalaryArchiveBiz();
|
||||
|
||||
private SocialSchemeMapper getSocialSchemeMapper() {
|
||||
return MapperProxyFactory.getProxy(SocialSchemeMapper.class);
|
||||
}
|
||||
|
|
@ -74,16 +74,17 @@ public class AutoSyncResignationEmpArchiveJob extends BaseCronJob {
|
|||
String dismissDate = resignationMap.get(archive.getEmployeeId());
|
||||
if (StringUtils.isNotBlank(dismissDate)) {
|
||||
archive.setPayEndDate(SalaryDateUtil.dateStrToLocalDate(dismissDate));
|
||||
archive.setRunStatus(SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue());
|
||||
archive.setUpdateTime(now);
|
||||
needUpdateSalaryArchiveList.add(archive);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(needUpdateSalaryArchiveList)) {
|
||||
getSalaryArchiveMapper.batchUpdate(needUpdateSalaryArchiveList);
|
||||
}
|
||||
|
||||
// 获取离职人员中没有设置最后缴纳月的社保福利档案
|
||||
SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
List<InsuranceArchivesBaseInfoPO> needSyncList = siArchivesBiz.listEndDateIsNull(new ArrayList<>(resignationMap.keySet()));
|
||||
now = new Date();
|
||||
// 设置社保、公积金最后缴纳月
|
||||
for(InsuranceArchivesBaseInfoPO po : needSyncList){
|
||||
String dismissDate = resignationMap.get(po.getEmployeeId());
|
||||
|
|
@ -91,25 +92,13 @@ public class AutoSyncResignationEmpArchiveJob extends BaseCronJob {
|
|||
dismissDate = StringUtils.substring(dismissDate,0,7);
|
||||
// 更新社保最后缴纳月
|
||||
Long socialArchivesId = po.getSocialArchivesId();
|
||||
getSocialSchemeMapper().updateById(InsuranceArchivesSocialSchemePO.builder()
|
||||
.id(socialArchivesId)
|
||||
.socialEndTime(dismissDate)
|
||||
.updateTime(now)
|
||||
.build());
|
||||
getSocialSchemeMapper().updateEndTime(socialArchivesId, dismissDate);
|
||||
// 更新公积金最后缴纳月
|
||||
Long fundArchivesId = po.getFundArchivesId();
|
||||
getFundSchemeMapper().updateById(InsuranceArchivesFundSchemePO.builder()
|
||||
.id(fundArchivesId)
|
||||
.fundEndTime(dismissDate)
|
||||
.updateTime(now)
|
||||
.build());
|
||||
getFundSchemeMapper().updateEndTime(fundArchivesId, dismissDate);
|
||||
// 更新企业年金及其他福利最后缴纳月
|
||||
Long otherArchivesId = po.getOtherArchivesId();
|
||||
getOtherSchemeMapper().updateById(InsuranceArchivesOtherSchemePO.builder()
|
||||
.id(otherArchivesId)
|
||||
.otherEndTime(dismissDate)
|
||||
.updateTime(now)
|
||||
.build());
|
||||
getOtherSchemeMapper().updateEndTime(otherArchivesId, dismissDate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue