diff --git a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java index 847fa177d..acd6c5e85 100644 --- a/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIRecessionServiceImpl.java @@ -79,12 +79,19 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic SalaryAssert.notEmpty(employeeIds, SalaryI18nUtil.getI18nLabel(133967, "无退差人员")); //查询退差员工对应的退差月份的正常缴纳的福利台账数据 - List detailPOS= getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder() - .paymentStatus(PaymentStatusEnum.COMMON.getValue()) - .recessionMonthList(param.getRecessionMonthList()) - .employeeIds(employeeIds) - .paymentOrganization(param.getPaymentOrganization()) - .build()); + List detailPOS = new ArrayList<>(); + List> partitionEmpIds = Lists.partition((List) employeeIds, 1000); + partitionEmpIds.forEach(p -> { + detailPOS.addAll( + getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder() + .paymentStatus(PaymentStatusEnum.COMMON.getValue()) + .recessionMonthList(param.getRecessionMonthList()) + .employeeIds(p) + .paymentOrganization(param.getPaymentOrganization()) + .build()) + ); + }); + InsuranceAccountDetailPOEncrypt.decryptInsuranceAccountDetailPOList(detailPOS); //处理数据 List finalDetailPOS = detailPOS;