From ff24e0cb57c72ba18efb14b6127125957c533e64 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Fri, 8 Dec 2023 16:29:17 +0800 Subject: [PATCH] =?UTF-8?q?manage:=20=E8=BD=AC=E7=A7=BBqueryTree=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConfigTreatmentPlanManageServiceImpl.java | 47 +-------------- .../service/ConfigTreatmentPlanService.java | 6 ++ .../ConfigConfigTreatmentPlanServiceImpl.java | 57 +++++++++++++++++++ 3 files changed, 64 insertions(+), 46 deletions(-) diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java index 6331ad41..ca000a74 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/ConfigTreatmentPlanManageServiceImpl.java @@ -21,53 +21,8 @@ public class ConfigTreatmentPlanManageServiceImpl implements ConfigTreatmentPlan @Override public List queryTree(Integer disposalMethod) { - List list = configTreatmentPlanService.lambdaQuery().eq(!Objects.isNull(disposalMethod), - ConfigTreatmentPlan::getDisposalPlan, disposalMethod).list(); - if (CollUtil.isEmpty(list)){ - return CollUtil.newArrayList(); - } - - TreatmentPlanTreeNode root = new TreatmentPlanTreeNode(); - for (ConfigTreatmentPlan configTreatmentPlan : list) { - String id = configTreatmentPlan.getId(); - String disposalPlan = configTreatmentPlan.getDisposalPlan(); - String firstMeasures = configTreatmentPlan.getFirstMeasures(); - String secondMeasures = configTreatmentPlan.getSecondMeasures(); - - // 一级节点 - if (StrUtil.isEmpty(disposalPlan)){ - continue; - } - TreatmentPlanTreeNode disposalPlanNode = root.findChildByName(disposalPlan); - if (null == disposalPlanNode){ - disposalPlanNode = new TreatmentPlanTreeNode(StrUtil.isNotEmpty(firstMeasures) ? null : id, disposalPlan); - root.getOrDefaultChild().add(disposalPlanNode); - } - - // 二级节点 - if (StrUtil.isEmpty(firstMeasures)){ - continue; - } - TreatmentPlanTreeNode firstMeasuresNode = disposalPlanNode.findChildByName(firstMeasures); - if (null == firstMeasuresNode){ - firstMeasuresNode = new TreatmentPlanTreeNode(StrUtil.isNotEmpty(secondMeasures) ? null : id,firstMeasures); - disposalPlanNode.getOrDefaultChild().add(firstMeasuresNode); - } - - - // 三级节点 - if (StrUtil.isEmpty(secondMeasures)){ - continue; - } - TreatmentPlanTreeNode secondMeasuresNode = firstMeasuresNode.findChildByName(secondMeasures); - if (null == secondMeasuresNode){ - secondMeasuresNode = new TreatmentPlanTreeNode(id,secondMeasures); - firstMeasuresNode.getOrDefaultChild().add(secondMeasuresNode); - } - } - - return root.getChild(); + return configTreatmentPlanService.queryTree(disposalMethod); } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/ConfigTreatmentPlanService.java b/virtual-patient-model/src/main/java/com/supervision/service/ConfigTreatmentPlanService.java index 233f4119..10554458 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/ConfigTreatmentPlanService.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/ConfigTreatmentPlanService.java @@ -2,6 +2,9 @@ package com.supervision.service; import com.supervision.model.ConfigTreatmentPlan; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.vo.manage.TreatmentPlanTreeNode; + +import java.util.List; /** * @author Administrator @@ -10,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ConfigTreatmentPlanService extends IService { + List queryTree(Integer disposalMethod); + + } diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java index e81fde7b..45d38dbb 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigConfigTreatmentPlanServiceImpl.java @@ -1,11 +1,17 @@ package com.supervision.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.model.ConfigTreatmentPlan; import com.supervision.service.ConfigTreatmentPlanService; import com.supervision.mapper.ConfigTreatmentPlanMapper; +import com.supervision.vo.manage.TreatmentPlanTreeNode; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; + /** * @author Administrator * @description 针对表【vp_treatment_plan(处置计划表)】的数据库操作Service实现 @@ -15,6 +21,57 @@ import org.springframework.stereotype.Service; public class ConfigConfigTreatmentPlanServiceImpl extends ServiceImpl implements ConfigTreatmentPlanService { + @Override + public List queryTree(Integer disposalMethod) { + + List list = super.lambdaQuery().eq(!Objects.isNull(disposalMethod), + ConfigTreatmentPlan::getDisposalPlan, disposalMethod).list(); + + if (CollUtil.isEmpty(list)){ + return CollUtil.newArrayList(); + } + + TreatmentPlanTreeNode root = new TreatmentPlanTreeNode(); + for (ConfigTreatmentPlan configTreatmentPlan : list) { + String id = configTreatmentPlan.getId(); + String disposalPlan = configTreatmentPlan.getDisposalPlan(); + String firstMeasures = configTreatmentPlan.getFirstMeasures(); + String secondMeasures = configTreatmentPlan.getSecondMeasures(); + + // 一级节点 + if (StrUtil.isEmpty(disposalPlan)){ + continue; + } + TreatmentPlanTreeNode disposalPlanNode = root.findChildByName(disposalPlan); + if (null == disposalPlanNode){ + disposalPlanNode = new TreatmentPlanTreeNode(StrUtil.isNotEmpty(firstMeasures) ? null : id, disposalPlan); + root.getOrDefaultChild().add(disposalPlanNode); + } + + // 二级节点 + if (StrUtil.isEmpty(firstMeasures)){ + continue; + } + TreatmentPlanTreeNode firstMeasuresNode = disposalPlanNode.findChildByName(firstMeasures); + if (null == firstMeasuresNode){ + firstMeasuresNode = new TreatmentPlanTreeNode(StrUtil.isNotEmpty(secondMeasures) ? null : id,firstMeasures); + disposalPlanNode.getOrDefaultChild().add(firstMeasuresNode); + } + + + // 三级节点 + if (StrUtil.isEmpty(secondMeasures)){ + continue; + } + TreatmentPlanTreeNode secondMeasuresNode = firstMeasuresNode.findChildByName(secondMeasures); + if (null == secondMeasuresNode){ + secondMeasuresNode = new TreatmentPlanTreeNode(id,secondMeasures); + firstMeasuresNode.getOrDefaultChild().add(secondMeasuresNode); + } + } + + return root.getChild(); + } }