瀏覽代碼

关联原生电子文件到归档

huangtf 2 年之前
父節點
當前提交
875770290b

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ArchiveFileClient.java

@@ -133,5 +133,5 @@ public interface ArchiveFileClient {
     void updateArchiveFile(@RequestBody List<ArchiveFile> files);
 
     @PostMapping(API_PREFIX + "/getListByContractId")
-    List<ArchiveFile> getListByContractId(Long contractId);
+    List<ArchiveFile> getListByContractId(@RequestParam Long contractId);
 }

+ 7 - 6
blade-service/blade-business/src/main/java/org/springblade/business/mapper/InformationQueryMapper.xml

@@ -4,6 +4,7 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="informationQueryResultMap" type="org.springblade.business.entity.InformationQuery">
+        <result column="id" property="id"/>
         <result column="name" property="name"/>
         <result column="number" property="number"/>
         <result column="category" property="category"/>
@@ -889,13 +890,13 @@
     </select>
 
     <select id="getInformationByContractId" resultMap="informationQueryResultMap">
-        id,
-        wbs_id as wbsId,
+        select id,
+        wbs_id,
         name,
-        e_visa_pdf_url as eVisaPdfUrl,
-        business_time as businessTime,
-        e_visa_pdf_page as eVisaPdfPage,
-        e_visa_pdf_size as eVisaPdfSize
+        e_visa_pdf_url,
+        business_time,
+        e_visa_pdf_page,
+        e_visa_pdf_size
         from u_information_query
         where is_deleted = 0
           and contract_id = #{contractId} and is_deleted = 0;

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -1102,7 +1102,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
         archiveFile.setFileSize(fileSize);
         archiveFile.setCreateTime(createTime);
 
-
+        archiveFile.setIsCertification(1);
+        archiveFile.setCertificationTime(query.getBusinessTime());
         //
         archiveFile.setEVisaFile(query.getEVisaPdfUrl());
         archiveFile.setPdfFileUrl(query.getEVisaPdfUrl());

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

@@ -182,7 +182,7 @@ public class ArchiveTreeContractSyncImpl {
 
         List<ArchiveTreeContract> saveList = new ArrayList<>();
         //todo 等测试OK再打开
-//        saveList =arTreeContractInitService.getContractExtNodes(AuthUtil.getTenantId(),projectId,dstTree);
+        //saveList =arTreeContractInitService.getContractExtNodes(AuthUtil.getTenantId(),projectId,dstTree);
 
         return saveList;
     }
@@ -415,6 +415,9 @@ public class ArchiveTreeContractSyncImpl {
 
         for (ArchiveTreeContract node : associatedNodes) {
             Integer nodeLevel = Integer.valueOf(associatedNodes.get(0).getDisplayHierarchy());
+            if (nodeLevel == 0) {
+                continue;
+            }
 
             // 获取该合同段下的wbs节点
             List<ArchiveTreeContract> archiveTreeContracts = getArchiveTreeContractsWbs(contractId, node.getId());
@@ -455,12 +458,15 @@ public class ArchiveTreeContractSyncImpl {
             if (keyId != null) {
                 Long id = wbsTreeKeyToIdMap.get(keyId);
 
-
                 ArchiveFile archiveFile = archiveKeyIdMap.get(keyId);
                 Integer sort = wbsTreeKeyToSortMap.get(keyId);
 
-                //业内类型不匹配则不处理
+                //业内类型不匹配则不处理  treeContractVO6判空
                 WbsTreeContractVO6 treeContractVO6 = wbsTreeContractVO6Map.get(id);
+
+                if (treeContractVO6 == null ) {
+                    continue;
+                }
                 if (treeContractVO6.getMajorDataType()!= null) {
                     if (!majarDataType.contains(treeContractVO6.getMajorDataType().toString())) {
                         continue;
@@ -476,7 +482,7 @@ public class ArchiveTreeContractSyncImpl {
                     newInformationQueryList.add(info);
                 }//文件不同,则说明重签过,需要更新,顺序不同也更新
                 else if (!archiveFile.getPdfFileUrl().equals(info.getEVisaPdfUrl())
-                        || (sort!= null && sort != archiveFile.getSort()) ) {
+                        || (!sort.equals(archiveFile.getSort()))) {
 
                     //需要更新的
                     //todo 后续需增加判断已组件或者锁定的不要更新?
@@ -484,6 +490,9 @@ public class ArchiveTreeContractSyncImpl {
                     archiveFile.setEVisaFile(info.getEVisaPdfUrl());
                     archiveFile.setFilePage(info.getEVisaPdfPage());
                     archiveFile.setFileSize(info.getEVisaPdfSize());
+                    archiveFile.setIsCertification(1);
+                    archiveFile.setCertificationTime(info.getBusinessTime());
+                    archiveFile.setFileTime(info.getBusinessTime());
                     archiveFile.setSort(sort);
                     updateArchiveFiles.add(archiveFile);
                 }
@@ -503,8 +512,11 @@ public class ArchiveTreeContractSyncImpl {
 
             //根据map获取到对应的归档树节点nodeid
             Long nodeId = archiveTreeContractIdMap.get(levelKeyId);
+            if (nodeId == null) {
+                continue;
+            }
             //生成新增的归档文件
-            ArchiveFile archiveFile = getArchiveFile(info,nodeId,info.getWbsId(),contractIndfo.archivesUnit());
+            ArchiveFile archiveFile = getArchiveFile(info,nodeId,info.getWbsId(),contractIndfo);
             newArchiveFiles.add(archiveFile);
         }
 
@@ -557,7 +569,7 @@ public class ArchiveTreeContractSyncImpl {
         List<ArchiveTreeContract> archiveTreeContracts = 	archiveTreeContractMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
                 .eq(ArchiveTreeContract::getContractId, contractId)
                 .eq(ArchiveTreeContract::getExtAttachId, attachId)
-                .eq(ArchiveTreeContract::getExtType, 2));
+                .eq(ArchiveTreeContract::getExtType, 1));
         return archiveTreeContracts;
 
         //互殴去
@@ -577,13 +589,14 @@ public class ArchiveTreeContractSyncImpl {
         }
     }
 
-    public ArchiveFile getArchiveFile(InformationQuery query,Long nodeId,Long keyId,String unit) {
+    public ArchiveFile getArchiveFile(InformationQuery query,Long nodeId,Long keyId,ContractInfo contractIndfo) {
         ArchiveFile archiveFile = new ArchiveFile();
         archiveFile.setNodeId(nodeId.toString());
         archiveFile.setNodeExtId(keyId);
 
-        archiveFile.setProjectId(query.getProjectId() == null?"":query.getProjectId().toString());
-        archiveFile.setContractId(query.getContractId().toString());
+
+        archiveFile.setProjectId(contractIndfo.getPId().toString());
+        archiveFile.setContractId(contractIndfo.getId().toString());
         archiveFile.setStatus(2); // 这里是新增归档文件,所以状态为1(已完成)
         //TODO 文件题名规则,待补充
         archiveFile.setFileName(query.getName());
@@ -592,8 +605,12 @@ public class ArchiveTreeContractSyncImpl {
         archiveFile.setSourceType(1);
         archiveFile.setIsArchive(0);
 
+        //设置认证
+        archiveFile.setIsCertification(1);
+        archiveFile.setCertificationTime(query.getBusinessTime());
+
         //责任人怎么取
-        archiveFile.setDutyUser(unit);
+        archiveFile.setDutyUser(contractIndfo.archivesUnit());
 
         //文件大小
         archiveFile.setFileSize(query.getEVisaPdfSize());