|
@@ -937,7 +937,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
Map<String, Map<String, Object>> distMap = distListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m, mapBinaryOperator));
|
|
Map<String, Map<String, Object>> distMap = distListMap.stream().collect(Collectors.toMap(m -> m.get("privateId").toString() + m.get("k"), m -> m, mapBinaryOperator));
|
|
/*比较的结果*/
|
|
/*比较的结果*/
|
|
Map<String, Map<String, Object>> updateMap = new HashMap<>();
|
|
Map<String, Map<String, Object>> updateMap = new HashMap<>();
|
|
- Map<String, Map<String, Object>> insertMap = new HashMap<>();
|
|
|
|
|
|
+ List<Map<String, Object>> insertMapList = new ArrayList<>();
|
|
sourceMap.forEach((k, v) -> {
|
|
sourceMap.forEach((k, v) -> {
|
|
if (distMap.containsKey(k)) {
|
|
if (distMap.containsKey(k)) {
|
|
String s = Func.toStr(v.get("v"));
|
|
String s = Func.toStr(v.get("v"));
|
|
@@ -954,7 +954,8 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
/*假如对应节点不存在,则把节点内容添加到待新增列表*/
|
|
/*假如对应节点不存在,则把节点内容添加到待新增列表*/
|
|
- insertMap.put(v.get("privateId").toString(), v);
|
|
|
|
|
|
+ // insertMap.put(v.get("privateId").toString() + v.get("k"), v);
|
|
|
|
+ insertMapList.add(v);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
List<WbsParam> updateList;
|
|
List<WbsParam> updateList;
|
|
@@ -968,15 +969,20 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<WbsParam> insertList = new ArrayList<>();
|
|
List<WbsParam> insertList = new ArrayList<>();
|
|
- if (!insertMap.isEmpty()) {
|
|
|
|
- List<WbsTreePrivate> targetList = Optional.ofNullable(this.list(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, projectId).in(WbsTreePrivate::getId, insertMap.values().stream().map(m -> m.get("privateId")).collect(Collectors.toList())))).orElse(new ArrayList<>());
|
|
|
|
|
|
+ if (!insertMapList.isEmpty()) {
|
|
|
|
+ List<WbsTreePrivate> targetList = Optional.ofNullable(this.list(Wrappers.<WbsTreePrivate>lambdaQuery().eq(WbsTreePrivate::getProjectId, projectId).in(WbsTreePrivate::getId, insertMapList.stream().map(m -> m.get("privateId")).collect(Collectors.toList())))).orElse(new ArrayList<>());
|
|
|
|
+ Map<String,List<Map<String,Object>>>insertGroup =insertMapList.stream().collect(Collectors.groupingBy(m->m.get("privateId").toString()));
|
|
targetList.forEach(e -> {
|
|
targetList.forEach(e -> {
|
|
- Map<String, Object> kmp = insertMap.get(e.getId().toString());
|
|
|
|
- if (kmp != null) {
|
|
|
|
- WbsParam one = BeanUtil.toBean(kmp, WbsParam.class);
|
|
|
|
- one.setNodeId(e.getPKeyId());
|
|
|
|
- insertList.add(one);
|
|
|
|
- }
|
|
|
|
|
|
+ List<Map<String, Object>> nodeParamList = insertGroup.get(e.getId().toString());
|
|
|
|
+ if(Func.isNotEmpty(nodeParamList)){
|
|
|
|
+ nodeParamList.forEach(kmp->{
|
|
|
|
+ if (kmp != null) {
|
|
|
|
+ WbsParam one = BeanUtil.toBean(kmp, WbsParam.class);
|
|
|
|
+ one.setNodeId(e.getPKeyId());
|
|
|
|
+ insertList.add(one);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
});
|
|
});
|
|
if (!insertList.isEmpty()) {
|
|
if (!insertList.isEmpty()) {
|
|
insertList.forEach(i -> i.setId(SnowFlakeUtil.getId()));
|
|
insertList.forEach(i -> i.setId(SnowFlakeUtil.getId()));
|