|
@@ -427,6 +427,10 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
addNewContract(contractInfos,srcTree,dstTree,dstNode,saveList);
|
|
|
}
|
|
|
|
|
|
+ if (dstNode.getId().equals(dstTree.getId())) {
|
|
|
+ addNewRootChild(contractInfos,srcTree,dstTree,dstNode,saveList);
|
|
|
+ }
|
|
|
+
|
|
|
//如果有新的合同段,合并新增代码到
|
|
|
if (saveList.size() > 0) {
|
|
|
archiveTreeContractSync.mergerToTree(dstTree,saveList,null);
|
|
@@ -873,4 +877,36 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增合同段时,要复制一份合同段的分支出来
|
|
|
+ * @param contractInfos
|
|
|
+ * @param srcTree
|
|
|
+ * @param dstTree
|
|
|
+ * @param dstNode
|
|
|
+ * @param saveList
|
|
|
+ */
|
|
|
+ void addNewRootChild(List<ContractInfo> contractInfos,ArchiveTreeVO2 srcTree,ArchiveTreeContractVO2 dstTree,
|
|
|
+ ArchiveTreeContract dstNode,List<ArchiveTreeContract> saveList){
|
|
|
+
|
|
|
+ //
|
|
|
+ List<ArchiveTreeVO2> srcChilds = srcTree.getChildren();
|
|
|
+ List<ArchiveTreeContractVO2> dstChilds = dstTree.getChildren();
|
|
|
+ Map<Long,Long> dstMap = new HashMap<>();
|
|
|
+
|
|
|
+ for (ArchiveTreeContractVO2 dst: dstChilds) {
|
|
|
+ if (dst.getFromId()!= null ) {
|
|
|
+ dstMap.put(dst.getFromId(),dst.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (ArchiveTreeVO2 src : srcChilds) {
|
|
|
+ if (dstMap.get(src.getId()) == null ) {
|
|
|
+ List<ArchiveTreeContract> tmpSaveList = archiveTreeContractSync.getNormalSaveListEx(src.getId(),src,dstNode.getId(),dstTree);
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|