| | |
| | | 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; |
| | |
| | | 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实现 |
| | |
| | | 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<>(); |
| | |
| | | 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); |
| | | } |
| | | } |