From 1964314fc149ff51c89bc82cbb27fd4ee754b7e3 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Tue, 18 Jul 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