update 拆分结果编辑 目录不能拖动到上级

This commit is contained in:
lijiarao
2024-09-14 17:15:23 +08:00
parent 3ace7d18fc
commit c7c87c7449
@@ -1,5 +1,6 @@
package com.jero.modules.split.service.impl;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -386,17 +387,19 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
}
// 要移动的节点所有子集(包括本身)
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
List<String> idList = new ArrayList<>();
for (int i = 0; i < sourceIdList.size(); i++) {
String sourceId = sourceIdList.get(i);
// 要移动的节点信息
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
sarFileSplitMenuEO.setParentId(parentId);
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO);
idList.add(sourceId);
}
sarFileSplitMenuEO1List.addAll(lastMenuList);
List<SarFileSplitMenuEO> allList = new ArrayList<>();
getChildren(allList, sarFileSplitMenuEO1List);
//排除
getChildren(allList, lastMenuList);
for (int i = 0; i < allList.size(); i++) {
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
@@ -442,10 +445,15 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
private void getChildren(List<SarFileSplitMenuEO> allList, List<SarFileSplitMenuEO> sarFileSplitMenuEOList) {
for (SarFileSplitMenuEO sarFileSplitMenuEO : sarFileSplitMenuEOList) {
String id = sarFileSplitMenuEO.getId();
List<String> idList = CollStreamUtil.toList(allList, SarFileSplitMenuEO::getId);
if (idList.contains(id)){
continue;
}
allList.add(sarFileSplitMenuEO);
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(sarFileSplitMenuEO.getId());
if (CollectionUtils.isNotEmpty(childrenList)){
getChildren(allList, childrenList);
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(id);
if (CollectionUtils.ist, cisNotEmpty(childrenList)){
getChildren(allLhildrenList);
}
}
}