fix: 标准拆分条款目录-移动层级 完善
This commit is contained in:
@@ -38,6 +38,11 @@ public class SarFileSplitMenuEO implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty("父节点id")
|
||||
private String pId;
|
||||
/**
|
||||
* 父节点id
|
||||
*/
|
||||
@ApiModelProperty("父节点id")
|
||||
private String parentId;
|
||||
/**
|
||||
* 排序序号
|
||||
*/
|
||||
|
||||
+4
@@ -148,6 +148,9 @@
|
||||
<if test="pId != null" >
|
||||
parent_id = #{pId},
|
||||
</if>
|
||||
<if test="parentId != null" >
|
||||
parent_id = #{parentId},
|
||||
</if>
|
||||
<if test="displaySeq != null" >
|
||||
display_seq = #{displaySeq},
|
||||
</if>
|
||||
@@ -379,6 +382,7 @@
|
||||
select * from SAR_FILE_SPLIT_MENU
|
||||
where display_seq > #{displaySeq} and info_id = #{infoId}
|
||||
AND valid_flag = '0'
|
||||
order by display_seq asc
|
||||
</select>
|
||||
|
||||
<select id="findByParentId" resultMap="BaseResultMap">
|
||||
|
||||
+5
-5
@@ -3141,10 +3141,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
.filter(v -> !String.valueOf(v.get("item_num")).matches(regexs))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
otherList.stream().map(v -> v.get("item_num"))
|
||||
.collect(Collectors.toList()).forEach(v -> {
|
||||
System.out.println(v);
|
||||
});
|
||||
// otherList.stream().map(v -> v.get("item_num"))
|
||||
// .collect(Collectors.toList()).forEach(v -> {
|
||||
// System.out.println(v);
|
||||
// });
|
||||
|
||||
// 排序
|
||||
addItemsEOList.removeAll(otherList);
|
||||
@@ -3168,7 +3168,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
treeNode.setName(itemNum);
|
||||
// if(itemNum.matches(regex)) {
|
||||
//父级是 总目录时,不做处理
|
||||
if(itemNum.contains(".")) {
|
||||
if(itemNum.contains(".") && !itemNum.contains("Article")) {
|
||||
String parentName = itemNum.substring(0, itemNum.lastIndexOf("."));
|
||||
treeNode.setParentName(parentName);
|
||||
List<SarFileSplitMenuTreeNode> p = treeNodeList.stream().filter(e -> e.getName().equals(parentName)).collect(Collectors.toList());
|
||||
|
||||
+20
-12
@@ -380,38 +380,46 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
// 要移动到的节点信息
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO2 = baseMapper.findById(targetId);
|
||||
// 获取要移动到的层级的最后一个 的排序值
|
||||
SarFileSplitMenuEO lastMenu = getLastMenu(sarFileSplitMenuEO2.getPId());
|
||||
SarFileSplitMenuEO lastMenu = getLastMenu(sarFileSplitMenuEO2.getId());
|
||||
if (Objects.isNull(lastMenu)){
|
||||
lastMenu = sarFileSplitMenuEO2;
|
||||
}
|
||||
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
|
||||
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO1);
|
||||
List<SarFileSplitMenuEO> allList = new ArrayList<>();
|
||||
getChildren(allList, sarFileSplitMenuEO1List);
|
||||
List<String> idlist = new ArrayList<>();
|
||||
|
||||
// 要移动节点的数量
|
||||
int moveNodeCount = allList.size();
|
||||
// 更新要移动节点及其子集的排序
|
||||
for (int i = 0; i <allList.size(); i++) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
|
||||
sarFileSplitMenuEO.setDisplaySeq(lastMenu.getDisplaySeq() + i + 1);
|
||||
idlist.add(sarFileSplitMenuEO.getId());
|
||||
}
|
||||
Long displaySeq = allList.get(allList.size() - 1).getDisplaySeq();
|
||||
|
||||
// 更新 大于 要移动到节点最后节点 的节点排序值
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEOList =
|
||||
baseMapper.queryByGTDisplaySeq(sarFileSplitMenuEO1.getInfoId(), lastMenu.getDisplaySeq());
|
||||
for (SarFileSplitMenuEO fileSplitMenuEO : sarFileSplitMenuEOList) {
|
||||
sarFileSplitMenuEOList = sarFileSplitMenuEOList.stream().filter(v -> !idlist.contains(v.getId())).collect(Collectors.toList());
|
||||
for (int i = 0; i < sarFileSplitMenuEOList.size(); i++) {
|
||||
// 更新排序
|
||||
fileSplitMenuEO.setDisplaySeq(fileSplitMenuEO.getDisplaySeq() + moveNodeCount);
|
||||
SarFileSplitMenuEO fileSplitMenuEO = sarFileSplitMenuEOList.get(i);
|
||||
fileSplitMenuEO.setDisplaySeq(displaySeq + i + 1);
|
||||
baseMapper.updateByPrimaryKeySelective(fileSplitMenuEO);
|
||||
}
|
||||
|
||||
// 更新要移动节点及其子集的排序
|
||||
for (int i = 0; i <allList.size(); i++) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
|
||||
sarFileSplitMenuEO.setDisplaySeq(lastMenu.getDisplaySeq() + i + 1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
// 更新要移动节点的pId
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
sarFileSplitMenuEO.setId(sourceId);
|
||||
sarFileSplitMenuEO.setPId(sarFileSplitMenuEO2.getPId());
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
// 更新要移动节点的parentId
|
||||
sarFileSplitMenuEO1.setParentId(targetId);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO1);
|
||||
}
|
||||
|
||||
private void getChildren(List<SarFileSplitMenuEO> allList, List<SarFileSplitMenuEO> sarFileSplitMenuEOList) {
|
||||
@@ -424,7 +432,7 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
}
|
||||
}
|
||||
|
||||
private SarFileSplitMenuEO getLastMenu(String parentId) {
|
||||
public SarFileSplitMenuEO getLastMenu(String parentId) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO1 = baseMapper.findLastByParentId(parentId);
|
||||
if(sarFileSplitMenuEO1 != null){
|
||||
getLastMenu(sarFileSplitMenuEO1.getId());
|
||||
|
||||
Reference in New Issue
Block a user