update 拆分结果编辑 目录往拖动后右侧内容排序没有一起更改
This commit is contained in:
+1
-1
@@ -74,7 +74,7 @@ public interface SarFileSplitMenuEOMapper extends BaseMapper<SarFileSplitMenuEO>
|
||||
|
||||
SarFileSplitMenuEO findById(String id);
|
||||
|
||||
List<SarFileSplitMenuEO> findLastByParentId(@Param("parentId") String parentId, @Param("displaySeq") Long displaySeq);
|
||||
List<SarFileSplitMenuEO> findLastByParentId(@Param("parentId") String parentId, @Param("displaySeq") Long displaySeq, @Param("sourceIdList") List<String> sourceIdList);
|
||||
|
||||
List<SarFileSplitMenuEO> queryByGTDisplaySeq(@Param("infoId") String infoId, @Param("displaySeq") Long displaySeq);
|
||||
|
||||
|
||||
+3
-1
@@ -378,7 +378,9 @@
|
||||
<if test="displaySeq != null">
|
||||
and display_seq > #{displaySeq}
|
||||
</if>
|
||||
|
||||
<foreach item="item" index="index" collection="sourceIdList" open="and id not in (" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
order by display_seq
|
||||
</select>
|
||||
|
||||
|
||||
+24
-46
@@ -377,54 +377,32 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
public void updateMenuLevel(String sourceIds, String parentId, Long displaySeq) {
|
||||
// 要移动到的节点信息
|
||||
SarFileSplitMenuEO parentMenu = baseMapper.findById(parentId);
|
||||
Long menuDisplaySeq = parentMenu.getDisplaySeq();
|
||||
List<String> sourceIdList = Arrays.asList(sourceIds.split(","));
|
||||
// 获取要移动到的层级的最后一个 的排序值
|
||||
List<SarFileSplitMenuEO> lastMenuList = getLastMenu(parentMenu.getId(),displaySeq,sourceIdList);
|
||||
|
||||
List<SarFileSplitMenuEO> lastMenuList;
|
||||
//是否是放到最后
|
||||
boolean equals = Objects.equals(menuDisplaySeq, displaySeq);
|
||||
if (equals){
|
||||
// 获取要移动到的层级的最后一个 的排序值
|
||||
lastMenuList = getLastMenu(parentMenu.getId(),null);
|
||||
int size = lastMenuList.size();
|
||||
for (int i = 0; i < size; i++) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = lastMenuList.get(i);
|
||||
sarFileSplitMenuEO.setDisplaySeq(menuDisplaySeq+i+1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
if(displaySeq == 0){
|
||||
displaySeq = menuDisplaySeq;
|
||||
}
|
||||
for (int i = 0; i < sourceIdList.size(); i++) {
|
||||
String sourceId = sourceIdList.get(i);
|
||||
// 要移动的节点信息
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
|
||||
sarFileSplitMenuEO.setParentId(parentId);
|
||||
sarFileSplitMenuEO.setDisplaySeq(displaySeq+size+i+1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
}else {
|
||||
// 获取要移动到的层级的最后一个 的排序值
|
||||
lastMenuList = getLastMenu(parentMenu.getId(),displaySeq);
|
||||
int size = sourceIdList.size();
|
||||
for (SarFileSplitMenuEO sarFileSplitMenuEO : lastMenuList) {
|
||||
Long displaySeq1 = sarFileSplitMenuEO.getDisplaySeq();
|
||||
sarFileSplitMenuEO.setDisplaySeq(displaySeq1+size);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
if(displaySeq == 0){
|
||||
displaySeq = parentMenu.getDisplaySeq();
|
||||
}
|
||||
for (int i = 0; i < sourceIdList.size(); i++) {
|
||||
String sourceId = sourceIdList.get(i);
|
||||
// 要移动的节点信息
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = baseMapper.findById(sourceId);
|
||||
sarFileSplitMenuEO.setParentId(parentId);
|
||||
sarFileSplitMenuEO.setDisplaySeq(displaySeq+i+1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
if(displaySeq == 0){
|
||||
displaySeq = parentMenu.getDisplaySeq();
|
||||
}
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = 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);
|
||||
|
||||
}
|
||||
sarFileSplitMenuEO1List.addAll(lastMenuList);
|
||||
List<SarFileSplitMenuEO> allList = new ArrayList<>();
|
||||
getChildren(allList, sarFileSplitMenuEO1List);
|
||||
|
||||
for (int i = 0; i < allList.size(); i++) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
|
||||
sarFileSplitMenuEO.setDisplaySeq(displaySeq+i+1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
//this.updateBatchById(updateList);
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
@@ -472,8 +450,8 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
}
|
||||
}
|
||||
|
||||
public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq) {
|
||||
List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq);
|
||||
public List<SarFileSplitMenuEO> getLastMenu(String parentId, Long displaySeq, List<String> sourceIdList) {
|
||||
List<SarFileSplitMenuEO> lastByParentId = baseMapper.findLastByParentId(parentId, displaySeq,sourceIdList);
|
||||
//if(sarFileSplitMenuEO1 != null){
|
||||
// getLastMenu(sarFileSplitMenuEO1.getId());
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user