|
@@ -613,7 +613,6 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
List<String> delIds = idList2.stream().filter(f -> !idList1.contains(f)).collect(Collectors.toList());
|
|
|
|
|
|
if (saveIds.size() == 0 && delIds.size() == 0) {
|
|
|
- //节点id未变,只进行节点下的元素表的同步 1.项目表单同步 2.同步到该项目下所有合同段wbs树
|
|
|
//1.项目表单同步
|
|
|
if (pawDTO.getReferenceType().equals("public")) {
|
|
|
//公有同步新增元素表
|
|
@@ -630,15 +629,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
wbsTreeListAll.addAll(wbsTreeList);
|
|
|
}
|
|
|
|
|
|
- //所有节点信息
|
|
|
- //List<WbsTree> wbsTreeListNodes = wbsTreeListAll.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
|
|
|
-
|
|
|
//所有表单信息
|
|
|
List<WbsTree> wbsTreeListTables = wbsTreeListAll.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
|
|
|
//公有元素表的id
|
|
|
- List<Long> collect1 = wbsTreeListTables.stream().map(WbsTree::getId).collect(Collectors.toList());
|
|
|
- List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ List<String> collect1 = wbsTreeListTables.stream().map(WbsTree::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
//获取项目私有wbs树下所有的节点、元素表
|
|
|
List<WbsTreePrivate> wbsTreePrivatesAll = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
@@ -649,10 +644,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
//私有下元素表id
|
|
|
List<WbsTreePrivate> collect = wbsTreePrivatesAll.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
- List<Long> collect3 = collect.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
- List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ List<String> collect2 = collect.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
- List<String> diffRent1 = DiffListUtil.getDiffRent(collect2, collect4);
|
|
|
+ List<String> diffRent1 = DiffListUtil.getDiffRent(collect1, collect2);
|
|
|
|
|
|
//修改公有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
updateWbsInfoPrivateAsync(wbsTreeListAll, wbsTreePrivatesAll, pawDTO.getProjectId());
|
|
@@ -662,7 +656,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
return true;
|
|
|
|
|
|
} else {
|
|
|
- if (collect2.size() > collect4.size()) {
|
|
|
+ if (collect1.size() > collect2.size()) {
|
|
|
//获取当前项目下所有施工合同段id
|
|
|
List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
|
|
|
//公有同步元素表
|
|
@@ -747,15 +741,11 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
|
);
|
|
|
|
|
|
- //私有引用项目的节点信息
|
|
|
- //List<WbsTreePrivate> WbsTreePrivateNodes = wbsTreePrivateAllOld.stream().filter(f -> f.getType() == 1).collect(Collectors.toList());
|
|
|
-
|
|
|
//私有引用项目的表单信息
|
|
|
List<WbsTreePrivate> WbsTreePrivateTables = wbsTreePrivateAllOld.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
|
|
|
//当前新增表单的id
|
|
|
- List<Long> collect1 = WbsTreePrivateTables.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
- List<String> collect2 = collect1.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ List<String> collect1 = WbsTreePrivateTables.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
//获取当前项目私有wbs树下当前所有节点、元素表
|
|
|
List<WbsTreePrivate> wbsTreePrivatesAllNow = wbsTreePrivateMapper.selectList(Wrappers.<WbsTreePrivate>query().lambda()
|
|
@@ -765,10 +755,9 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
|
|
|
//当前存在的表单的id
|
|
|
List<WbsTreePrivate> wbsTreePrivateNowTypes = wbsTreePrivatesAllNow.stream().filter(f -> f.getType() == 2).collect(Collectors.toList());
|
|
|
- List<Long> collect3 = wbsTreePrivateNowTypes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList());
|
|
|
- List<String> collect4 = collect3.stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
+ List<String> collect2 = wbsTreePrivateNowTypes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).stream().map(String::valueOf).collect(Collectors.toList());
|
|
|
|
|
|
- List<String> diffRent1 = DiffListUtil.getDiffRent(collect2, collect4);
|
|
|
+ List<String> diffRent1 = DiffListUtil.getDiffRent(collect1, collect2);
|
|
|
|
|
|
//修改私有wbs节点信息、元素表基础信息到项目级wbs、合同段wbs
|
|
|
updateWbsInfoContractAsync(wbsTreePrivateAllOld, wbsTreePrivatesAllNow, pawDTO.getProjectId(), pawDTO.getPrimaryKeyId());
|
|
@@ -777,7 +766,7 @@ public class WbsTreeServiceImpl extends BaseServiceImpl<WbsTreeMapper, WbsTree>
|
|
|
return true;
|
|
|
|
|
|
} else {
|
|
|
- if (collect2.size() > collect4.size()) {
|
|
|
+ if (collect1.size() > collect2.size()) {
|
|
|
//获取当前项目下所有施工合同段id
|
|
|
List<ContractInfo> contractInfoIds = contractInfoMapper.selectContractIdByProjectId(pawDTO.getProjectId());
|
|
|
//私有同步元素表
|