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 到父节点路径 + } + } + }