修复全勤奖标准

This commit is contained in:
钱涛 2025-04-22 11:33:32 +08:00
parent e4d7b1dde4
commit bb074ff5cf
1 changed files with 14 additions and 6 deletions

View File

@ -1,14 +1,13 @@
package com.engine.salary.timer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.biz.SalaryArchiveBiz;
import com.engine.salary.biz.SalaryArchiveItemBiz;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.encrypt.EncryptUtil;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemQueryParam;
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
@ -20,6 +19,7 @@ import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
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.archive.SalaryArchiveItemMapper;
import com.engine.salary.mapper.siarchives.FundSchemeMapper;
import com.engine.salary.mapper.siarchives.OtherSchemeMapper;
import com.engine.salary.mapper.siarchives.SocialSchemeMapper;
@ -51,7 +51,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
private final EncryptUtil encryptUtil = new EncryptUtil();
private SalaryArchiveService getSalaryArchiveService(User user) {
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
}
@ -89,7 +89,12 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
return MapperProxyFactory.getProxy(OtherSchemeMapper.class);
}
private SalaryArchiveItemMapper getSalaryArchiveItemMapper() {
return MapperProxyFactory.getProxy(SalaryArchiveItemMapper.class);
}
private SalaryArchiveItemBiz salaryArchiveItemMapper = new SalaryArchiveItemBiz();
@Override
public void execute() {
User user = new User();
@ -178,6 +183,8 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
if (StrUtil.isNotEmpty(cusQqjbzId) && StrUtil.isNotEmpty(cusQqjbz)) {
List<SalaryArchivePO> list = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().build());
List<SalaryArchiveItemPO> salaryArchiveItemPOS = getSalaryArchiveItemMapper().listSome(SalaryArchiveItemPO.builder().salaryItemId(Long.valueOf(cusQqjbzId)).build());
List<Long> archiveIds = SalaryEntityUtil.properties(salaryArchiveItemPOS, SalaryArchiveItemPO::getSalaryArchiveId, Collectors.toList());
Date now = new Date();
//同步全勤奖标准
List<SalaryArchiveItemPO> collect = list
@ -185,8 +192,7 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
.filter(salaryArchive -> salaryArchive.getPayStartDate() != null)
.filter(salaryArchive -> {
//排除已有全勤奖标准的档案
List<SalaryArchiveItemPO> salaryArchiveItemPOS = salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryArchiveId(salaryArchive.getId()).salaryItemId(Long.valueOf(cusQqjbzId)).build());
return CollUtil.isEmpty(salaryArchiveItemPOS);
return !archiveIds.contains(salaryArchive.getId());
})
.map(salaryArchive -> SalaryArchiveItemPO.builder()
.salaryArchiveId(salaryArchive.getId())
@ -207,7 +213,9 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob {
.build())
.collect(Collectors.toList());
salaryArchiveItemMapper.batchInsert(collect, user);
encryptUtil.encryptList(collect, SalaryArchiveItemPO.class);
collect.forEach(po->getSalaryArchiveItemMapper().insertIgnoreNull(po));
}
}