Browse Source

增加同步开关

huangtf 1 year ago
parent
commit
5ed3c1f67a

+ 5 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/feign/ArchiveAutoClient.java

@@ -1,5 +1,6 @@
 package org.springblade.archive.feign;
 
+import org.springblade.archive.entity.ArchiveProjectConfig;
 import org.springblade.archive.entity.ArchivesAuto;
 import org.springblade.archive.vo.ArchivesAutoVO;
 import org.springblade.common.constant.ArchiveConstant;
@@ -26,4 +27,8 @@ public interface ArchiveAutoClient {
 
     @PostMapping(API_PREFIX + "/saveArchiveAutoById")
     ArchivesAuto saveArchiveAutoById(@RequestParam Long id);
+
+
+    @PostMapping(API_PREFIX + "/getByProjectIdOrNew")
+    ArchiveProjectConfig getByProjectIdOrNew(@RequestParam Long projectId);
 }

+ 10 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/feign/ArchiveAutoClientImpl.java

@@ -1,11 +1,14 @@
 package org.springblade.archive.feign;
 
 import lombok.AllArgsConstructor;
+import org.springblade.archive.entity.ArchiveProjectConfig;
 import org.springblade.archive.entity.ArchivesAuto;
+import org.springblade.archive.service.IArchiveProjectConfigService;
 import org.springblade.archive.service.IArchivesAutoService;
 import org.springblade.archive.vo.ArchivesAutoVO;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
@@ -17,6 +20,8 @@ public class ArchiveAutoClientImpl implements ArchiveAutoClient {
 
     private IArchivesAutoService archivesAutoService;
 
+    private final IArchiveProjectConfigService archiveProjectConfigService;
+
     @Override
     public R saveArchiveAutoByNodes(@RequestBody List<ArchivesAuto> list) {
 
@@ -28,4 +33,9 @@ public class ArchiveAutoClientImpl implements ArchiveAutoClient {
     public ArchivesAuto saveArchiveAutoById(Long id) {
         return archivesAutoService.getById(id);
     }
+
+    @Override
+    public ArchiveProjectConfig getByProjectIdOrNew(@RequestParam Long projectId){
+        return archiveProjectConfigService.getByProjectIdOrNew(projectId);
+    }
 }

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

@@ -318,10 +318,7 @@ public class ArTreeContractInitServiceImpl {
 
         for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
             //关联质检资料
-            if (ar.getAssociationType() != null
-                    && ar.getAssociationType() == 1
-                    && ar.getDisplayHierarchy() != null
-                    &&  ar.getStorageType() != null &&  ar.getStorageType() == 4) {
+            if (ar.IsQualityAssociationNode()) {
                 List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar);
                 addNodes.addAll(tmpList);
             }

+ 10 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.archive.entity.ArchiveProjectConfig;
+import org.springblade.archive.feign.ArchiveAutoClient;
 import org.springblade.business.entity.ArchiveFile;
 import org.springblade.business.entity.InformationQuery;
 import org.springblade.business.feign.ArchiveFileClient;
@@ -50,6 +52,8 @@ public class ArchiveTreeContractSyncImpl {
 
     private ExecutorService executorService;
 
+    private final ArchiveAutoClient archiveAutoClient;
+
 
     /**
      * 普通同步
@@ -182,9 +186,13 @@ public class ArchiveTreeContractSyncImpl {
         ArchiveTreeContractVO2 dstTree = ForestNodeMergerEx.getSubTree(dstTrees, dstNodeId);
 
         List<ArchiveTreeContract> saveList = new ArrayList<>();
-        //todo 等测试OK再打开
-        //saveList =arTreeContractInitService.getContractExtNodes(AuthUtil.getTenantId(),projectId,dstTree);
 
+        ArchiveProjectConfig archiveProjectConfig = archiveAutoClient.getByProjectIdOrNew(projectId);
+        //测试阶段,必须打开项目配置才能同步wbs节点
+        if (archiveProjectConfig!= null && archiveProjectConfig.getFactorType().contains("6")) {
+            //todo 等测试OK再打开
+            saveList =arTreeContractInitService.getContractExtNodes(AuthUtil.getTenantId(),projectId,dstTree);
+        }
         return saveList;
     }