修改bug

This commit is contained in:
haozq 2025-11-25 10:41:22 +08:00
parent 8a810acce6
commit c979c62a58
5 changed files with 50 additions and 5 deletions

View File

@ -93,7 +93,21 @@ public class TreeBuild {
return treeNodes;
}
public List<DocumentTreeVo> buildTree2(String parentId,String isAdmin){
// treeNodes保存一个顶级节点所构建出来的完整树形
List<DocumentTreeVo> treeNodes = new ArrayList<DocumentTreeVo>();
// getRootNode()获取所有的根节点
for (DocumentTreeVo treeRootNode : getRootNode1(parentId,isAdmin)) {
// 将顶级节点进行构建子树
treeRootNode = buildChildTree1(treeRootNode);
// 完成一个顶级节点所构建的树形增加进来
if("myShare".equals(treeRootNode.getParentId()) || "otherShare".equals(treeRootNode.getParentId())){
treeNodes.add(treeRootNode);
}
}
return treeNodes;
}
/**
* 递归-----构建子树形结构
* @param pNode 根节点顶级节点
@ -107,6 +121,9 @@ public class TreeBuild {
// 判断当前节点的父节点ID是否等于根节点的ID即当前节点为其下的子节点
if (treeNode.getParentId().equals(pNode.getId())) {
// 再递归进行判断当前节点的情况调用自身方法
if(StringUtils.isNotEmpty(pNode.getAuth())){
treeNode.setAuth(pNode.getAuth());
}
childTree.add(buildChildTree(treeNode));
}
}
@ -129,6 +146,9 @@ public class TreeBuild {
for (DocumentTreeVo treeNode : nodeList) {
// 判断当前节点的父节点ID是否等于根节点的ID即当前节点为其下的子节点
if (treeNode.getParent().equals(pNode.getExeId())) {
if(StringUtils.isNotEmpty(pNode.getAuth())){
treeNode.setAuth(pNode.getAuth());
}
// 再递归进行判断当前节点的情况调用自身方法
childTree.add(buildChildTree1(treeNode));
}

View File

@ -232,4 +232,11 @@ public interface DocumentScreenMapper {
* @return
*/
TbDocumentFolder getDocumnetData(TbFolderFileVo vo);
/**
* 查询分享数据集合
* @param vo
* @return
*/
List<DocumentTreeVo> getSharelist(DocumentTreeVo vo);
}

View File

@ -70,6 +70,13 @@ public class DocumentScreenImpl implements DocumentScreenService {
List<DocumentTreeVo> allList=mapper.getPublicFolderList(vo);
List<DocumentTreeVo> childeList=mapper.getUserFolderList(vo);
List<DocumentTreeVo> shareList=mapper.getSharelist(vo);
//查询 子节点集合
TreeBuild shareTree = new TreeBuild(shareList);
List<DocumentTreeVo> shareTreeList=shareTree.buildTree2("0",vo.getIsAdmin());
allList.addAll(shareTreeList);
//查询 子节点集合
TreeBuild treeBuild1 = new TreeBuild(childeList);
List<DocumentTreeVo> childeList2=treeBuild1.buildTree1("0",vo.getIsAdmin());

View File

@ -128,17 +128,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
folder.file_suffix,pru.user_id,pru.public_folder_id parentId,pru.auth ,pru.share_user_id,
IFNULL( concat(pru.public_folder_id,"_",pru.user_id,"_",folder.id), folder.id) id
from tb_user_document_folder folder
left join tb_public_real_user pru on folder.id=pru.user_folder_id
where folder.file_type=0 and (folder.type is null OR(folder.type=3 and folder.create_user=#{userId})) and
(pru.public_folder_id NOT in('myShare','otherShare') OR pru.public_folder_id IS NULL)
left join tb_public_real_user pru on folder.id=pru.user_folder_id AND pru.public_folder_id NOT in('myShare','otherShare')
where folder.file_type=0 and (folder.type is null OR(folder.type=3 and folder.create_user=#{userId}))
-- (pru.public_folder_id NOT in('myShare','otherShare') OR pru.public_folder_id IS NULL)
</select>
<select id="getSharelist" resultType="com.bonus.business.domain.DocumentTreeVo">
SELECT folder.id exeId ,folder.level,folder.folder_name name,folder.parent_id parent,4 type,folder.parent_ids parentIds,
folder.file_suffix,pru.user_id,pru.public_folder_id parentId,pru.auth ,pru.share_user_id,
IFNULL( concat(pru.public_folder_id,"_",pru.user_id,"_",folder.id), folder.id) id
from tb_user_document_folder folder
left join tb_public_real_user pru on folder.id=pru.user_folder_id
where folder.file_type=0 and
(pru.public_folder_id NOT in('myShare','otherShare') OR pru.public_folder_id IS NULL)
union All
SELECT folder.id exeId ,folder.level,folder.folder_name name,0 parent, 4 type,folder.parent_ids parentIds,
folder.file_suffix,pru.user_id,pru.public_folder_id parentId,pru.auth ,pru.share_user_id,
IFNULL( concat(pru.public_folder_id,"_",pru.user_id,"_",folder.id), folder.id) id
from tb_user_document_folder folder
left join tb_public_real_user pru on folder.id=pru.user_folder_id
left join tb_public_real_user pru on folder.id=pru.user_folder_id
where folder.file_type=0 and pru.public_folder_id in('myShare','otherShare') and pru.user_id=#{userId}
</select>
<!--文件夹名称是否存在-->
<select id="getDocumentByNum" resultType="java.lang.Integer">
<if test='type=="1" or type==1 '>

View File

@ -100,7 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
GROUP BY u.user_id
<!-- 数据范围过滤 -->
${params.dataScope}
-- ${params.dataScope}
</select>
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">