فهرست منبع

元数据捕获

“zhifk” 2 سال پیش
والد
کامیت
e38d211281

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeContractClient.java

@@ -36,4 +36,6 @@ public interface ArchiveTreeContractClient {
     @PostMapping(API_PREFIX + "/getArchiveTreeContractById")
     ArchiveTreeContract getArchiveTreeContractById(@RequestParam Long id);
 
+    @PostMapping(API_PREFIX + "/getArchiveTreeContractListByIds")
+    List<ArchiveTreeContract> getArchiveTreeContractListByIds(@RequestParam String ids);
 }

+ 4 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/MetadataClassificationMapper.java

@@ -7,6 +7,7 @@ import org.springblade.business.entity.TrialContainerClassification;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public interface MetadataClassificationMapper extends BaseMapper<MetadataClassification> {
 
@@ -22,4 +23,7 @@ public interface MetadataClassificationMapper extends BaseMapper<MetadataClassif
     void deleteTableField(@Param("containerInitTabName") String containerInitTabName,@Param("fieldKey") String fieldKey);
 
     void removeMetadataBytype(@Param("type") String type);
+
+
+    List<HashMap<String, Object>> getMetadaFileByFileId(@Param("fileId") Long fileId);
 }

+ 4 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/MetadataClassificationMapper.xml

@@ -82,4 +82,8 @@
         update u_metadata_classification set file_storage_type = REPLACE(file_storage_type,#{type},'')
         where  locate(#{type},file_storage_type) > 0
     </update>
+    <select id="getMetadaFileByFileId" resultType="java.util.HashMap" >
+        select * from u_metadata_file where and file_id != #{fileId}
+        order by create_time desc limit 1
+    </select>
 </mapper>

+ 63 - 5
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/MetadataClassificationServiceImpl.java

@@ -1,11 +1,13 @@
 package org.springblade.business.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
-import org.springblade.business.dto.TrialContainerClassificationDTO;
 
+import org.springblade.business.entity.ArchiveFile;
 import org.springblade.business.entity.MetadataClassification;
 import org.springblade.business.mapper.MetadataClassificationMapper;
+import org.springblade.business.service.IArchiveFileService;
 import org.springblade.business.service.IMetadataClassificationService;
 
 import org.springblade.common.utils.SnowFlakeUtil;
@@ -14,18 +16,19 @@ import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.constant.BladeConstant;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.feign.ArchiveTreeContractClient;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
 @AllArgsConstructor
 public class MetadataClassificationServiceImpl
         extends BaseServiceImpl<MetadataClassificationMapper, MetadataClassification>
         implements IMetadataClassificationService {
-
+    private final IArchiveFileService iArchiveFileService;
+    private final ArchiveTreeContractClient archiveTreeContractClient;
 
     @Override
     public MetadataClassification classificationDetail(Integer type) {
@@ -113,4 +116,59 @@ public class MetadataClassificationServiceImpl
         }
         return true;
     }
+
+    /**
+     * fileId 文件id
+     * cs 施工监理
+     * type 管理端的元数据分类
+     * is true 归档前,false 归档后
+     * istask 0 为审批,1已审批
+     * **/
+
+    public void createMetadataFile(String ipAddress,Long fileId,Integer cs,Integer type,boolean is,Integer istask){
+        BladeUser user = AuthUtil.getUser();
+        if(fileId != null){
+            /**判断是否已经获取过**/
+            List<HashMap<String,Object>> metadataMapList = baseMapper.getMetadaFileByFileId(fileId);
+            Map<String,Object> metadataMap = null;
+            if(metadataMapList != null && metadataMapList.size()>0){
+                metadataMap = metadataMapList.get(0);
+            }else{
+                metadataMap = new HashMap<>();
+            }
+            /**获取对应分类的字段**/
+            QueryWrapper<MetadataClassification> metadata = new QueryWrapper<>();
+            metadata.lambda().like(MetadataClassification :: getFileStorageType,type).eq(MetadataClassification::getIsDeleted,0);
+            List<MetadataClassification> metadataClassifications = baseMapper.selectList(metadata);
+            Map<String,MetadataClassification> map = new LinkedHashMap<>();
+            for(MetadataClassification m : metadataClassifications){
+                map.put(m.getContainerName(),m);
+            }
+            Long id = null;
+            switch (type){
+                case 0:
+                    break;
+            }
+
+            /**聚合层次**/
+            map.get("聚合层次");
+
+            /**全宗名称**/
+
+        }
+    }
+    /**文件收集上传**/
+    private void archiveFileMetadata(Long fileId){
+        ArchiveFile byId = iArchiveFileService.getById(fileId);
+        if(byId != null && !byId.getNodeId().isEmpty()) {
+            ArchiveTreeContract archiveTreeContractById = archiveTreeContractClient.getArchiveTreeContractById(Long.parseLong(byId.getNodeId()));
+            archiveTreeContractById.getAncestors();
+            List<ArchiveTreeContract> list = archiveTreeContractClient.getArchiveTreeContractListByIds(archiveTreeContractById.getAncestors());
+            StringBuffer nameStr = new StringBuffer();
+            for(ArchiveTreeContract treeContract : list){
+                nameStr.append(treeContract.getNodeName());
+                nameStr.append("/");
+            }
+        }
+    }
 }

+ 6 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeContractImpl.java

@@ -70,5 +70,11 @@ public class ArchiveTreeContractImpl implements ArchiveTreeContractClient {
         return archiveTreeContract;
     }
 
+    @Override
+    public List<ArchiveTreeContract> getArchiveTreeContractListByIds(String ids) {
+
+        return archiveTreeContractService.getArchiveTreeContractListByIds(ids);
+    }
+
 
 }

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.java

@@ -86,4 +86,6 @@ public interface ArchiveTreeContractMapper extends BaseMapper<ArchiveTreeContrac
 	List<ArchiveTreeContractVO3> getChildrenNodeByNodeId(@Param("nodeId") Long nodeId);
 
 	List<ArchiveTreeContract> getAuthCodeList(@Param("id") String id,@Param("authCode") String authCode,@Param("contractId") Long contractId);
+
+	List<ArchiveTreeContract> getArchiveTreeContractListByIds(@Param("idsList") List<String> idsList);
 }

+ 12 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeContractMapper.xml

@@ -408,4 +408,16 @@
         </if>
         ORDER BY d.sort
     </select>
+    <select id="getArchiveTreeContractListByIds" resultMap="archiveTreeContractResultMap">
+        SELECT
+        d.*
+        FROM
+        m_archive_tree_contract d
+        WHERE
+        d.is_deleted = 0
+        <foreach item="id" collection="idsList" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        ORDER BY d.ancestors
+    </select>
 </mapper>

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IArchiveTreeContractService.java

@@ -100,4 +100,6 @@ public interface IArchiveTreeContractService extends BaseService<ArchiveTreeCont
 
 	List<ArchiveTreeContractVO3> getChildrenNodeByNodeId(Long nodeId);
 	String getAuthCode(Long contractId);
+
+	List<ArchiveTreeContract> getArchiveTreeContractListByIds(String ids);
 }

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

@@ -374,6 +374,12 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		return code;
 	}
 
+	@Override
+	public List<ArchiveTreeContract> getArchiveTreeContractListByIds(String ids) {
+		List<String> idsList = Arrays.asList(ids.split(","));
+		return baseMapper.getArchiveTreeContractListByIds(idsList);
+	}
+
 	/**
 	 *  同步项目级
 	 * @param dstNode