|
@@ -2006,11 +2006,14 @@ public R<Boolean> copyContractTreeNode(@RequestBody CopyContractTreeNodeVO vo) {
|
|
|
|
|
|
//旧节点的pkeyId和新节点的pkeyId
|
|
|
Map<Long, Long> oldPKeyIdToNewPKeyIdMap = new HashMap<>();
|
|
|
+ Map<Long, Long> oldIdToNewIdMap = new HashMap<>();
|
|
|
//节点和表的id 与 节点/表 实体类
|
|
|
Map<String, WbsTreeContract> nodeMap = new HashMap<>();
|
|
|
|
|
|
nodeChildAll.forEach(node -> {
|
|
|
- oldPKeyIdToNewPKeyIdMap.put(node.getPKeyId(),SnowFlakeUtil.getId());
|
|
|
+ Long id = SnowFlakeUtil.getId();
|
|
|
+ oldPKeyIdToNewPKeyIdMap.put(node.getPKeyId(), id);
|
|
|
+ oldIdToNewIdMap.put(node.getId(), id);
|
|
|
oldToNewIdMap.put(node.getId(), SnowFlakeUtil.getId());
|
|
|
nodeMap.put(node.getId().toString(), node);
|
|
|
});
|
|
@@ -2125,7 +2128,7 @@ public R<Boolean> copyContractTreeNode(@RequestBody CopyContractTreeNodeVO vo) {
|
|
|
//如果不是 判断旧节点的父级id是否在旧节点集合中 如果在 则设置新节点的父级id为旧节点的父级id的映射id 否则就是随机id
|
|
|
newData.setParentId(oldToNewIdMap.containsKey(nodeOld.getParentId()) ? oldToNewIdMap.get(nodeOld.getParentId()) : SnowFlakeUtil.getId());
|
|
|
//TODO 20250414-lhb-新增
|
|
|
- newData.setPId(oldPKeyIdToNewPKeyIdMap.containsKey(nodeOld.getPId()) ? oldPKeyIdToNewPKeyIdMap.get(nodeOld.getPId()) : SnowFlakeUtil.getId());
|
|
|
+ newData.setPId(oldPKeyIdToNewPKeyIdMap.containsKey(nodeOld.getPId()) ? oldPKeyIdToNewPKeyIdMap.get(nodeOld.getPId()) : oldToNewIdMap.get(nodeOld.getParentId()) == null ? SnowFlakeUtil.getId() : oldToNewIdMap.get(nodeOld.getParentId()));
|
|
|
}
|
|
|
newData.setCreateTime(new Date());
|
|
|
newData.setUpdateTime(new Date());
|