薪酬系统-福利台账,退差数据保存优化,分批查询

This commit is contained in:
sy 2022-11-25 14:43:45 +08:00
parent 58c7374a64
commit 366c1a8367
1 changed files with 13 additions and 6 deletions

View File

@ -79,12 +79,19 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
SalaryAssert.notEmpty(employeeIds, SalaryI18nUtil.getI18nLabel(133967, "无退差人员"));
//查询退差员工对应的退差月份的正常缴纳的福利台账数据
List<InsuranceAccountDetailPO> detailPOS= getInsuranceAccountDetailMapper().list(InsuranceAccountDetailParam.builder()
.paymentStatus(PaymentStatusEnum.COMMON.getValue())
.recessionMonthList(param.getRecessionMonthList())
.employeeIds(employeeIds)
.paymentOrganization(param.getPaymentOrganization())
.build());
List<InsuranceAccountDetailPO> detailPOS = new ArrayList<>();
List<List<Long>> partitionEmpIds = Lists.partition((List<Long>) 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<InsuranceAccountDetailPO> finalDetailPOS = detailPOS;