|
@@ -15,6 +15,8 @@ import org.springblade.manager.dto.ArchiveTreeDTO;
|
|
|
import org.springblade.manager.dto.ArchiveTreeSortDTO;
|
|
|
import org.springblade.manager.entity.ArchiveTree;
|
|
|
import org.springblade.manager.entity.ArchiveTreeContract;
|
|
|
+import org.springblade.manager.entity.ProjectInfo;
|
|
|
+import org.springblade.manager.service.IProjectInfoService;
|
|
|
import org.springblade.manager.service.IWbsTreePrivateService;
|
|
|
import org.springblade.manager.service.IWbsTreeService;
|
|
|
import org.springblade.manager.utils.DiffListUtil;
|
|
@@ -39,6 +41,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
private final ArTreeContractInitServiceImpl archiveTreeContractInitService;
|
|
|
private final IWbsTreeService wbsTreeService;
|
|
|
private final IWbsTreePrivateService wbsTreePrivateService;
|
|
|
+ private final IProjectInfoService projectInfoService;
|
|
|
|
|
|
@Override
|
|
|
public boolean initArchiveTree() {
|
|
@@ -144,7 +147,7 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
throw new ServiceException("根节点已存在,请先删除后再进行初始化");
|
|
|
}
|
|
|
|
|
|
- List<ArchiveTreeVO2> sysTrees = this.tree2(AuthUtil.getTenantId(), projectId,null, null);
|
|
|
+ List<ArchiveTreeVO2> sysTrees = this.tree2(AuthUtil.getTenantId(), projectId,null, null,null);
|
|
|
if (sysTrees == null || sysTrees.size() == 0) {
|
|
|
return false;
|
|
|
}
|
|
@@ -227,24 +230,36 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
// }
|
|
|
|
|
|
@Override
|
|
|
- public List<ArchiveTreeVO2> tree2(String tenantId,Long projectId, Integer disPlayTree, Integer nodeType) {
|
|
|
+ public List<ArchiveTreeVO2> tree2(String tenantId,Long projectId, Integer disPlayTree, Integer nodeType,String wbsId) {
|
|
|
List<ArchiveTreeVO2> archiveTreeVOList = baseMapper.tree2(tenantId, projectId,disPlayTree, nodeType);
|
|
|
List<ArchiveTreeVO2> treeVO2s = ForestNodeMerger.merge(archiveTreeVOList);
|
|
|
//todo 遍历树,找到质检节点,调用getWbsArchiveTree,根据关联层级,拼接上去
|
|
|
//待传入wbsId,把child 加入ar的childred
|
|
|
-// String wbsId = "";
|
|
|
-// if (com.mixsmart.utils.StringUtils.isNotEmpty(wbsId)) {
|
|
|
-// for (ArchiveTreeVO2 ar : archiveTreeVOList) {
|
|
|
-// if (ar.getAssociationType() == 1) {
|
|
|
-// ArchiveTreeVO2 child = getWbsArchiveTree(tenantId,projectId,ar.getId(),
|
|
|
-// wbsId,"1",Long.parseLong(ar.getDisplayHierarchy()));
|
|
|
-// if (child!= null) {
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
+ if (StringUtils.isEmpty(wbsId) && projectId != 0) {
|
|
|
+ ProjectInfo projectInfo = projectInfoService.getOne(projectId);
|
|
|
+ if (projectInfo!= null) {
|
|
|
+ Long lWbsId = projectInfo.getReferenceWbsTemplateId();
|
|
|
+ if (lWbsId != null) {
|
|
|
+ wbsId = projectInfo.getReferenceWbsTemplateId().toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(wbsId)) {
|
|
|
+ for (ArchiveTreeVO2 ar : archiveTreeVOList) {
|
|
|
+ //关联质检资料
|
|
|
+ if (ar.getAssociationType()!= null
|
|
|
+ && ar.getAssociationType() == 1
|
|
|
+ && ar.getDisplayHierarchy() != null ) {
|
|
|
+ ArchiveTreeVO2 child = getWbsArchiveTree(tenantId,projectId,ar.getId(),
|
|
|
+ wbsId,"1",Long.parseLong(ar.getDisplayHierarchy()));
|
|
|
+
|
|
|
+ if (child!= null) {
|
|
|
+ ar.getChildren().add(child);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return treeVO2s;
|
|
|
}
|
|
|
|
|
@@ -377,16 +392,25 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
|
|
|
wbsTreeVO2s = wbsTreePrivateService.tree2(wbsId, projectId.toString());
|
|
|
}
|
|
|
|
|
|
+ List<WbsTreeVO2> wbsTreeVO2List = new ArrayList<>();
|
|
|
+ ForestNodeMerger.getTreeList(wbsTreeVO2s.get(0),wbsTreeVO2List);
|
|
|
+
|
|
|
//遍历构建
|
|
|
- for (WbsTreeVO2 wbsTreeVO2:wbsTreeVO2s) {
|
|
|
+ for (WbsTreeVO2 wbsTreeVO2:wbsTreeVO2List) {
|
|
|
//只展示指定层级之上的
|
|
|
+ if (wbsTreeVO2.getMajorDataType() != null ) {
|
|
|
+ if (wbsTreeVO2.getMajorDataType() == 1
|
|
|
+ || wbsTreeVO2.getMajorDataType() == 2
|
|
|
+ || wbsTreeVO2.getMajorDataType() == 3){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
if (wbsTreeVO2.getNodeType() > level){
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
ArchiveTreeVO2 archiveTree = new ArchiveTreeVO2();
|
|
|
- archiveTree.setId(SnowFlakeUtil.getId());
|
|
|
- archiveTree.setParentId(parentId);
|
|
|
+ archiveTree.setId(wbsTreeVO2.getId());
|
|
|
+ archiveTree.setParentId(wbsTreeVO2.getParentId());
|
|
|
archiveTree.setTitle(wbsTreeVO2.getTitle());
|
|
|
archiveTree.setExtId(wbsTreeVO2.getId());
|
|
|
archiveTree.setDisplayHierarchy(level.toString());
|