数据字典查询接口优化
This commit is contained in:
+28
-4
@@ -112,12 +112,36 @@ public class SarMenuStandardServiceImpl extends ServiceImpl<SarMenuStandardDao,
|
||||
QueryWrapper sarMenuQueryWrapper=new QueryWrapper<>();
|
||||
sarMenuQueryWrapper.eq("DIC_ID",dicId);
|
||||
sarMenuQueryWrapper.orderByAsc("DISPLAY_SEQ");
|
||||
sarMenuQueryWrapper.isNull("PARENT_ID");
|
||||
// sarMenuQueryWrapper.isNull("PARENT_ID");
|
||||
List<SarMenuStandard> sarMenus=dao.selectList(sarMenuQueryWrapper);
|
||||
for(SarMenuStandard sarMenu:sarMenus){
|
||||
sarMenu.setChildren(recursionGetChildren((sarMenu)));
|
||||
List<SarMenuStandard> dtas=new ArrayList<>();
|
||||
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