From d772a259715e06e8473c3dcae1c4dfdbf8ebbffa Mon Sep 17 00:00:00 2001 From: wxyclub Date: Tue, 28 Nov 2023 11:40:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=9B=BD=E5=86=85=E6=B5=B7=E5=A4=96?= =?UTF-8?q?=E4=BC=81=E6=A0=87=E4=BF=AE=E6=94=B9=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E6=A0=87=E5=87=86=E4=BD=93=E7=B3=BB=E7=BA=A7=E8=81=94=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/SarBussionessStandServiceImpl.java | 8 ++ .../impl/SarStandardsInfoServiceImpl.java | 97 ++++++++++++++----- 2 files changed, 79 insertions(+), 26 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index 4533ad40..af993427 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -1417,6 +1417,14 @@ public class SarBussionessStandServiceImpl extends ServiceImpl wrapper=new QueryWrapper<>(); - wrapper.in("MENU_NAME",sarStandardsInfoEO.getStandSystem()); - wrapper.eq("DIC_ID","9m4qqqaansxmox5e82zm"); - wrapper.orderByDesc("length(PARENT_IDS)"); - List standards=iSarMenuStandardService.list(wrapper); - if (null!=standards && standards.size() == 1) { - List ids=new ArrayList<>(); - if (StringUtils.isNotBlank(standards.get(0).getParentIds())){ - if (standards.get(0).getParentIds().contains(",")){ - ids=new ArrayList<>(Arrays.asList(standards.get(0).getParentIds().split(","))); - }else { - ids.add(standards.get(0).getParentIds()); - } - QueryWrapper wrapper1 = new QueryWrapper<>(); - wrapper1.in("id", ids); - List res = iSarMenuStandardService.list(wrapper1); - if (null!=res && res.size()>0){ - Map map=new HashMap<>(); - res.forEach(sarMenuStandard -> {map.put(sarMenuStandard.getId(),sarMenuStandard.getMenuName());}); - String result=""; - for (String s:ids) { - result +="/"+map.get(s); - } - sarStandardsInfoEO.setStandSystem(result.substring(1,result.length())); - } + // 处理标准体系字段 + String standSystem = sarStandardsInfoEO.getStandSystem(); + if (StringUtils.isNotBlank(standSystem)) { + List list = Arrays.asList(standSystem.split("/")); + standSystem = list.get(list.size() - 1); + // 配置体系类别 + String txlbBussLevel = getParentNodePathRecursive(standSystem); + sarStandardsInfoEO.setStandSystem(txlbBussLevel); } } + // 之前的处理有问题 +// QueryWrapper wrapper=new QueryWrapper<>(); +// wrapper.in("MENU_NAME",sarStandardsInfoEO.getStandSystem()); +// wrapper.eq("DIC_ID","9m4qqqaansxmox5e82zm"); +// wrapper.orderByDesc("length(PARENT_IDS)"); +// List standards=iSarMenuStandardService.list(wrapper); +// if (null!=standards && standards.size() == 1) { +// List ids=new ArrayList<>(); +// if (StringUtils.isNotBlank(standards.get(0).getParentIds())){ +// if (standards.get(0).getParentIds().contains(",")){ +// ids=new ArrayList<>(Arrays.asList(standards.get(0).getParentIds().split(","))); +// }else { +// ids.add(standards.get(0).getParentIds()); +// } +// QueryWrapper wrapper1 = new QueryWrapper<>(); +// wrapper1.in("id", ids); +// List res = iSarMenuStandardService.list(wrapper1); +// if (null!=res && res.size()>0){ +// Map map=new HashMap<>(); +// res.forEach(sarMenuStandard -> {map.put(sarMenuStandard.getId(),sarMenuStandard.getMenuName());}); +// String result=""; +// for (String s:ids) { +// result +="/"+map.get(s); +// } +// sarStandardsInfoEO.setStandSystem(result.substring(1,result.length())); +// } +// } +// } + return sarStandardsInfoEO; @@ -3236,6 +3248,15 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl list = Arrays.asList(standSystem.split("/")); + standSystem = list.get(list.size() - 1); + // 配置体系类别 + String txlbBussLevel = getParentNodePathRecursive(standSystem); + sarStandardsInfoEO.setStandSystem(txlbBussLevel); + } } return sarStandardsInfoEO; } @@ -3934,5 +3955,29 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SarMenuStandard::getMenuName, nodeName); + SarMenuStandard node = sarMenuStandardService.list(wrapper).get(0); // 根据 txlbBuss 查询节点 + if (node == null) { + return nodeName; // 未找到节点,返回空路径 + } + if (org.apache.commons.lang.StringUtils.isBlank(node.getParentId())) { + return nodeName; + } + SarMenuStandard sarMenuStandard = sarMenuStandardService.selectMenuById(node.getParentId()); + String parentNodePath = getParentNodePathRecursive(sarMenuStandard.getMenuName()); // 递归获取父节点路径 + if (parentNodePath.isEmpty()) { + return nodeName; // 如果父节点路径为空,直接返回当前节点的 txlbBuss + } else { + return parentNodePath + "/" + nodeName; // 否则,拼接当前节点的 txlbBuss 到父节点路径 + } + } + }