浏览代码

更新同步

huangtf 2 年之前
父节点
当前提交
32775b22cb

+ 1 - 1
blade-service/blade-business/src/main/resources/application-dev.yml

@@ -1,6 +1,6 @@
 #服务器端口
 server:
-  port: 5399
+  port: 15399
 
 #数据源配置
 spring:

+ 28 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -383,6 +383,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 				contractMap.put(contractInfo.getId(),contractInfo);
 			}
 
+			dstTree.setValue(1L);
 			for (ArchiveTreeContractVO2 ar: dstTree.getChildren()) {
 				//施工和监理
 				ar.setValue(1L);
@@ -450,16 +451,39 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 					//同步
 					if (dstNode.getParentId() == 0 || dstScopeTree.getId() == ar.getId()) {
 						//同步
-						List<ArchiveTreeContract> tmpSaveList = archiveTreeContractSync.getNormalSaveList(srcNode.getId(),
-								srcTrees.get(0),dstNode.getId(),ar);
+						List<ArchiveTreeContract> tmpSaveList = null;
+						if (dstNode.getParentId() == 0) {
+							ArchiveTreeVO2 tmpSubTree = ForestNodeMergerEx.getSubTree(srcTree,ar.getFromId());
+							if (tmpSubTree == null) {
+								continue;
+							}
+							tmpSaveList = archiveTreeContractSync.getNormalSaveList(tmpSubTree.getId(),
+									tmpSubTree,ar.getId(),ar);
+						}else {
+							tmpSaveList = archiveTreeContractSync.getNormalSaveList(srcNode.getId(),
+									srcTree,dstNode.getId(),ar);
+						}
+
+
 						saveList.addAll(tmpSaveList);
 					}
 				}else {
 					for (ArchiveTreeContractVO2 contractNode : ar.getChildren()){
+
+						List<ArchiveTreeContract> tmpSaveList = null;
 						if (dstNode.getParentId() == 0 || dstScopeTree.getId() == contractNode.getId()) {
 
-							List<ArchiveTreeContract> tmpSaveList = archiveTreeContractSync.getNormalSaveList(srcNode.getId(),
-									srcTrees.get(0),dstNode.getId(),contractNode);
+							ArchiveTreeVO2 tmpSubTree = srcTree;
+							Long dstNodeId = dstNode.getId();
+							if (dstNode.getParentId() == 0) {
+								tmpSubTree = ForestNodeMergerEx.getSubTree(srcTree,ar.getFromId());
+								dstNodeId = contractNode.getId();
+							}
+							if (tmpSubTree == null) {
+								continue;
+							}
+							tmpSaveList = archiveTreeContractSync.getNormalSaveList(tmpSubTree.getId(),
+									tmpSubTree,dstNodeId,contractNode);
 							saveList.addAll(tmpSaveList);
 						}
 					}