自动化立体仓库 - WCS系统
Junjie
2023-05-18 5ac625f324a7bb1656b319348cabfd13467467ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.zy.asrs.service.impl;
 
import com.zy.asrs.mapper.DataResourceMapper;
import com.zy.asrs.entity.DataResource;
import com.zy.asrs.service.DataResourceService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.List;
 
@Service("dataResourceService")
public class DataResourceServiceImpl extends ServiceImpl<DataResourceMapper, DataResource> implements DataResourceService {
 
    @Override
    public List<DataResource> selectRootData() {
        return this.baseMapper.selectRootData();
    }
 
    @Override
    public List<DataResource> selectByResourceId(Integer resourceId) {
        return this.baseMapper.selectByResourceId(resourceId);
    }
 
    @Override
    public boolean hasChild(Integer resourceId) {
        List<DataResource> resources = this.baseMapper.selectByResourceId(resourceId);
        return resources.size() > 0;
    }
 
    @Override
    public List<DataResource> selectAll() {
        List<DataResource> dataResources = this.baseMapper.selectAll();
        ArrayList<DataResource> list = new ArrayList<>();//普通根节点
        ArrayList<DataResource> listChild = new ArrayList<>();//有下级根节点
        for (DataResource dataResource : dataResources) {//将普通数据和有孩子节点数据进行分割
            if (this.hasChild(dataResource.getId())) {
                listChild.add(dataResource);
            }else {
                list.add(dataResource);
            }
        }
 
        for (DataResource dataResource : listChild) {//合并数据
            list.add(dataResource);
        }
        return list;
    }
}