update 拆分结果编辑 目录不能拖动到上级
This commit is contained in:
+13
-5
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.modules.split.service.impl;
|
package com.jero.modules.split.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollStreamUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -386,17 +387,19 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
|||||||
}
|
}
|
||||||
// 要移动的节点所有子集(包括本身)
|
// 要移动的节点所有子集(包括本身)
|
||||||
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
|
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
|
||||||
|
List<String> idList = new ArrayList<>();
|
||||||
for (int i = 0; i < sourceIdList.size(); i++) {
|
for (int i = 0; i < sourceIdList.size(); i++) {
|
||||||
String sourceId = sourceIdList.get(i);
|
String sourceId = sourceIdList.get(i);
|
||||||
// 要移动的节点信息
|
// 要移动的节点信息
|
||||||
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
|
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
|
||||||
sarFileSplitMenuEO.setParentId(parentId);
|
sarFileSplitMenuEO.setParentId(parentId);
|
||||||
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO);
|
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO);
|
||||||
|
idList.add(sourceId);
|
||||||
}
|
}
|
||||||
sarFileSplitMenuEO1List.addAll(lastMenuList);
|
|
||||||
List<SarFileSplitMenuEO> allList = new ArrayList<>();
|
List<SarFileSplitMenuEO> allList = new ArrayList<>();
|
||||||
getChildren(allList, sarFileSplitMenuEO1List);
|
getChildren(allList, sarFileSplitMenuEO1List);
|
||||||
|
//排除
|
||||||
|
getChildren(allList, lastMenuList);
|
||||||
|
|
||||||
for (int i = 0; i < allList.size(); i++) {
|
for (int i = 0; i < allList.size(); i++) {
|
||||||
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(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) {
|
private void getChildren(List<SarFileSplitMenuEO> allList, List<SarFileSplitMenuEO> sarFileSplitMenuEOList) {
|
||||||
for (SarFileSplitMenuEO 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);
|
allList.add(sarFileSplitMenuEO);
|
||||||
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(sarFileSplitMenuEO.getId());
|
List<SarFileSplitMenuEO> childrenList = baseMapper.findByParentId(id);
|
||||||
if (CollectionUtils.isNotEmpty(childrenList)){
|
if (CollectionUtils.ist, cisNotEmpty(childrenList)){
|
||||||
getChildren(allList, childrenList);
|
getChildren(allLhildrenList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user