diff --git a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java index 79f5de0a6..37889bc2e 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctEmployeeServiceImpl.java @@ -583,7 +583,25 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct // lambdaQueryChainWrapper.in(SalaryAcctEmployeePO::getIncomeCategory, param.getIncomeCategory().stream().map(Object::toString).collect(Collectors.toList())); // } - List list = getSalaryAcctEmployeeMapper().listSome(lambdaQueryChainWrapper); + //排除未归档数据 + List salaryAcctRecordPOS = getSalaryAcctRecordService(user).listAll(); + List salaryAcctRecordIds = salaryAcctRecordPOS.stream() + .filter(po -> !Objects.equals(po.getStatus(), SalaryAcctRecordStatusEnum.NOT_ARCHIVED.getValue())) + .map(SalaryAcctRecordPO::getId) + .collect(Collectors.toList()); + + List list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(salaryAcctRecordIds)) { + //分片查询 + List> partition = Lists.partition(salaryAcctRecordIds, 500); + List empList = new ArrayList<>(); + partition.forEach(part -> { + lambdaQueryChainWrapper.setSalaryAcctRecordIds(salaryAcctRecordIds); + empList.addAll(getSalaryAcctEmployeeMapper().listSome(lambdaQueryChainWrapper)); + }); + list = empList; + } + if (CollectionUtils.isEmpty(list)) { return Lists.newArrayList(); }