Quellcode durchsuchen

初始化客户级归档树

huangtf vor 2 Jahren
Ursprung
Commit
9900a2f240

+ 1 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeContractVO6.java

@@ -69,6 +69,7 @@ public class WbsTreeContractVO6 extends WbsTreeContract implements INode<WbsTree
             if (this.getTitle().contains("中间交工")
                     || this.getTitle().contains("质量评定")
                     || this.getTitle().contains("开工报告")
+                    || this.getTitle().contains("质量检验评定")
                     || this.getTitle().contains("质量验收评定")) {
                 return false;
             }

+ 1 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/WbsTreeVO2.java

@@ -75,6 +75,7 @@ public class WbsTreeVO2 implements INode<WbsTreeVO2> {
             if (this.getTitle().contains("中间交工")
                     || this.getTitle().contains("质量评定")
                     || this.getTitle().contains("开工报告")
+                    || this.getTitle().contains("质量检验评定")
                     || this.getTitle().contains("质量验收评定")) {
                 return false;
             }

+ 13 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeContractController.java

@@ -239,13 +239,22 @@ public class ArchiveTreeContractController extends BladeController {
 	 */
 	@PostMapping("/initTree")
 	@ApiOperationSupport(order = 10)
-	@ApiOperation(value = "初始化项目级归档树", notes = "传入token")
+	@ApiOperation(value = "初始化客户级归档树", notes = "传入token")
 	@ApiImplicitParams(value = {
 			@ApiImplicitParam(name = "projectId", value = "项目id", required = true)
 	})
-	public R<ArchiveTree> initTree(Long projectId) {
-		archiveTreeContractService.initTree2(AuthUtil.getTenantId(), projectId);
-		return R.fail(200, "初始化创建成功");
+	public R<List<ArchiveTreeContractVO2>> initTree(Long projectId) {
+		boolean bRet =archiveTreeContractService.initTree2(AuthUtil.getTenantId(), projectId);
+		if (bRet == false) {
+			return R.fail(200, "初始化归档树失败");
+		}
+
+		List<ArchiveTreeContractVO2> tree = archiveTreeContractService.lazyTree2(AuthUtil.getTenantId(), 0L,projectId,null);
+		if (tree != null && tree.size() > 0) {
+			return R.data(tree);
+		}
+
+		return R.fail(200, "未查询到信息");
 	}
 
 	/**

+ 8 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArTreeContractInitServiceImpl.java

@@ -1,5 +1,6 @@
 package org.springblade.manager.service.impl;
 
+import com.alibaba.druid.sql.dialect.blink.parser.BlinkCreateTableParser;
 import com.mixsmart.utils.StringUtils;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -318,6 +319,10 @@ public class ArTreeContractInitServiceImpl {
         List<ArchiveTreeContract> addNodes = new ArrayList<>();
         List<ArchiveTreeContractVO2> archiveTreeContractVO2s = new ArrayList<>();
         ForestNodeMerger.getTreeList(tree,archiveTreeContractVO2s);
+        Map<Long,ArchiveTreeContractVO2> map = new LinkedHashMap<>();
+        for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
+            map.put(ar.getId(),ar);
+        }
 
         for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
             //关联质检资料
@@ -338,6 +343,9 @@ public class ArTreeContractInitServiceImpl {
         List<ArchiveTreeContract> archiveTreeContracts = new ArrayList<>();
 
         Long contractId = subTree.getContractId();
+        if (contractId == null ) {
+            return archiveTreeContracts;
+        }
         Long level = Long.parseLong(subTree.getDisplayHierarchy());
 
         //1. 获取子树链表
@@ -485,7 +493,6 @@ public class ArTreeContractInitServiceImpl {
     /**
      * 获取节点对应的单位
      * @param archiveTreeContract
-     * @param contractInfo
      * @return
      */
     public String getUnit(ArchiveTreeContract archiveTreeContract,Map<Long,ContractInfo> contractMap){

+ 31 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -63,6 +63,7 @@ import java.util.stream.Collectors;
 public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeContractMapper, ArchiveTreeContract> implements IArchiveTreeContractService {
 
 	private final ArchiveTreeContractMapper archiveTreeContractMapper;
+	private final ArchiveTreeMapper archiveTreeMapper;
 
 	private final IArchiveTreeService archiveTreeService;
 
@@ -80,6 +81,35 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 
 	@Override
 	public boolean initTree2(String tenantId, Long projectId){
+		if (projectId == null || projectId == 0) {
+			return false;
+		}
+
+		//判断客户级是否存在
+		QueryWrapper<ArchiveTreeContract> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("parent_id", 0);
+		queryWrapper.eq("project_id", projectId);
+		queryWrapper.eq("status", 1);
+		queryWrapper.eq("is_deleted", 0);
+		ArchiveTreeContract archiveTreeContract1 = archiveTreeContractMapper.selectOne(queryWrapper);
+		if (archiveTreeContract1 != null) {
+			throw new ServiceException("根节点已存在,请先删除后再进行初始化");
+		}
+
+		//判断项目级是否存在
+		QueryWrapper<ArchiveTree> queryWrapper1 = new QueryWrapper<>();
+		queryWrapper1.eq("parent_id", 0);
+		queryWrapper1.eq("project_id", projectId);
+		queryWrapper1.eq("status", 1);
+		queryWrapper1.eq("is_deleted", 0);
+		ArchiveTree archiveTree = archiveTreeMapper.selectOne(queryWrapper1);
+		if (archiveTree == null ) {
+			boolean bRet = archiveTreeService.initArchiveProjectTree(projectId);
+			if (bRet == false) {
+				return bRet;
+			}
+		}
+
 
 		List<ArchiveTreeVO2> tree = archiveTreeService.tree2(AuthUtil.getTenantId(), projectId,null, null,null,false);
 		if (tree == null || tree.size() == 0) {
@@ -107,6 +137,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 
 		ArchiveTreeContractVO2 newTree = arTreeContractInitService.getTree(archiveTreeContracts);
 
+
 		List<ArchiveTreeContract> addNodes = arTreeContractInitService.getContractProcExtNodes(tenantId,projectId,wbsId,newTree);
 		archiveTreeContracts.addAll(addNodes);