|  |  |  | 
|---|
|  |  |  | List<Long> collect = groups.stream().map(MatnrGroup::getId).collect(Collectors.toList()); | 
|---|
|  |  |  | List<MatnrGroup> list = this.list(new LambdaQueryWrapper<MatnrGroup>().in(MatnrGroup::getId, collect)); | 
|---|
|  |  |  | matnrs.addAll(list); | 
|---|
|  |  |  | List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren); | 
|---|
|  |  |  | if (matnrs.isEmpty()) { | 
|---|
|  |  |  | return new ArrayList<>(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | MatnrGroup one = this.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getParentId, 0)); | 
|---|
|  |  |  | if (Objects.isNull(one)) { | 
|---|
|  |  |  | throw new CoolException("顶级分组不存在,请添加后再操作!!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<MatnrGroup> treeData = Utils.toTreeData(matnrs, one.getId(), MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren); | 
|---|
|  |  |  | return treeData; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren); | 
|---|
|  |  |  | if (treeData.isEmpty()) { | 
|---|
|  |  |  | return new ArrayList<>(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return treeData; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|