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