xx
孔祥富
2021-03-13 9ebcf87b1c398633a07d7eeca760d9d801f95de2
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FolderServiceImpl.java
@@ -1,8 +1,13 @@
package cc.mrbird.febs.server.hr.service.impl;
import cc.mrbird.febs.common.core.constant.ModuleCode;
import cc.mrbird.febs.common.core.entity.DeptTree;
import cc.mrbird.febs.common.core.entity.Tree;
import cc.mrbird.febs.common.core.entity.constant.PageConstant;
import cc.mrbird.febs.common.core.entity.system.Dept;
import cc.mrbird.febs.common.core.utils.FebsUtil;
import cc.mrbird.febs.common.core.utils.SequenceUtil;
import cc.mrbird.febs.common.core.utils.TreeUtil;
import cc.mrbird.febs.server.hr.entity.FilesUpload;
import cc.mrbird.febs.server.hr.entity.Folder;
import cc.mrbird.febs.server.hr.entity.Label;
@@ -19,9 +24,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cc.mrbird.febs.common.core.entity.QueryRequest;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.*;
/**
 * 文件夹 Service实现
@@ -46,6 +49,34 @@
    }
    @Override
    public Map<String, Object> folderTreeList(QueryRequest request, Folder folder) {
        Map<String, Object> result = new HashMap<>(2);
        try {
            List<Folder> depts = findFolders(folder);
            List<DeptTree> trees = new ArrayList<>();
            buildTrees(trees, depts);
            List<? extends Tree<?>> deptTree = TreeUtil.build(trees);
            result.put(PageConstant.ROWS, deptTree);
            result.put(PageConstant.TOTAL, depts.size());
        } catch (Exception e) {
            log.error("获取部门列表失败", e);
            result.put(PageConstant.ROWS, null);
            result.put(PageConstant.TOTAL, 0);
        }
        return result;
    }
    private void buildTrees(List<DeptTree> trees, List<Folder> depts) {
        depts.forEach(dept -> {
            DeptTree tree = new DeptTree();
            tree.setId(dept.getFolderid().toString());
            tree.setParentId(dept.getParentId().toString());
            tree.setLabel(dept.getFoldername());
            tree.setOrderNum(dept.getSort());
            trees.add(tree);
        });
    }
    @Override
    public List<Folder> findFolders(Folder folder) {
        LambdaQueryWrapper<Folder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Folder::getDelFlag,0).orderByAsc(Folder::getSort);