feat: 零部件接口选中为空时返回空数组
This commit is contained in:
+10
-2
@@ -37,11 +37,19 @@ public class LawsPartNameController {
|
||||
@ApiOperation(value = "企业标准-零部件树", notes = "企业标准-零部件树")
|
||||
@GetMapping("/")
|
||||
public Result<TreePage<PartName>> queryENTreeList(
|
||||
@RequestParam(name = "selectNodeNames", required = false, defaultValue = "") @ApiParam("选中的节点名称") String selectNodeNames,
|
||||
@RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
|
||||
TreePage<PartName> list = partNameService.queryTreeList(selectNodeNames, nodeName, pageNo, pageSize);
|
||||
TreePage<PartName> list = partNameService.queryTreeList(nodeName, pageNo, pageSize);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
@AutoLog(value = "企业标准-零部件树选中回显")
|
||||
@ApiOperation(value = "企业标准-零部件树选中回显", notes = "企业标准-零部件树选中回显")
|
||||
@GetMapping("/echo")
|
||||
public Result<TreePage<PartName>> queryEcho(@RequestParam(name = "selectNodeCodes", required = false, defaultValue = "")
|
||||
@ApiParam("选中的节点名称") String selectNodeCodes) {
|
||||
TreePage<PartName> list = partNameService.queryEcho(selectNodeCodes);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
+13
-5
@@ -18,10 +18,18 @@ public interface PartNameService extends IService<PartName> {
|
||||
/**
|
||||
* 查询零部件树
|
||||
*
|
||||
* @param nodeName
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
* @param nodeName 节点名称
|
||||
* @param pageNo 页码
|
||||
* @param pageSize 页面大小
|
||||
* @return 零部件树
|
||||
*/
|
||||
TreePage<PartName> queryTreeList(String selectedNodeNames, String nodeName, Integer pageNo, Integer pageSize);
|
||||
TreePage<PartName> queryTreeList(String nodeName, Integer pageNo, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 零部件树选中回显
|
||||
*
|
||||
* @param selectNodeCodes 选中的节点code
|
||||
* @return 零部件树
|
||||
*/
|
||||
TreePage<PartName> queryEcho(String selectNodeCodes);
|
||||
}
|
||||
|
||||
+42
-3
@@ -36,11 +36,10 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
||||
private PartNameMapper partNameMapper;
|
||||
|
||||
@Override
|
||||
public TreePage<PartName> queryTreeList(String selectedNodeNames, String nodeName, Integer pageNo, Integer pageSize) {
|
||||
public TreePage<PartName> queryTreeList(String nodeName, Integer pageNo, Integer pageSize) {
|
||||
LambdaQueryWrapper<PartName> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartName::getDelFlag, YesOrNoEnum.NO.getValue())
|
||||
.like(StrUtil.isNotBlank(nodeName), PartName::getName, nodeName)
|
||||
.in(PartName::getName, selectedNodeNames.split(","));
|
||||
.like(StrUtil.isNotBlank(nodeName), PartName::getName, nodeName);
|
||||
List<PartName> allNodes = partNameMapper.selectList(queryWrapper);
|
||||
|
||||
// 将所有节点转换为映射,以便快速查找
|
||||
@@ -77,6 +76,46 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TreePage<PartName> queryEcho(String selectNodeCodes) {
|
||||
int pageNo = 1;
|
||||
int pageSize = 1000;
|
||||
LambdaQueryWrapper<PartName> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartName::getDelFlag, YesOrNoEnum.NO.getValue())
|
||||
.in(PartName::getCode, selectNodeCodes.split(","));
|
||||
List<PartName> allNodes = partNameMapper.selectList(queryWrapper);
|
||||
|
||||
// 将所有节点转换为映射,以便快速查找
|
||||
Map<String, PartName> nodeMap = allNodes.stream()
|
||||
.collect(Collectors.toMap(PartName::getId, Function.identity()));
|
||||
|
||||
// 构建树形结构
|
||||
List<PartName> topLevelNodes = new ArrayList<>();
|
||||
allNodes.forEach(node -> {
|
||||
if (node.getParentId() == null) {
|
||||
topLevelNodes.add(node);
|
||||
} else {
|
||||
PartName parentNode = nodeMap.get(node.getParentId());
|
||||
if (parentNode != null) {
|
||||
if (parentNode.getChildPartNameList() == null) {
|
||||
parentNode.setChildPartNameList(new ArrayList<>());
|
||||
}
|
||||
parentNode.getChildPartNameList().add(node);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 实现分页逻辑
|
||||
int start = 0;
|
||||
int end = Math.min(start + pageSize, topLevelNodes.size());
|
||||
List<PartName> pageData = topLevelNodes.subList(start, end);
|
||||
|
||||
// 封装分页信息
|
||||
TreePage<PartName> result = new TreePage<>();
|
||||
result.setRecords(pageData);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user