diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/TreeLabelManagerController.java b/adc-da-report/src/main/java/com/adc/da/report/controller/TreeLabelManagerController.java index 4177a6b..28716d6 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/TreeLabelManagerController.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/TreeLabelManagerController.java @@ -54,7 +54,7 @@ public class TreeLabelManagerController { @ApiOperation("获取当前标签的父级路径") @GetMapping("/labelList/{id}") public ResponseMessage parentLabelList(@PathVariable String id) { - List labelList = iTreeLabelService.getLabelList(id); + List labelList = iTreeLabelService.getParentLabelList(id); return Result.success(labelList); } 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 210fa97..36730cc 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 @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Set; /** * @Author doudxw @@ -17,11 +18,13 @@ public interface ReportDao extends BaseMapper { /** * 报告列表 + * * @param page * @param vo + * @param idSet * @return */ - IPage list(IPage page, @Param("Vo") ReportQueryVo vo); + IPage list(IPage page, @Param("Vo") ReportQueryVo vo, @Param("idSet") Set idSet); /** * 报告日期列表 diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/ITreeLabelService.java b/adc-da-report/src/main/java/com/adc/da/report/service/ITreeLabelService.java index 2098117..d56ec1f 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/ITreeLabelService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/ITreeLabelService.java @@ -50,4 +50,12 @@ public interface ITreeLabelService extends IService { * @return */ List getLabelList(String id); + + /** + * 获取当前标签的路径(不包括自己) + * + * @param id + * @return + */ + List getParentLabelList(String id); } 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 f8a4786..8c47661 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 @@ -216,7 +216,11 @@ public class IReportServiceImpl extends ServiceImpl IPage list = reportDao.list(page, vo, idSet); - IPage list = reportDao.list(page, vo); + + //获取所有报告的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())) { @@ -253,6 +257,22 @@ public class IReportServiceImpl extends ServiceImpl return list; } + private List findLabelList(String id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ReportLabelEntity::getReportId, id); + List reportLabelEntities = iReportLabelService.list(wrapper); + //找出所有路径 + List> labelList = new ArrayList<>(); + for (ReportLabelEntity entity : reportLabelEntities) { + labelList.add(iTreeLabelService.getLabelList(entity.getLabelId())); + } + //返回最长的那条路径 + labelList = labelList.stream() + .sorted(Comparator.comparingInt(List::size).reversed()) + .collect(Collectors.toList()); + return labelList.get(0); + } + /** * 报告删除 * diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITreeLabelServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITreeLabelServiceImpl.java index 8807e16..ae7473f 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITreeLabelServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITreeLabelServiceImpl.java @@ -164,6 +164,20 @@ public class ITreeLabelServiceImpl extends ServiceImpl getLabelList(String id) { + List labelList = new ArrayList<>(); + TreeLabelEntity treeLabelEntity = getById(id); + while (!TreeLabelConstants.ROOT_TAG_PARENT_ID.equals(treeLabelEntity.getParentId())) { + labelList.add(treeLabelEntity.getId()); + treeLabelEntity = getById(treeLabelEntity.getParentId()); + } + TreeLabelEntity root = getById(TreeLabelConstants.ROOT_LABEL_ID); + labelList.add(root.getId()); + Collections.reverse(labelList); + return labelList; + } + + @Override + public List getParentLabelList(String id) { List labelList = new ArrayList<>(); TreeLabelEntity treeLabelEntity = getById(id); //获取上层标签 diff --git a/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml index 344a55c..00363a0 100644 --- a/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/target/classes/mybatis/mapper/mysql/ReportManageMapper.xml @@ -3,117 +3,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +