关联模块

This commit is contained in:
zhaokaiyao@91isoft.com
2021-11-26 20:29:21 +08:00
parent 9000a6e3fe
commit c209bb485c
8 changed files with 95 additions and 34 deletions
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarModelTree.controller;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result; import com.adc.da.http.Result;
import com.adc.da.slrs.sarModelTree.entity.SarModuleTree;
import com.adc.da.slrs.sarModelTree.service.ISarModelTreeService; import com.adc.da.slrs.sarModelTree.service.ISarModelTreeService;
import com.adc.da.slrs.sarModelTree.service.ISarModuleTreeService; import com.adc.da.slrs.sarModelTree.service.ISarModuleTreeService;
import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head;
@@ -38,17 +39,18 @@ public class SarModelTreeController extends BaseController<SarModelTree> {
@ApiOperation("查询父所有资源") @ApiOperation("查询父所有资源")
@GetMapping("/list") @GetMapping("/list")
public ResponseMessage<List<SarModelTree>> getAll(){ public ResponseMessage<List<SarModelTree>> getAll(){
List<SarModelTree> tsResources = iSarModelTreeService.getAll(null); // List<SarModuleTree> tsResources = iSarModuleTreeService.getAll(null);
// TODO List<SarModelTree> tsResources = iSarModuleTreeService.getAll(null); List<SarModelTree> tsResources = iSarModelTreeService.getAll(null);
return Result.success(tsResources); return Result.success(tsResources);
} }
@ApiOperation("根据父ID查询子所有资源") @ApiOperation("根据父ID查询子所有资源")
@GetMapping("/childByList") @GetMapping("/childByList")
public ResponseMessage<List<SarModelTree>> childByList(String ids){ public ResponseMessage<List<SarModelTree>> childByList(SarModelTree parentTree){
SarModelTree tree = new SarModelTree(); // List<SarModuleTree> tsResources = iSarModuleTreeService.recursionGetChildren(parentTree);
tree.setId(ids);
List<SarModelTree> tsResources = iSarModelTreeService.recursionGetChildren(tree); List<SarModelTree> tsResources = iSarModelTreeService.recursionGetChildren(parentTree);
return Result.success(tsResources); return Result.success(tsResources);
} }
@@ -13,7 +13,7 @@ import java.util.List;
/** /**
* <p> * <p>
* *
* </p> * </p>
* *
* @author super_liu * @author super_liu
@@ -70,7 +70,13 @@ public class SarModuleTree {
@TableField("CREATIONDATE") @TableField("CREATIONDATE")
private String creationdate; private String creationdate;
@TableField(exist = false)
private Integer level;
@TableField(exist = false)
private String model;
@TableField(exist = false)
private String nextCondition;
} }
@@ -1,15 +1,16 @@
package com.adc.da.slrs.sarModelTree.service; package com.adc.da.slrs.sarModelTree.service;
import com.adc.da.slrs.sarModelTree.entity.SarModelTree; import com.adc.da.slrs.sarModelTree.entity.SarModelTree;
import com.adc.da.slrs.sarModelTree.entity.SarModuleTree;
import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head; import com.adc.da.slrs.sarStandProjectLibrary.entity.myResponse.Head;
import java.util.List; import java.util.List;
public interface ISarModuleTreeService { public interface ISarModuleTreeService {
List<SarModelTree> getAll(SarModelTree sarModelTree); List<SarModuleTree> getAll(SarModuleTree root);
List<SarModelTree> recursionGetChildren(SarModelTree parent); List<SarModuleTree> recursionGetChildren(SarModuleTree parent);
public Head analysisJsonAndStorage(String json); public Head analysisJsonAndStorage(String json);
@@ -32,6 +32,9 @@ public class SarModelTreeServiceImpl extends ServiceImpl<SarModelTreeDao, SarMod
// for(SarModelTree tree:list){ // for(SarModelTree tree:list){
// tree.setChildren(recursionGetChildren((tree))); // tree.setChildren(recursionGetChildren((tree)));
// } // }
list.forEach(item->{
item.setId(item.getName());
});
return list; return list;
} }
@@ -44,11 +47,16 @@ public class SarModelTreeServiceImpl extends ServiceImpl<SarModelTreeDao, SarMod
public List<SarModelTree> recursionGetChildren(SarModelTree parent){ public List<SarModelTree> recursionGetChildren(SarModelTree parent){
QueryWrapper<SarModelTree> sarMenuQueryWrapper=new QueryWrapper<>(); QueryWrapper<SarModelTree> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.orderByAsc("SORT"); sarMenuQueryWrapper.orderByAsc("SORT");
sarMenuQueryWrapper.in("PID",parent.getId()); // sarMenuQueryWrapper.in("PID",parent.getId());
sarMenuQueryWrapper.eq("PID",parent.getId());
List<SarModelTree> children=this.baseMapper.selectList(sarMenuQueryWrapper); List<SarModelTree> children=this.baseMapper.selectList(sarMenuQueryWrapper);
for(SarModelTree sarMenu:children){ // for(SarModelTree sarMenu:children){
sarMenu.setChildren(recursionGetChildren((sarMenu))); // sarMenu.setChildren(recursionGetChildren((sarMenu)));
} // }
children.forEach(item->{
item.setId(item.getName());
});
return children; return children;
} }
} }
@@ -15,9 +15,11 @@ import com.google.gson.JsonParser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.awt.event.MouseAdapter;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@@ -27,16 +29,27 @@ public class SarModuleTreeServiceImpl extends ServiceImpl<SarModuleTreeDao, SarM
private SarModuleTreeServiceImpl sarModuleTreeService; private SarModuleTreeServiceImpl sarModuleTreeService;
/** /**
* @param sarModelTree
* @return 所有的根节点 * @return 所有的根节点
*/ */
@Override @Override
public List<SarModelTree> getAll(SarModelTree sarModelTree) { public List<SarModuleTree> getAll(SarModuleTree root) {
QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>(); QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>();
treeQueryWrapper.groupBy("FTVSTYPE1"); treeQueryWrapper.select("FTVSTYPE1")
List<SarModuleTree> moduleTreeList = this.baseMapper.selectList(treeQueryWrapper); .groupBy("FTVSTYPE1");
List<Map<String, Object>> moduleTreeList = this.baseMapper.selectMaps(treeQueryWrapper);
List<SarModuleTree> collect = moduleTreeList.stream()
.map(item -> {
SarModuleTree sarModuleTree = new SarModuleTree();
sarModuleTree.setNextCondition(item.get("FTVSTYPE1").toString());
sarModuleTree.setLevel(1);
sarModuleTree.setModel(item.get("FTVSTYPE1").toString());
return sarModuleTree;
}).collect(Collectors.toList());
//返回转换元素后的数组 //返回转换元素后的数组
return listTransform(moduleTreeList); return collect;
} }
/** /**
@@ -45,20 +58,47 @@ public class SarModuleTreeServiceImpl extends ServiceImpl<SarModuleTreeDao, SarM
* @return * @return
*/ */
@Override @Override
public List<SarModelTree> recursionGetChildren(SarModelTree parent) { public List<SarModuleTree> recursionGetChildren(SarModuleTree parent) {
QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>(); QueryWrapper<SarModuleTree> treeQueryWrapper = new QueryWrapper<>();
treeQueryWrapper.eq("GUID",parent.getId()); Integer level =parent.getLevel();
List<SarModuleTree> moduleTreeList = this.baseMapper.selectList(treeQueryWrapper);
switch (parent.getLevel()){
case 1:
level=2;
break;
case 6:
return null;
}
String column="FTVSTYPE"+(level+1);
treeQueryWrapper.select(column)
.eq("FTVSTYPE"+parent.getLevel(),parent.getNextCondition())
.groupBy(column);
List<Map<String, Object>> moduleTreeList = this.baseMapper.selectMaps(treeQueryWrapper);
Integer finalLevel = level;
List<SarModuleTree> collect = moduleTreeList.stream()
.map(item -> {
SarModuleTree sarModuleTree = new SarModuleTree();
sarModuleTree.setNextCondition(item.get(column).toString()); //查询子节点条件
sarModuleTree.setLevel(finalLevel + 1);
//拼接前端显示名称
// switch (finalLevel){
// case 3:
// sarModuleTree.setModel(item.get(column).toString());//前端显示名称
// break;
// case
// }
Map<String, List<SarModuleTree>> collect = moduleTreeList.stream().collect(Collectors.groupingBy(SarModuleTree::getFtvstype1)); return sarModuleTree;
collect.forEach((k, v)->{ }).collect(Collectors.toList());
SarModelTree modelTree = new SarModelTree();
//TODO 生成树型结构
// modelTree return collect;
});
return null;
} }
@Override @Override
@@ -74,6 +74,9 @@ public class SarVppsTree extends BaseEntity {
@TableField("TYPE") @TableField("TYPE")
private String type; private String type;
@ApiModelProperty("查询子节点条件")
@TableField(exist = false)
private String nextCondition;
@TableField(exist=false) @TableField(exist=false)
private List<String> roleIds; private List<String> roleIds;
@@ -82,4 +85,6 @@ public class SarVppsTree extends BaseEntity {
private List<String> childMenuIds; private List<String> childMenuIds;
} }
@@ -33,7 +33,7 @@ public class SarVppsTreeServiceImpl extends ServiceImpl<SarVppsTreeDao, SarVppsT
list.forEach(item->{ list.forEach(item->{
item.setCode(item.getVppsCode()+item.getChineseName()); item.setCode(item.getVppsCode()+item.getChineseName());
item.setVppsCode("10"); item.setId("10");
}); });
// for(SarVppsTree tree:list){ // for(SarVppsTree tree:list){
// tree.setChildren(recursionGetChildren((tree))); // tree.setChildren(recursionGetChildren((tree)));
@@ -50,15 +50,14 @@ public class SarVppsTreeServiceImpl extends ServiceImpl<SarVppsTreeDao, SarVppsT
public List<SarVppsTree> recursionGetChildren(SarVppsTree parent){ public List<SarVppsTree> recursionGetChildren(SarVppsTree parent){
QueryWrapper<SarVppsTree> sarMenuQueryWrapper=new QueryWrapper<>(); QueryWrapper<SarVppsTree> sarMenuQueryWrapper=new QueryWrapper<>();
sarMenuQueryWrapper.orderByAsc("SORT"); sarMenuQueryWrapper.orderByAsc("SORT");
// sarMenuQueryWrapper.in("PID",parent.getId());
sarMenuQueryWrapper.eq("LEVEL", parent.getLevel()+1) sarMenuQueryWrapper.eq("LEVEL", parent.getLevel()+1)
.eq("TYPE",parent.getType()) .eq("TYPE",parent.getType())
.like("VPPS_CODE",parent.getVppsCode()); .like("VPPS_CODE",parent.getId());
List<SarVppsTree> children=this.baseMapper.selectList(sarMenuQueryWrapper); List<SarVppsTree> children=this.baseMapper.selectList(sarMenuQueryWrapper);
// for(SarVppsTree sarMenu:children){
// sarMenu.setChildren(recursionGetChildren((sarMenu)));
// }
children.forEach(item->{ children.forEach(item->{
item.setId(item.getVppsCode());
item.setCode(item.getVppsCode()+item.getChineseName()); item.setCode(item.getVppsCode()+item.getChineseName());
}); });
return children; return children;