diff --git a/event_smart/src/main/java/com/njcn/product/event/report/service/impl/EasyPoiWordExportServiceImpl.java b/event_smart/src/main/java/com/njcn/product/event/report/service/impl/EasyPoiWordExportServiceImpl.java index 6bebaa9..c36504f 100644 --- a/event_smart/src/main/java/com/njcn/product/event/report/service/impl/EasyPoiWordExportServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/product/event/report/service/impl/EasyPoiWordExportServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.text.StrBuilder; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fasterxml.jackson.databind.ObjectMapper; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; @@ -158,7 +159,18 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService { List pqUserLineAssPOS = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().in(PqUserLineAssPO::getLineIndex, lineIds)); List userIds = pqUserLineAssPOS.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); - List pqUserLedgerPOList = pqUserLedgerMapper.selectList(new LambdaQueryWrapper().in(PqUserLedgerPO::getId, userIds)); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (userIds.size() > 1000) { + List> listUserIds = CollUtil.split(userIds, 1000); + queryWrapper.and(w -> { + for (List ids : listUserIds) { + w.or(wIn -> wIn.in(PqUserLedgerPO::getId, ids)); + } + }); + } else { + queryWrapper.in(PqUserLedgerPO::getId, userIds); + } + List pqUserLedgerPOList = pqUserLedgerMapper.selectList(queryWrapper); Map> stringListMap = pqUserLedgerPOList.stream().collect(Collectors.groupingBy(PqUserLedgerPO::getSmallObjType)); String treeStr = userToStr(stringListMap, treePOMap); @@ -243,9 +255,18 @@ public class EasyPoiWordExportServiceImpl implements EasyPoiWordExportService { List pqUserLineAssPOS = pqUserLineAssMapper.selectList(new LambdaQueryWrapper().in(PqUserLineAssPO::getLineIndex,lineIds)); List userIds = pqUserLineAssPOS.stream().map(PqUserLineAssPO::getUserIndex).distinct().collect(Collectors.toList()); - LambdaQueryWrapper pqUserLedgerPOLambdaQueryWrapper = new LambdaQueryWrapper(); - pqUserLedgerPOLambdaQueryWrapper.in(PqUserLedgerPO::getId,userIds).eq(PqUserLedgerPO::getIsShow,1); - List pqUserLedgerPOList = pqUserLedgerMapper.selectList(pqUserLedgerPOLambdaQueryWrapper); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (userIds.size() > 1000) { + List> listUserIds = CollUtil.split(userIds, 1000); + queryWrapper.eq(PqUserLedgerPO::getIsShow,1).and(w -> { + for (List ids : listUserIds) { + w.or(wIn -> wIn.in(PqUserLedgerPO::getId, ids)); + } + }); + } else { + queryWrapper.eq(PqUserLedgerPO::getIsShow,1).in(PqUserLedgerPO::getId, userIds); + } + List pqUserLedgerPOList = pqUserLedgerMapper.selectList(queryWrapper); if(CollectionUtils.isEmpty(pqUserLedgerPOList)){ userContext ="不涉及半导体及重点关注用户。"; }else {