|
@@ -626,9 +626,10 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
//获取当前项目下所有合同段树
|
|
|
List<WbsTreeContract> treeContractListAll = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
.eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
.eq(WbsTreeContract::getStatus, 1)
|
|
|
);
|
|
|
+ List<WbsTreeContract> treeContractListAllNodes = treeContractListAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
|
|
|
+ List<WbsTreeContract> treeContractListAllTables = treeContractListAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
|
|
|
|
|
|
//构造
|
|
|
for (WbsTree tree : addPublicTables) {
|
|
@@ -659,8 +660,21 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
dataContract.setIsTypePrivatePid(dataPrivate.getPKeyId());
|
|
|
}
|
|
|
|
|
|
+ //判断元素表是否存在合同段,存在则不新增;不存在则表示没被引用,新增
|
|
|
+ WbsTreeContract resultTreeContract = treeContractListAllTables.stream().filter(f ->
|
|
|
+ f.getId().equals(dataContract.getId())
|
|
|
+ && f.getNodeName().equals(dataContract.getNodeName())
|
|
|
+ && f.getWbsId().equals(dataContract.getWbsId())
|
|
|
+ && f.getProjectId().equals(wbsTreePrivate.getProjectId())
|
|
|
+ && f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ ).findAny().orElse(null);
|
|
|
+ if (resultTreeContract != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
//判断元素表在合同段wbs树中是否存在上级节点,存在则新增;不存在则表示没被引用,不新增
|
|
|
- WbsTreeContract dataContractParent = treeContractListAll.stream().filter(f ->
|
|
|
+ WbsTreeContract dataContractParent = treeContractListAllNodes.stream().filter(f ->
|
|
|
f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
&& f.getProjectId().equals(dataContract.getProjectId())
|
|
|
&& f.getStatus().equals(1)
|
|
@@ -673,7 +687,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
insertDataContractList.add(dataContract);
|
|
|
|
|
|
//获取上级父级节点同级别的复制或新增节点
|
|
|
- List<WbsTreeContract> dataContractEquallyNodes = treeContractListAll.stream().filter(f ->
|
|
|
+ List<WbsTreeContract> dataContractEquallyNodes = treeContractListAllNodes.stream().filter(f ->
|
|
|
(ObjectUtils.isNotEmpty(f.getOldId()) && f.getOldId().equals(String.valueOf(dataContractParent.getId())))
|
|
|
&& f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
&& f.getWbsId().equals(dataContractParent.getWbsId())
|
|
@@ -756,9 +770,10 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
//获取当前项目下所有合同段树
|
|
|
List<WbsTreeContract> treeContractListAll = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
.eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
.eq(WbsTreeContract::getStatus, 1)
|
|
|
);
|
|
|
+ List<WbsTreeContract> treeContractListAllNodes = treeContractListAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
|
|
|
+ List<WbsTreeContract> treeContractListAllTables = treeContractListAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
|
|
|
|
|
|
//构造
|
|
|
for (WbsTreePrivate tree : addPrivateTables) {
|
|
@@ -784,9 +799,22 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
if (dataPrivate.getType() == 2) {
|
|
|
wbsTreeContract.setIsTypePrivatePid(dataPrivate.getPKeyId());
|
|
|
}
|
|
|
- //判断元素表是否存在上级节点,存在则新增;不存在则表示没被引用,不新增
|
|
|
|
|
|
- WbsTreeContract wbsTreeContract1 = treeContractListAll.stream().filter(f ->
|
|
|
+ //判断元素表是否存在合同段,存在则不新增;不存在则表示没被引用,新增
|
|
|
+ WbsTreeContract resultTreeContract = treeContractListAllTables.stream().filter(f ->
|
|
|
+ f.getId().equals(wbsTreeContract.getId())
|
|
|
+ && f.getNodeName().equals(wbsTreeContract.getNodeName())
|
|
|
+ && f.getWbsId().equals(wbsTreeContract.getWbsId())
|
|
|
+ && f.getProjectId().equals(wbsTreePrivate.getProjectId())
|
|
|
+ && f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ ).findAny().orElse(null);
|
|
|
+ if (resultTreeContract != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ //判断元素表是否存在上级节点,存在则新增;不存在则表示没被引用,不新增
|
|
|
+ WbsTreeContract wbsTreeContract1 = treeContractListAllNodes.stream().filter(f ->
|
|
|
f.getContractId().equals(wbsTreeContract.getContractId())
|
|
|
&& f.getProjectId().equals(wbsTreeContract.getProjectId())
|
|
|
&& f.getWbsId().equals(wbsTreeContract.getWbsId())
|
|
@@ -799,7 +827,7 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
insertDataContractList.add(wbsTreeContract);
|
|
|
|
|
|
//获取上级父级节点同级别的复制或新增节点
|
|
|
- List<WbsTreeContract> wbsTreeContracts2 = treeContractListAll.stream().filter(f ->
|
|
|
+ List<WbsTreeContract> wbsTreeContracts2 = treeContractListAllNodes.stream().filter(f ->
|
|
|
(ObjectUtils.isNotEmpty(f.getOldId()) && f.getOldId().equals(String.valueOf(wbsTreeContract1.getId())))
|
|
|
&& f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
&& f.getWbsId().equals(wbsTreePrivate.getWbsId())
|