fix: 标准拆分条款目录-移动层级
This commit is contained in:
+4
-3
@@ -68,11 +68,12 @@ public class SarFileSplitMenuEOController extends JeroController<SarFileSplitMen
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.EDIT_OK),sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "标准拆分条款目录-修改层级")
|
||||
@ApiOperation(value = "标准拆分条款目录-移动层级")
|
||||
@GetMapping("/updateMenuLevel")
|
||||
// @RequiresPermissions("split:sarFileSplitMenu:updateMenuLevel")
|
||||
public Result<SarFileSplitMenuEO> updateMenuLevel(String id, String parentId) {
|
||||
sarFileSplitMenuEOService.updateMenuLevel(id, parentId);
|
||||
public Result<SarFileSplitMenuEO> updateMenuLevel(@ApiParam(value = "要移动的节点id")String sourceId,
|
||||
@ApiParam(value = "要移动到的节点id")String targetId) {
|
||||
sarFileSplitMenuEOService.updateMenuLevel(sourceId, targetId);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -58,5 +58,5 @@ public interface ISarFileSplitMenuEOService extends IService<SarFileSplitMenuEO>
|
||||
|
||||
Result moveUpOrDown(JSONObject json);
|
||||
|
||||
void updateMenuLevel(String id, String parentId);
|
||||
void updateMenuLevel(String sourceId, String targetId);
|
||||
}
|
||||
|
||||
+19
-16
@@ -374,40 +374,43 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateMenuLevel(String id, String parentId) {
|
||||
public void updateMenuLevel(String sourceId, String targetId) {
|
||||
// 要移动的节点信息
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO1 = baseMapper.findById(sourceId);
|
||||
// 要移动到的节点信息
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO2 = baseMapper.findById(targetId);
|
||||
// 获取要移动到的层级的最后一个 的排序值
|
||||
SarFileSplitMenuEO lastMenu = getLastMenu(parentId);
|
||||
SarFileSplitMenuEO lastMenu = getLastMenu(sarFileSplitMenuEO2.getPId());
|
||||
|
||||
// 查询当前节点和当前节点所有子集
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO1 = baseMapper.findById(id);
|
||||
// 要移动的节点所有子集(包括本身)
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEO1List = new ArrayList<>();
|
||||
sarFileSplitMenuEO1List.add(sarFileSplitMenuEO1);
|
||||
List<SarFileSplitMenuEO> allList = new ArrayList<>();
|
||||
getChildren(allList, sarFileSplitMenuEO1List);
|
||||
|
||||
// 获取要移动节点的数量
|
||||
int childCount = allList.size();
|
||||
// 要移动节点的数量
|
||||
int moveNodeCount = allList.size();
|
||||
|
||||
// 更新下节点排序
|
||||
SarFileSplitMenuEO parentSarFileSplitMenu = baseMapper.findById(parentId);
|
||||
// 更新 大于 要移动到节点最后节点 的节点排序值
|
||||
List<SarFileSplitMenuEO> sarFileSplitMenuEOList =
|
||||
baseMapper.queryByGTDisplaySeq(parentSarFileSplitMenu.getInfoId(), lastMenu.getDisplaySeq());
|
||||
baseMapper.queryByGTDisplaySeq(sarFileSplitMenuEO1.getInfoId(), lastMenu.getDisplaySeq());
|
||||
for (SarFileSplitMenuEO fileSplitMenuEO : sarFileSplitMenuEOList) {
|
||||
// 更新排序
|
||||
fileSplitMenuEO.setDisplaySeq(fileSplitMenuEO.getDisplaySeq() + childCount);
|
||||
fileSplitMenuEO.setDisplaySeq(fileSplitMenuEO.getDisplaySeq() + moveNodeCount);
|
||||
baseMapper.updateByPrimaryKeySelective(fileSplitMenuEO);
|
||||
}
|
||||
|
||||
// 更新要移动节点的排序
|
||||
// 更新要移动节点及其子集的排序
|
||||
for (int i = 0; i <allList.size(); i++) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO2 = allList.get(i);
|
||||
sarFileSplitMenuEO2.setDisplaySeq(lastMenu.getDisplaySeq() + i + 1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO2);
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = allList.get(i);
|
||||
sarFileSplitMenuEO.setDisplaySeq(lastMenu.getDisplaySeq() + i + 1);
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
// 更新要移动节点的pId
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
sarFileSplitMenuEO.setId(id);
|
||||
sarFileSplitMenuEO.setPId(parentId);
|
||||
sarFileSplitMenuEO.setId(sourceId);
|
||||
sarFileSplitMenuEO.setPId(sarFileSplitMenuEO2.getPId());
|
||||
baseMapper.updateByPrimaryKeySelective(sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user