数据字典查询接口优化
This commit is contained in:
+28
-4
@@ -112,12 +112,36 @@ public class SarMenuStandardServiceImpl extends ServiceImpl<SarMenuStandardDao,
|
|||||||
QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>();
|
QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>();
|
||||||
sarMenuQueryWrapper.eq("DIC_ID",dicId);
|
sarMenuQueryWrapper.eq("DIC_ID",dicId);
|
||||||
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
|
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
|
||||||
sarMenuQueryWrapper.isNull("PARENT_ID");
|
// sarMenuQueryWrapper.isNull("PARENT_ID");
|
||||||
List<SarMenuStandard> sarMenus=dao.selectList(sarMenuQueryWrapper);
|
List<SarMenuStandard> sarMenus=dao.selectList(sarMenuQueryWrapper);
|
||||||
for(SarMenuStandard sarMenu:sarMenus){
|
List<SarMenuStandard> dtas=new ArrayList<>();
|
||||||
sarMenu.setChildren(recursionGetChildren((sarMenu)));
|
List<SarMenuStandard> remove=new ArrayList<>();
|
||||||
|
for (SarMenuStandard sarMenuStandard:sarMenus) {
|
||||||
|
if (null==sarMenuStandard.getParentId() ){
|
||||||
|
dtas.add(sarMenuStandard);
|
||||||
|
remove.add(sarMenuStandard);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sarMenus;
|
sarMenus.removeAll(remove);
|
||||||
|
for(SarMenuStandard sarMenu:dtas){
|
||||||
|
sarMenu.setChildren(recursionGetChildrens(sarMenu,sarMenus));
|
||||||
|
}
|
||||||
|
|
||||||
|
return dtas;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<SarMenuStandard> recursionGetChildrens( SarMenuStandard Menu, List<SarMenuStandard> sarMenuStandards){
|
||||||
|
List<SarMenuStandard> children=new ArrayList<>();
|
||||||
|
sarMenuStandards.forEach(sarMenuStandard -> {
|
||||||
|
if (Menu.getId().equals(sarMenuStandard.getParentId())){
|
||||||
|
children.add(sarMenuStandard);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
sarMenuStandards.removeAll(children);
|
||||||
|
for(SarMenuStandard sarMenu:children){
|
||||||
|
sarMenu.setChildren(recursionGetChildrens(sarMenu,sarMenuStandards));
|
||||||
|
}
|
||||||
|
return children;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user