From 19efa5572bdbea9ef39e35a95d765949d72640df Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 21 Apr 2023 11:49:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84[=E6=8A=A5=E8=A1=A8=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=8E=A5=E5=8F=A3]=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=94=E5=9B=9E=E6=A0=87=E7=AD=BE=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=8C=89?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TreeLabelManagerController.java | 2 +- .../adc/da/report/dao/mysql/ReportDao.java | 5 +- .../da/report/service/ITreeLabelService.java | 8 + .../service/impl/IReportServiceImpl.java | 22 +- .../service/impl/ITreeLabelServiceImpl.java | 14 ++ .../mapper/mysql/ReportManageMapper.xml | 226 ++++++++++-------- 6 files changed, 180 insertions(+), 97 deletions(-) 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +