|
@@ -323,15 +323,14 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
if (wbsTree.getId().equals(wbsTreePrivate.getId()) &&
|
|
|
(!wbsTree.getNodeName().equals(wbsTreePrivate.getNodeName())
|
|
|
|| (wbsTree.getNodeType() != null && !wbsTree.getNodeType().equals(wbsTreePrivate.getNodeType()))
|
|
|
- || (wbsTree.getPartitionCode() != null && !wbsTree.getPartitionCode().equals(wbsTreePrivate.getPartitionCode()))
|
|
|
- || (wbsTree.getUniqueCode() != null && !wbsTree.getUniqueCode().equals(wbsTreePrivate.getUniqueCode()))
|
|
|
+ /*|| (wbsTree.getPartitionCode() != null && !wbsTree.getPartitionCode().equals(wbsTreePrivate.getPartitionCode()))
|
|
|
+ || (wbsTree.getUniqueCode() != null && !wbsTree.getUniqueCode().equals(wbsTreePrivate.getUniqueCode()))*/
|
|
|
|| (wbsTree.getMajorDataType() != null && !wbsTree.getMajorDataType().equals(wbsTreePrivate.getMajorDataType()))
|
|
|
|| (wbsTree.getTableType() != null && !wbsTree.getTableType().equals(wbsTreePrivate.getTableType()))
|
|
|
|| (wbsTree.getTableOwner() != null && !wbsTree.getTableOwner().equals(wbsTreePrivate.getTableOwner()))
|
|
|
|| (wbsTree.getImportMatchingInfo() != null && !wbsTree.getImportMatchingInfo().equals(wbsTreePrivate.getImportMatchingInfo()))
|
|
|
)) {
|
|
|
//修改项目wbs信息
|
|
|
- //baseMapper.updateBatchByIds(wbsTree, projectId);
|
|
|
WbsTreePrivate wbsPrivate = new WbsTreePrivate();
|
|
|
BeanUtil.copyProperties(wbsTree, wbsPrivate);
|
|
|
wbsPrivate.setProjectId(projectId);
|
|
@@ -339,7 +338,6 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
|
|
|
for (ContractInfo contractInfo : contractInfos) {
|
|
|
//修改合同段wbs信息
|
|
|
- //wbsTreeContractMapper.updateBatchByIds(wbsTree, contractInfo.getId());
|
|
|
WbsTreeContract wbsContract = new WbsTreeContract();
|
|
|
BeanUtil.copyProperties(wbsTree, wbsContract);
|
|
|
wbsContract.setContractId(String.valueOf(contractInfo.getId()));
|
|
@@ -375,15 +373,14 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
if (wbsTreePrivate.getId().equals(treePrivateNow.getId()) &&
|
|
|
(!wbsTreePrivate.getNodeName().equals(treePrivateNow.getNodeName())
|
|
|
|| (wbsTreePrivate.getNodeType() != null && !wbsTreePrivate.getNodeType().equals(treePrivateNow.getNodeType()))
|
|
|
- || (wbsTreePrivate.getPartitionCode() != null && !wbsTreePrivate.getPartitionCode().equals(treePrivateNow.getPartitionCode()))
|
|
|
- || (wbsTreePrivate.getUniqueCode() != null && !wbsTreePrivate.getUniqueCode().equals(treePrivateNow.getUniqueCode()))
|
|
|
+ /*|| (wbsTreePrivate.getPartitionCode() != null && !wbsTreePrivate.getPartitionCode().equals(treePrivateNow.getPartitionCode()))
|
|
|
+ || (wbsTreePrivate.getUniqueCode() != null && !wbsTreePrivate.getUniqueCode().equals(treePrivateNow.getUniqueCode()))*/
|
|
|
|| (wbsTreePrivate.getMajorDataType() != null && !wbsTreePrivate.getMajorDataType().equals(treePrivateNow.getMajorDataType()))
|
|
|
|| (wbsTreePrivate.getTableType() != null && !wbsTreePrivate.getTableType().equals(treePrivateNow.getTableType()))
|
|
|
|| (wbsTreePrivate.getTableOwner() != null && !wbsTreePrivate.getTableOwner().equals(treePrivateNow.getTableOwner()))
|
|
|
|| (wbsTreePrivate.getImportMatchingInfo() != null && !wbsTreePrivate.getImportMatchingInfo().equals(treePrivateNow.getImportMatchingInfo())))) {
|
|
|
|
|
|
//修改项目wbs信息
|
|
|
- //baseMapper.updateBatchByIds2(wbsTreePrivate, projectId, wbsId);
|
|
|
WbsTreePrivate wbsPrivate = new WbsTreePrivate();
|
|
|
BeanUtil.copyProperties(wbsTreePrivate, wbsPrivate);
|
|
|
wbsPrivate.setWbsId(wbsId);
|
|
@@ -392,7 +389,6 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
|
|
|
for (ContractInfo contractInfo : contractInfos) {
|
|
|
//修改合同段wbs信息
|
|
|
- //wbsTreeContractMapper.updateBatchByIds2(wbsTreePrivate, contractInfo.getId());
|
|
|
WbsTreeContract wbsContract = new WbsTreeContract();
|
|
|
BeanUtil.copyProperties(wbsTreePrivate, wbsContract);
|
|
|
wbsContract.setContractId(String.valueOf(contractInfo.getId()));
|
|
@@ -605,7 +601,14 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
.eq(WbsTreePrivate::getStatus, 1)
|
|
|
);
|
|
|
List<WbsTreePrivate> wbsTreePrivatesProjectNodes = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
|
|
|
- List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<WbsTreePrivate> wbsTreePrivatesProjectTables;
|
|
|
+ if (wbsTreePrivate.getAncestors().equals("0")) {
|
|
|
+ //根节点
|
|
|
+ wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
//获取新增的公有元素表addPublicTable
|
|
|
List<WbsTree> addPublicTable = wbsTreesPublicTables.stream().filter(f ->
|
|
@@ -620,6 +623,13 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
//获取当前项目下所有施工合同段id
|
|
|
List<ContractInfo> contractInfos = contractInfoMapper.selectList(Wrappers.<ContractInfo>query().lambda().eq(ContractInfo::getPId, wbsTreePrivate.getProjectId()));
|
|
|
|
|
|
+ //获取当前项目下所有合同段树
|
|
|
+ List<WbsTreeContract> treeContractListAll = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
+ .eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
+ .eq(WbsTreeContract::getType, 1)
|
|
|
+ .eq(WbsTreeContract::getStatus, 1)
|
|
|
+ );
|
|
|
+
|
|
|
//构造
|
|
|
for (WbsTree tree : addPublicTables) {
|
|
|
WbsTreePrivate dataPrivate = BeanUtil.copyProperties(tree, WbsTreePrivate.class);
|
|
@@ -650,26 +660,28 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
}
|
|
|
|
|
|
//判断元素表在合同段wbs树中是否存在上级节点,存在则新增;不存在则表示没被引用,不新增
|
|
|
- WbsTreeContract dataContractParent = wbsTreeContractMapper.selectOne(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
- .eq(WbsTreeContract::getProjectId, dataContract.getProjectId())
|
|
|
- .eq(WbsTreeContract::getContractId, contractInfo.getId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
- .eq(WbsTreeContract::getStatus, 1)
|
|
|
- .eq(WbsTreeContract::getId, dataContract.getParentId())
|
|
|
- );
|
|
|
+ WbsTreeContract dataContractParent = treeContractListAll.stream().filter(f ->
|
|
|
+ f.getContractId().equals(String.valueOf(contractInfo.getId()))
|
|
|
+ && f.getProjectId().equals(dataContract.getProjectId())
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ && f.getType().equals(1)
|
|
|
+ && f.getId().equals(dataContract.getParentId())
|
|
|
+ ).findAny().orElse(null);
|
|
|
+
|
|
|
if (dataContractParent != null) {
|
|
|
//新增
|
|
|
insertDataContractList.add(dataContract);
|
|
|
|
|
|
//获取上级父级节点同级别的复制或新增节点
|
|
|
- List<WbsTreeContract> dataContractEquallyNodes = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
- .eq(WbsTreeContract::getOldId, dataContractParent.getId())
|
|
|
- .eq(WbsTreeContract::getContractId, contractInfo.getId())
|
|
|
- .eq(WbsTreeContract::getProjectId, dataContractParent.getProjectId())
|
|
|
- .eq(WbsTreeContract::getWbsId, dataContractParent.getWbsId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
- .eq(WbsTreeContract::getStatus, 1)
|
|
|
- );
|
|
|
+ List<WbsTreeContract> dataContractEquallyNodes = treeContractListAll.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())
|
|
|
+ && f.getProjectId().equals(dataContractParent.getProjectId())
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ && f.getType().equals(1)
|
|
|
+ ).collect(Collectors.toList());
|
|
|
+
|
|
|
if (dataContractEquallyNodes.size() > 0) {
|
|
|
//将表单同步到复制或新增的节点下
|
|
|
for (WbsTreeContract treeContractCopy : dataContractEquallyNodes) {
|
|
@@ -720,7 +732,13 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
);
|
|
|
|
|
|
List<WbsTreePrivate> wbsTreePrivatesProjectNodes = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(1)).collect(Collectors.toList());
|
|
|
- List<WbsTreePrivate> wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
|
|
|
+ List<WbsTreePrivate> wbsTreePrivatesProjectTables;
|
|
|
+ if (wbsTreePrivate.getAncestors().equals("0")) {
|
|
|
+ //根节点
|
|
|
+ wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2)).collect(Collectors.toList());
|
|
|
+ } else {
|
|
|
+ wbsTreePrivatesProjectTables = wbsTreePrivatesProjectAll.stream().filter(f -> f.getType().equals(2) && f.getAncestors().contains(String.valueOf(wbsTreePrivate.getId()))).collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
//获取新增的私有元素表addPrivateTable
|
|
|
List<WbsTreePrivate> addPrivateTable = wbsTreePrivateRootTables.stream().filter(f ->
|
|
@@ -735,6 +753,13 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
wbsTreePrivatesProjectNodes.stream().map(WbsTreePrivate::getId).collect(Collectors.toList()).contains(node.getParentId())
|
|
|
).collect(Collectors.toList());
|
|
|
|
|
|
+ //获取当前项目下所有合同段树
|
|
|
+ List<WbsTreeContract> treeContractListAll = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
+ .eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
+ .eq(WbsTreeContract::getType, 1)
|
|
|
+ .eq(WbsTreeContract::getStatus, 1)
|
|
|
+ );
|
|
|
+
|
|
|
//构造
|
|
|
for (WbsTreePrivate tree : addPrivateTables) {
|
|
|
WbsTreePrivate dataPrivate = BeanUtil.copyProperties(tree, WbsTreePrivate.class);
|
|
@@ -760,24 +785,29 @@ public class WbsTreePrivateServiceImpl extends BaseServiceImpl<WbsTreePrivateMap
|
|
|
wbsTreeContract.setIsTypePrivatePid(dataPrivate.getPKeyId());
|
|
|
}
|
|
|
//判断元素表是否存在上级节点,存在则新增;不存在则表示没被引用,不新增
|
|
|
- WbsTreeContract wbsTreeContract1 = wbsTreeContractMapper.selectOne(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
- .eq(WbsTreeContract::getProjectId, wbsTreeContract.getProjectId())
|
|
|
- .eq(WbsTreeContract::getContractId, wbsTreeContract.getContractId())
|
|
|
- .eq(WbsTreeContract::getWbsId, wbsTreeContract.getWbsId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
- .eq(WbsTreeContract::getId, wbsTreeContract.getParentId())
|
|
|
- );
|
|
|
+
|
|
|
+ WbsTreeContract wbsTreeContract1 = treeContractListAll.stream().filter(f ->
|
|
|
+ f.getContractId().equals(wbsTreeContract.getContractId())
|
|
|
+ && f.getProjectId().equals(wbsTreeContract.getProjectId())
|
|
|
+ && f.getWbsId().equals(wbsTreeContract.getWbsId())
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ && f.getType().equals(1)
|
|
|
+ && f.getId().equals(wbsTreeContract.getParentId())
|
|
|
+ ).findAny().orElse(null);
|
|
|
+
|
|
|
if (wbsTreeContract1 != null) {
|
|
|
insertDataContractList.add(wbsTreeContract);
|
|
|
|
|
|
//获取上级父级节点同级别的复制或新增节点
|
|
|
- List<WbsTreeContract> wbsTreeContracts2 = wbsTreeContractMapper.selectList(Wrappers.<WbsTreeContract>query().lambda()
|
|
|
- .eq(WbsTreeContract::getOldId, wbsTreeContract1.getId())
|
|
|
- .eq(WbsTreeContract::getContractId, contractInfo.getId())
|
|
|
- .eq(WbsTreeContract::getProjectId, wbsTreePrivate.getProjectId())
|
|
|
- .eq(WbsTreeContract::getWbsId, wbsTreePrivate.getWbsId())
|
|
|
- .eq(WbsTreeContract::getType, 1)
|
|
|
- );
|
|
|
+ List<WbsTreeContract> wbsTreeContracts2 = treeContractListAll.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())
|
|
|
+ && f.getProjectId().equals(wbsTreePrivate.getProjectId())
|
|
|
+ && f.getStatus().equals(1)
|
|
|
+ && f.getType().equals(1)
|
|
|
+ ).collect(Collectors.toList());
|
|
|
+
|
|
|
if (wbsTreeContracts2.size() > 0) {
|
|
|
//将表单同步到复制或新增的节点下
|
|
|
for (WbsTreeContract treeContract : wbsTreeContracts2) {
|