From 1964314fc149ff51c89bc82cbb27fd4ee754b7e3 Mon Sep 17 00:00:00 2001 From: 郑永安 <zyazyz250@sina.com> Date: 星期二, 18 七月 2023 15:01:43 +0800 Subject: [PATCH] 要素树 --- src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java | 120 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 88 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java b/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java index cf21e0d..e2a60e2 100644 --- a/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java +++ b/src/main/java/com/gk/hotwork/Service/ServiceImpl/ElementManagementImpl.java @@ -37,7 +37,6 @@ return elementManagementMapper.selectPages(page,filter); } - /** * @Description: 新增 */ @@ -88,42 +87,93 @@ return elementManagementMapper.getElementByType(0); } + public List<ElementTree> getChindrenTree(List<Map<String,Object>> list,Long pid){ + List<ElementTree> elementTreeList = new ArrayList<ElementTree>(); + for (Map<String,Object> e : list) { + if(e.get("pid")!=null && pid.toString().equals(e.get("pid").toString())){ + + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(e.get("type").toString())); + elementTree.setLabel(e.get("label").toString()); + elementTree.setValue(Long.valueOf(e.get("value").toString())); + elementTree.setLeaf(e.get("isLeaf").toString().equals("1")?true:false); + if(elementTree.isLeaf()){ + elementTree.setChildren(new ArrayList<ElementTree>()); + elementTreeList.add(elementTree); + }else{ + elementTree.setChildren(getChindrenTree(list,elementTree.getValue())); + elementTreeList.add(elementTree); + } + } + } + return elementTreeList; + } + @Override public List<ElementTree> getElementTree() { - List<ElementTree> elementTreeList = new ArrayList<>(); + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null){ //一级要素 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } - List<ElementManagement> list1 = elementManagementMapper.getElementByType(0); - List<ElementManagement> list2 = elementManagementMapper.getElementByType(1); - - if (CollectionUtils.isNotEmpty(list1)){ - for (ElementManagement elementManagement : list1){ - ElementTree elementTree=new ElementTree(); - elementTree.setType(0); - elementTree.setLabel(elementManagement.getName()); - elementTree.setValue(elementManagement.getId()); - elementTreeList.add(elementTree); - } - } - if (CollectionUtils.isNotEmpty(list2)) { - for (int i = 0; i < list2.size(); i++) { - for (int j = 0; j < elementTreeList.size(); j++) { - if (list2.get(i).getParentId().equals(elementTreeList.get(j).getValue())) { - if (CollectionUtils.isEmpty(elementTreeList.get(j).getChildren())) { - //如果为空 则new一个出来 - elementTreeList.get(j).setChildren(new ArrayList<>()); - } - ElementTree elementTree = new ElementTree(); - elementTree.setType(1); - elementTree.setLabel(list2.get(i).getName()); - elementTree.setValue(list2.get(i).getId()); - elementTreeList.get(j).getChildren().add(elementTree); - } - } - } - } - return elementTreeList; + return returnTree; } + @Override + public List<ElementTree> getMenuType1Tree() { + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null && "1".equals(map.get("mt").toString())){ //一级要素,MenuType1 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } + + return returnTree; + } + + @Override + public List<ElementTree> getMenuType2Tree() { + + List<ElementTree> returnTree = new ArrayList<>(); + List<Map<String,Object>> list = elementManagementMapper.getElementTree(); //读取元素配置 + for (Map<String, Object> map : list) { + if(map.get("pid")==null && "2".equals(map.get("mt").toString())){ //一级要素,MenuType2 + ElementTree elementTree=new ElementTree(); + elementTree.setType(Integer.valueOf(map.get("type").toString())); + elementTree.setLabel(map.get("label").toString()); + elementTree.setValue(Long.valueOf(map.get("value").toString())); + elementTree.setLeaf(map.get("isLeaf").toString().equals("1")?true:false); + elementTree.setChildren(getChindrenTree(list,Long.valueOf(map.get("value").toString()))); + returnTree.add(elementTree); + }else{ + continue; + } + } + + return returnTree; + } /** * 查询验证 @@ -163,4 +213,10 @@ if (count > 0) throw new BusinessException("当前A级要素仍然有已绑定的B级要素,无法删除"); } } + + + @Override + public List<ElementManagement> getSuperElement(Integer type) { + return elementManagementMapper.getElementByType(type); + } } -- Gitblit v1.9.2