|
@@ -18,6 +18,7 @@ import org.springblade.manager.vo.*;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
@@ -322,13 +323,22 @@ public class ArTreeContractInitServiceImpl {
|
|
ForestNodeMerger.getTreeList(subTree,treeContractVO2s);
|
|
ForestNodeMerger.getTreeList(subTree,treeContractVO2s);
|
|
|
|
|
|
//2. 获取对应合同的树
|
|
//2. 获取对应合同的树
|
|
- List<WbsTreeContractVO6> wbsTreeContractVO6s = contractInfoService.tree6List(wbsId.toString(),subTree.toString(),contractId.toString());
|
|
|
|
|
|
+ //List<WbsTreeContractVO6> wbsTreeContractVO6s = contractInfoService.tree6List(wbsId.toString(),projectId.toString(),contractId.toString());
|
|
|
|
+
|
|
|
|
+ List<WbsTreeContractVO6> wbsTrees = contractInfoService.tree8(wbsId.toString(),projectId.toString(),contractId.toString());
|
|
|
|
+ if (wbsTrees == null || wbsTrees.size() == 0) {
|
|
|
|
+ return archiveTreeContracts;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<WbsTreeContractVO6> wbsTreeContractVO6s = new ArrayList<>();
|
|
|
|
+ ForestNodeMerger.getTreeList(wbsTrees.get(0),wbsTreeContractVO6s);
|
|
|
|
|
|
List<WbsTreeContractVO6> addWbsNodes = new ArrayList<>();
|
|
List<WbsTreeContractVO6> addWbsNodes = new ArrayList<>();
|
|
|
|
|
|
//获取已经存在的
|
|
//获取已经存在的
|
|
Map<Long,ArchiveTreeContractVO2> extMap = new LinkedHashMap<>();
|
|
Map<Long,ArchiveTreeContractVO2> extMap = new LinkedHashMap<>();
|
|
Map<Long,Long> oldNewMap = new LinkedHashMap<>();
|
|
Map<Long,Long> oldNewMap = new LinkedHashMap<>();
|
|
|
|
+ //Map<Long,WbsTreeContractVO6> wbsMap = new LinkedHashMap<>();
|
|
for (ArchiveTreeContractVO2 ar :treeContractVO2s) {
|
|
for (ArchiveTreeContractVO2 ar :treeContractVO2s) {
|
|
if (ar.getExtId() !=null ) {
|
|
if (ar.getExtId() !=null ) {
|
|
extMap.put(ar.getExtId(),ar);
|
|
extMap.put(ar.getExtId(),ar);
|
|
@@ -338,15 +348,13 @@ public class ArTreeContractInitServiceImpl {
|
|
|
|
|
|
for (WbsTreeContractVO6 wbsTreeVO2:wbsTreeContractVO6s) {
|
|
for (WbsTreeContractVO6 wbsTreeVO2:wbsTreeContractVO6s) {
|
|
//不要中间交工,质量评定和开工报告作为目录节点
|
|
//不要中间交工,质量评定和开工报告作为目录节点
|
|
- if (wbsTreeVO2.getMajorDataType() != null ) {
|
|
|
|
- if (wbsTreeVO2.getMajorDataType() == 1
|
|
|
|
- || wbsTreeVO2.getMajorDataType() == 2
|
|
|
|
- || wbsTreeVO2.getMajorDataType() == 3){
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
|
|
+ //wbsMap.put(wbsTreeVO2.getId(),wbsTreeVO2);
|
|
|
|
+ if (!wbsTreeVO2.isProcessType()) {
|
|
|
|
+ continue;
|
|
}
|
|
}
|
|
|
|
+
|
|
//只展示指定层级之上的
|
|
//只展示指定层级之上的
|
|
- if (wbsTreeVO2.getNodeType() > level){
|
|
|
|
|
|
+ if (!wbsTreeVO2.isMatchLevel(level)){
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -371,11 +379,15 @@ public class ArTreeContractInitServiceImpl {
|
|
archiveTree.setContractId(contractId);
|
|
archiveTree.setContractId(contractId);
|
|
archiveTree.setId(oldNewMap.get(wbsTreeVO2.getId()));
|
|
archiveTree.setId(oldNewMap.get(wbsTreeVO2.getId()));
|
|
if (wbsTreeVO2.getParentId() == 0) {
|
|
if (wbsTreeVO2.getParentId() == 0) {
|
|
- wbsTreeVO2.setParentId(subTree.getId());
|
|
|
|
|
|
+ archiveTree.setParentId(subTree.getId());
|
|
}else {
|
|
}else {
|
|
archiveTree.setParentId(oldNewMap.get(wbsTreeVO2.getParentId()));
|
|
archiveTree.setParentId(oldNewMap.get(wbsTreeVO2.getParentId()));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (archiveTree.getParentId() == null) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
archiveTree.setNodeName(wbsTreeVO2.getTitle());
|
|
archiveTree.setNodeName(wbsTreeVO2.getTitle());
|
|
|
|
|
|
//设置关联
|
|
//设置关联
|
|
@@ -385,14 +397,27 @@ public class ArTreeContractInitServiceImpl {
|
|
archiveTree.setDisplayHierarchy(level.toString());
|
|
archiveTree.setDisplayHierarchy(level.toString());
|
|
archiveTree.setIsDeleted(0);
|
|
archiveTree.setIsDeleted(0);
|
|
//上传节点
|
|
//上传节点
|
|
- if (wbsTreeVO2.getNodeType().longValue() == level) {
|
|
|
|
|
|
+ if (wbsTreeVO2.getNodeType() != null && wbsTreeVO2.getNodeType().longValue() == level) {
|
|
archiveTree.setIsStorageNode(1);
|
|
archiveTree.setIsStorageNode(1);
|
|
}
|
|
}
|
|
archiveTreeContracts.add(archiveTree);
|
|
archiveTreeContracts.add(archiveTree);
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //ArchiveTreeContractVO2 ar = getTree(archiveTreeContracts);
|
|
|
|
+
|
|
return archiveTreeContracts;
|
|
return archiveTreeContracts;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void syncArchiveAutoList(List<ArchiveTreeContract> archiveTreeContracts) {
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ List<ArchiveTreeContract> storageList = archiveTreeContracts.stream()
|
|
|
|
+ .filter(e->e.getIsStorageNode()!= null && e.getIsStorageNode() == 1).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ for (ArchiveTreeContract storage: storageList) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|