|
@@ -27,6 +27,7 @@ import org.springblade.archive.entity.ArchiveExpertConclusion;
|
|
|
import org.springblade.archive.feign.ArchiveAutoClient;
|
|
|
import org.springblade.archive.vo.UpdateExpertVO;
|
|
|
import org.springblade.business.feign.ArchiveFileClient;
|
|
|
+import org.springblade.common.utils.SnowFlakeUtil;
|
|
|
import org.springblade.core.log.exception.ServiceException;
|
|
|
import org.springblade.core.secure.BladeUser;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
@@ -135,7 +136,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
}
|
|
|
|
|
|
|
|
|
- List<ArchiveTreeVO2> tree = archiveTreeService.tree2(AuthUtil.getTenantId(), projectId,null, null,null,false);
|
|
|
+ List<ArchiveTreeVO2> tree = archiveTreeService.getAllChildren(archiveTree);
|
|
|
if (tree == null || tree.size() == 0) {
|
|
|
return false;
|
|
|
}
|
|
@@ -430,8 +431,8 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
}
|
|
|
|
|
|
//取出 -- 系统级 wbs树的数据
|
|
|
- List<ArchiveTreeVO2> srcTrees = archiveTreeService.tree2(AuthUtil.getTenantId(), dstNode.getProjectId(),
|
|
|
- null, null,null,false);
|
|
|
+// List<ArchiveTreeVO2> srcTrees = archiveTreeService.tree2(AuthUtil.getTenantId(), dstNode.getProjectId(), null, null,null,false);
|
|
|
+ List<ArchiveTreeVO2> srcTrees = archiveTreeService.getAllChildren(srcNode);
|
|
|
ArchiveTreeVO2 srcTree = srcTrees.get(0);
|
|
|
if (srcTree == null) {
|
|
|
return false;
|
|
@@ -655,7 +656,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
|
|
|
//getNormalSaveList 接口除了同步新增节点,还会同步已有节点的属性。
|
|
|
//因为关联工序的位置是固定的,先不考虑新增一个关联工序节点,且一次同步完成情况
|
|
|
- tmpSaveList = archiveTreeContractSync.getNormalSaveListEx(srcNode.getId(),
|
|
|
+ tmpSaveList = archiveTreeContractSync.getNormalSaveListEx(tmpSubTree.getId(),
|
|
|
tmpSubTree,dstNodeId,contractNode);
|
|
|
saveList.addAll(tmpSaveList);
|
|
|
|
|
@@ -1001,12 +1002,64 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
|
|
|
for (ArchiveTreeVO2 src : srcChilds) {
|
|
|
if (dstMap.get(src.getId()) == null ) {
|
|
|
- List<ArchiveTreeContract> tmpSaveList = archiveTreeContractSync.getNormalSaveListEx(src.getId(),src,dstNode.getId(),dstTree);
|
|
|
- saveList.addAll(tmpSaveList);
|
|
|
+ boolean flag = false;
|
|
|
+ if (contractInfos != null && !contractInfos.isEmpty()) {
|
|
|
+ List<ArchiveTreeContract> tmpSaveList = new ArrayList<>();
|
|
|
+ flag = addNewContract1(contractInfos,src,dstTree,tmpSaveList);
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
|
+ }
|
|
|
+ if (!flag) {
|
|
|
+ List<ArchiveTreeContract> tmpSaveList = archiveTreeContractSync.getNormalSaveListEx(src.getId(),src,dstNode.getId(),dstTree);
|
|
|
+ if (tmpSaveList != null) {
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+ boolean addNewContract1(List<ContractInfo> contractInfos,ArchiveTreeVO2 srcTree,ArchiveTreeContractVO2 dstTree,List<ArchiveTreeContract> saveList){
|
|
|
+
|
|
|
+ dstTree.setValue(1L);
|
|
|
+ ArchiveTreeContract contractNode = null;
|
|
|
+ ArchiveTreeContractVO2 destNode = null;
|
|
|
+ for(ContractInfo contractInfo : contractInfos){
|
|
|
+ List<ArchiveTreeContract> tmpSaveList = new ArrayList<>();
|
|
|
+
|
|
|
+ if (srcTree.getTitle().contains("施工单位归档资料") && contractInfo.getContractType() == 1) {
|
|
|
+ if (contractNode == null) {
|
|
|
+ contractNode = new ArchiveTreeContract(srcTree);
|
|
|
+ contractNode.setId(SnowFlakeUtil.getId());
|
|
|
+ contractNode.setParentId(dstTree.getId());
|
|
|
+ contractNode.setContractId(contractInfo.getId());
|
|
|
+ saveList.add(contractNode);
|
|
|
+ contractNode.setTreeCode("C");
|
|
|
+ }
|
|
|
+ if (destNode == null) {
|
|
|
+ destNode = new ArchiveTreeContractVO2(contractNode);
|
|
|
+ }
|
|
|
+ tmpSaveList = archiveTreeContractSync.getContractSaveList(srcTree,destNode,contractInfo,contractNode);
|
|
|
+ }
|
|
|
+ if (srcTree.getTitle().contains("监理单位归档资料") && contractInfo.getContractType() == 2) {
|
|
|
+ //复制监理
|
|
|
+ if (contractNode == null) {
|
|
|
+ contractNode = new ArchiveTreeContract(srcTree);
|
|
|
+ contractNode.setId(SnowFlakeUtil.getId());
|
|
|
+ contractNode.setParentId(dstTree.getId());
|
|
|
+ contractNode.setContractId(contractInfo.getId());
|
|
|
+ saveList.add(contractNode);
|
|
|
+ contractNode.setTreeCode("S");
|
|
|
+ }
|
|
|
+ if (destNode == null) {
|
|
|
+ destNode = new ArchiveTreeContractVO2(contractNode);
|
|
|
+ }
|
|
|
+// dstTree.getChildren().add(destNode);
|
|
|
+ tmpSaveList = archiveTreeContractSync.getContractSaveList(srcTree,destNode,contractInfo,contractNode);
|
|
|
+ }
|
|
|
+ saveList.addAll(tmpSaveList);
|
|
|
+ }
|
|
|
+ return contractNode != null;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 返回某个合同段关联质检资料的节点
|