艾志 - 人员信息报送刷新根据首次发薪日判断

This commit is contained in:
Harryxzy 2024-06-14 10:43:15 +08:00
parent 47f6701d29
commit f71b8bf7c9
1 changed files with 7 additions and 3 deletions

View File

@ -28,7 +28,6 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO;
import com.engine.salary.entity.taxagent.po.TaxAgentTaxReturnPO;
import com.engine.salary.entity.taxapiflow.bo.TaxApiFlowBO;
import com.engine.salary.entity.taxapiflow.po.TaxDeclarationApiFlowRecordPO;
import com.engine.salary.entity.taxdeclaration.dto.AzGssbDTO;
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationApiConfigPO;
import com.engine.salary.enums.OperateTypeEnum;
import com.engine.salary.enums.SalaryCycleTypeEnum;
@ -60,10 +59,8 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import java.time.LocalDate;
import java.util.*;
@ -506,6 +503,13 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla
List<SalaryArchiveDataDTO> salaryArchiveDataDTOS = getSalaryArchiveService(user).getSalaryArchiveTaxAgentData(salaryCycleRange, Collections.emptyList(), refreshParam.getTaxAgentId());
List<Long> employeeIds = salaryArchiveDataDTOS.stream().map(SalaryArchiveDataDTO::getEmployeeId).collect(Collectors.toList());
List<SalaryArchivePO> salaryArchivePOS = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentId(refreshParam.getTaxAgentId()).employeeIds(employeeIds).build());
// 艾志二开 判断首次薪资发放日期是否满足
LocalDate salaryCycleLocalDate = SalaryDateUtil.dateToLocalDate(SalaryDateUtil.getLastDayOfMonth(salaryCycle));
salaryArchivePOS = salaryArchivePOS.stream().filter(archive -> archive.getFirstPayDate() != null && !SalaryDateUtil.dateToLocalDate(archive.getFirstPayDate()).isAfter(salaryCycleLocalDate) ).collect(Collectors.toList());
employeeIds = salaryArchivePOS.stream().map(SalaryArchivePO::getEmployeeId).collect(Collectors.toList());
List<Long> finalEmployeeIds = employeeIds;
salaryArchiveDataDTOS = salaryArchiveDataDTOS.stream().filter(dto -> finalEmployeeIds.contains(dto.getEmployeeId())).collect(Collectors.toList());
// 本月增加了哪些人员
Set<Long> orgEmployeeIds = ((List<EmployeeDeclarePO>) CollectionUtils.union(preTaxCycleEmployeeDeclares, employeeDeclares))