diff --git a/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java b/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java index 07e6f398e..f9ff8b960 100644 --- a/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java +++ b/src/com/engine/salary/timer/AutoSyncEmpArchiveStartDateJob.java @@ -1,14 +1,16 @@ 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.entity.datacollection.DataCollectionEmployee; -import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO; 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; import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO; import com.engine.salary.entity.siarchives.po.InsuranceArchivesFundSchemePO; @@ -175,14 +177,18 @@ public class AutoSyncEmpArchiveStartDateJob extends BaseCronJob { if (StrUtil.isNotEmpty(cusQqjbzId) && StrUtil.isNotEmpty(cusQqjbz)) { - List list = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().runStatus(SalaryArchiveListTypeEnum.PENDING.getValue()).build()); + List list = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().build()); Date now = new Date(); //同步全勤奖标准 List collect = list .stream() .filter(salaryArchive -> salaryArchive.getPayStartDate() != null) + .filter(salaryArchive -> { + //排除已有全勤奖标准的档案 + List salaryArchiveItemPOS = salaryArchiveItemMapper.listByParam(SalaryArchiveItemQueryParam.builder().salaryArchiveId(salaryArchive.getId()).salaryItemId(Long.valueOf(cusQqjbzId)).build()); + return CollUtil.isEmpty(salaryArchiveItemPOS); + }) .map(salaryArchive -> SalaryArchiveItemPO.builder() -// .id(IdGenerator.generate()) .salaryArchiveId(salaryArchive.getId()) .employeeId(salaryArchive.getEmployeeId()) .effectiveTime(salaryArchive.getPayStartDate())