转树结构
This commit is contained in:
+34
@@ -15,7 +15,10 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/split/sarFileSplitMenu")
|
@RequestMapping("/split/sarFileSplitMenu")
|
||||||
@@ -51,9 +54,40 @@ public class SarFileSplitMenuEOController extends JeroController<SarFileSplitMen
|
|||||||
// page.setOrderBy("regexp_replace(replace('.'||NAME, '.', '.00000000'), '0+([^\\.]{8})', '\\1')");
|
// page.setOrderBy("regexp_replace(replace('.'||NAME, '.', '.00000000'), '0+([^\\.]{8})', '\\1')");
|
||||||
page.setOrderBy("display_seq asc");
|
page.setOrderBy("display_seq asc");
|
||||||
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByList(page);
|
List<SarFileSplitMenuEO> getList = sarFileSplitMenuEOService.queryByList(page);
|
||||||
|
//转树结构
|
||||||
|
List<SarFileSplitMenuEO> menuEOS = convertToTree(getList);
|
||||||
|
getList = menuEOS.get(0).getChildren();
|
||||||
return Result.OK(getList);
|
return Result.OK(getList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<SarFileSplitMenuEO> convertToTree(List<SarFileSplitMenuEO> menuList) {
|
||||||
|
// 创建一个Map来保存id与SarFileSplitMenuEO对象的映射关系
|
||||||
|
Map<String, SarFileSplitMenuEO> menuMap = new HashMap<>();
|
||||||
|
for (SarFileSplitMenuEO menu : menuList) {
|
||||||
|
menuMap.put(menu.getId(), menu);
|
||||||
|
}
|
||||||
|
List<SarFileSplitMenuEO> rootNodes = new ArrayList<>();
|
||||||
|
for (SarFileSplitMenuEO menu : menuList) {
|
||||||
|
String parentId = menu.getPId();
|
||||||
|
if (parentId == null) {
|
||||||
|
// 如果pid为空,将其作为根节点添加到结果集
|
||||||
|
rootNodes.add(menu);
|
||||||
|
} else {
|
||||||
|
// 如果pid不为空,将其作为子节点添加到父节点中
|
||||||
|
SarFileSplitMenuEO parentMenu = menuMap.get(parentId);
|
||||||
|
if (parentMenu != null) {
|
||||||
|
List<SarFileSplitMenuEO> childList = parentMenu.getChildren();
|
||||||
|
if (childList == null) {
|
||||||
|
childList = new ArrayList<SarFileSplitMenuEO>();
|
||||||
|
parentMenu.setChildren(childList);
|
||||||
|
}
|
||||||
|
childList.add(menu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rootNodes;
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "文档拆分条款目录-新增Y")
|
@ApiOperation(value = "文档拆分条款目录-新增Y")
|
||||||
@PostMapping("/addMenu")
|
@PostMapping("/addMenu")
|
||||||
@RequiresPermissions("split:sarFileSplitMenu:add")
|
@RequiresPermissions("split:sarFileSplitMenu:add")
|
||||||
|
|||||||
Reference in New Issue
Block a user