yubo
2026-04-08 d90db860b7ea15a6d6c58a3e77b649966f3ab6bf
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/FolderServiceImpl.java
@@ -1,10 +1,16 @@
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;
import cc.mrbird.febs.server.hr.mapper.FolderMapper;
import cc.mrbird.febs.server.hr.service.IFolderService;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -18,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实现
@@ -44,6 +48,36 @@
        return this.page(page, queryWrapper);
    }
    @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());
            if(dept.getParentId()!=null){
                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<>();
@@ -74,10 +108,9 @@
    public void deleteFolder(Folder folder) {
        LambdaUpdateWrapper<Folder> wapper = new LambdaUpdateWrapper<>();
        wapper.eq(Folder::getFolderid,folder.getFolderid());
        Folder updatefolder = new Folder();
        updatefolder.setModifier(operatorId);
        updatefolder.setModifytime(new Date());
        updatefolder.setDelFlag(1);
        this.update(updatefolder,wapper);
        wapper.set(Folder::getDelFlag,1);
        wapper.set(Folder::getModifier,operatorId);
        wapper.set(Folder::getModifytime,new Date());
        this.update(wapper);
    }
}