diff --git a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java index 1d9fc2b..788b975 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java +++ b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java @@ -35,5 +35,5 @@ public interface ReportDao extends BaseMapper { IPage getAddReportPage(IPage page, @Param("pageVO") ReportQueryVo vo); - IPage page(IPage page,@Param("pageVO") ReportQueryVo vo); + IPage page(IPage page,@Param("pageVO") ReportQueryVo vo,@Param("idSet")Set idSet); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 36a8088..75658bd 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -283,6 +283,9 @@ public class IReportServiceImpl extends ServiceImpl labelList = labelList.stream() .sorted(Comparator.comparingInt(List::size).reversed()) .collect(Collectors.toList()); + if (labelList.size() == 0){ + return null; + } return labelList.get(0); } @@ -391,8 +394,57 @@ public class IReportServiceImpl extends ServiceImpl vo.setUsid(UserUtils.getUserId()); } - IPage list = reportDao.page(page, vo); + //按照labelId筛选 + Set idSet = new HashSet<>(); + if (Objects.nonNull(vo.getLabelId()) && !vo.getLabelId().isEmpty()) { + LambdaQueryWrapper reportLabelEntityWrapper = new LambdaQueryWrapper<>(); + reportLabelEntityWrapper.eq(ReportLabelEntity::getLabelId, vo.getLabelId().get(vo.getLabelId().size() - 1)); + List reportLabelEntities = reportLabelDao.selectList(reportLabelEntityWrapper); + reportLabelEntities.forEach(reportLabelEntity -> { + idSet.add(reportLabelEntity.getReportId()); + }); + idSet.add("1"); + } + + IPage list = reportDao.page(page, vo,idSet); + //获取所有报告的labelId + list.getRecords().forEach((reportVo) -> { + reportVo.setLabelList(findLabelList(reportVo.getId())); + }); + list.getRecords().forEach(c -> { + FileEntity fileEntity = Optional.ofNullable(fileDao.selectById(c.getFileId())).orElse(new FileEntity()); + if (StringUtils.isEmpty(fileEntity.getFileType())) { + c.setFileType(null); + } + //ppt文件 + else if (ReportConstants.FILE_EXTENSIONS_PPT.equalsIgnoreCase(fileEntity.getFileType()) || + ReportConstants.FILE_EXTENSIONS_PPTX.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("1"); + } + //excel文件 + else if (ReportConstants.FILE_EXTENSIONS_XLS.equalsIgnoreCase(fileEntity.getFileType()) || + ReportConstants.FILE_EXTENSIONS_XLSX.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("2"); + } + //pdf文件 + else if (ReportConstants.FILE_EXTENSIONS_PDF.equalsIgnoreCase(fileEntity.getFileType())) { + c.setFileType("3"); + } + //word文件 + else { + c.setFileType("4"); + } + + //文件大小 + c.setFileSize(StringUtils.isNotEmpty(fileEntity.getFileSize()) + ? String.valueOf(Integer.parseInt(fileEntity.getFileSize()) / 1024) + "kb" : "0kb"); + c.setFileName(fileEntity.getFileName()); + List userIdList = reportUserDao.selectList( + new QueryWrapper().eq("reportId", c.getId())) + .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); + c.setReportUserIdList(userIdList); + }); return list; } diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml index c455718..049f5fc 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml @@ -274,6 +274,19 @@ #{id} + + and eo.id in + + #{id} + + + + + and eo.id in + + #{id} + + GROUP BY eo.id ORDER BY