|
@@ -185,6 +185,11 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
return ForestNodeMergerEx.merge(baseMapper.tree2(tenantId, disPlayTree, nodeType,projectId,getAuthCode(contractId),getAuthContractId(contractId)));
|
|
return ForestNodeMergerEx.merge(baseMapper.tree2(tenantId, disPlayTree, nodeType,projectId,getAuthCode(contractId),getAuthContractId(contractId)));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<ArchiveTreeContractVO2> tree2Root(String tenantId, Integer disPlayTree, Integer nodeType, Long projectId, Long contractId) {
|
|
|
|
+
|
|
|
|
+ return ForestNodeMergerEx.mergeOnlyRoot(baseMapper.tree2(tenantId, disPlayTree, nodeType,projectId,getAuthCode(contractId),getAuthContractId(contractId)));
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -352,15 +357,13 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
- // 0,业主树同步, 1,根节点同步, 2. 建设单位或者施工单位同步添加合同段 3. 合同段内部同步
|
|
|
|
-
|
|
|
|
-
|
|
|
|
List<ArchiveTreeVO2> srcTrees = archiveTreeService.tree2(AuthUtil.getTenantId(), dstNode.getProjectId(),
|
|
List<ArchiveTreeVO2> srcTrees = archiveTreeService.tree2(AuthUtil.getTenantId(), dstNode.getProjectId(),
|
|
null, null,null,false);
|
|
null, null,null,false);
|
|
- List<ArchiveTreeContractVO2> dstTrees = this.tree2(AuthUtil.getTenantId(),null,null,dstNode.getProjectId(),null);
|
|
|
|
|
|
+ List<ArchiveTreeContractVO2> dstTrees = this.tree2Root(AuthUtil.getTenantId(),null,null,dstNode.getProjectId(),null);
|
|
List<ArchiveTreeContract> saveList = new ArrayList<>();
|
|
List<ArchiveTreeContract> saveList = new ArrayList<>();
|
|
ArchiveTreeContractVO2 dstTree = dstTrees.get(0);
|
|
ArchiveTreeContractVO2 dstTree = dstTrees.get(0);
|
|
- if (dstTree == null ) {
|
|
|
|
|
|
+ ArchiveTreeVO2 srcTree = srcTrees.get(0);
|
|
|
|
+ if (dstTree == null || srcTree == null) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -382,7 +385,6 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
|
|
|
for (ArchiveTreeContractVO2 ar: dstTree.getChildren()) {
|
|
for (ArchiveTreeContractVO2 ar: dstTree.getChildren()) {
|
|
//施工和监理
|
|
//施工和监理
|
|
-
|
|
|
|
ar.setValue(1L);
|
|
ar.setValue(1L);
|
|
if (ar.getTreeCode()!= null && (
|
|
if (ar.getTreeCode()!= null && (
|
|
ar.getTreeCode().equals("C") || ar.getTreeCode().equals("S"))) {
|
|
ar.getTreeCode().equals("C") || ar.getTreeCode().equals("S"))) {
|
|
@@ -413,16 +415,21 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
deleteTreeChildren(ar);
|
|
deleteTreeChildren(ar);
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
for(Map.Entry<Long,ContractInfo> entry : contractMap.entrySet()){
|
|
for(Map.Entry<Long,ContractInfo> entry : contractMap.entrySet()){
|
|
ContractInfo contractInfo = entry.getValue();
|
|
ContractInfo contractInfo = entry.getValue();
|
|
|
|
|
|
if (contractInfo.getStatus() == 0) {
|
|
if (contractInfo.getStatus() == 0) {
|
|
if (ar.getTreeCode().equals("C") && contractInfo.getContractType() == 1) {
|
|
if (ar.getTreeCode().equals("C") && contractInfo.getContractType() == 1) {
|
|
//复制施工
|
|
//复制施工
|
|
|
|
+ List<ArchiveTreeContract> tmpSaveList =
|
|
|
|
+ archiveTreeContractSync.getContractSaveList(srcTree,ar,contractInfo,dstNode);
|
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
}
|
|
}
|
|
if (ar.getTreeCode().equals("S") && contractInfo.getContractType() == 2) {
|
|
if (ar.getTreeCode().equals("S") && contractInfo.getContractType() == 2) {
|
|
//复制监理
|
|
//复制监理
|
|
|
|
+ List<ArchiveTreeContract> tmpSaveList =
|
|
|
|
+ archiveTreeContractSync.getContractSaveList(srcTree,ar,contractInfo,dstNode);
|
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -447,10 +454,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
srcTrees.get(0),dstNode.getId(),ar);
|
|
srcTrees.get(0),dstNode.getId(),ar);
|
|
saveList.addAll(tmpSaveList);
|
|
saveList.addAll(tmpSaveList);
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
}else {
|
|
}else {
|
|
-
|
|
|
|
for (ArchiveTreeContractVO2 contractNode : ar.getChildren()){
|
|
for (ArchiveTreeContractVO2 contractNode : ar.getChildren()){
|
|
if (dstNode.getParentId() == 0 || dstScopeTree.getId() == contractNode.getId()) {
|
|
if (dstNode.getParentId() == 0 || dstScopeTree.getId() == contractNode.getId()) {
|
|
|
|
|
|
@@ -459,11 +463,15 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
saveList.addAll(tmpSaveList);
|
|
saveList.addAll(tmpSaveList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //更新排序
|
|
|
|
+ archiveTreeContractSync.InitTreeSort(dstTree,saveList);
|
|
|
|
+
|
|
|
|
+ //todo 同步wbs等扩展节点
|
|
|
|
+
|
|
this.saveBatch(saveList);
|
|
this.saveBatch(saveList);
|
|
return true;
|
|
return true;
|
|
}
|
|
}
|
|
@@ -481,6 +489,27 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
return this.deleteLogic(ids);
|
|
return this.deleteLogic(ids);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 同步修改
|
|
|
|
+ * @param archiveTree
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public boolean UpdateByArchiveTree(ArchiveTree archiveTree){
|
|
|
|
+
|
|
|
|
+ List<ArchiveTreeContract> archiveTreeContracts = baseMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
|
|
|
|
+ .eq(ArchiveTreeContract::getFromId, archiveTree.getId())
|
|
|
|
+ .eq(ArchiveTreeContract::getProjectId, archiveTree.getProjectId())
|
|
|
|
+ .eq(ArchiveTreeContract::getIsDeleted, 0)
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ for (ArchiveTreeContract archiveTreeContract : archiveTreeContracts) {
|
|
|
|
+ archiveTreeContract.sync(archiveTree);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ this.saveOrUpdateBatch(archiveTreeContracts);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|