chenr 2 місяців тому
батько
коміт
d6a17e8f04

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ArchiveTree.java

@@ -185,6 +185,9 @@ public class ArchiveTree extends BaseEntity {
     @ApiModelProperty(value = "试验资料类型(归档树)对应字典试验节点类型,数字逗号拼接")
     private String contractTrialType;
 
+    @ApiModelProperty(value = "保存期限")
+    private String storageTime;
+
     public ArchiveTree() {
     }
 

+ 1 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ArchiveTreeContract.java

@@ -325,6 +325,7 @@ public class ArchiveTreeContract extends BaseEntity {
         this.isUploadFileDisplayConfigurationTree = archiveTree.getIsUploadFileDisplayConfigurationTree();
         this.contractLogType = archiveTree.getContractLogType();
         this.contractTrialType = archiveTree.getContractTrialType();
+        this.storageTime=archiveTree.getStorageTime();
     }
 
     public void sync(ArchiveTreeVO2 archiveTree) {

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ContractInfo.java

@@ -178,6 +178,9 @@ public class ContractInfo extends BaseEntity {
     @ApiModelProperty(value = "模板引用 1.模版节点 2.底层节点")
     private Integer templateType;
 
+    @ApiModelProperty(value = "卷盒规格")
+    private String specification;
+
     public BigDecimal getProjectMileage() {
         if (projectMileage == null){
             return null;

+ 6 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/ArchiveFileController.java

@@ -417,6 +417,12 @@ public class ArchiveFileController extends BladeController {
 
         return R.data(this.archiveFileService.selectArchiveFilePage(queryVo));
     }
+    @PostMapping("/sortByFileTime")
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("按文件日期排序")
+    public R<Boolean> sortByFileTime(@RequestParam Long nodeId){
+        return R.data(this.archiveFileService.sortByFileTime(nodeId));
+    }
 
     /**
      * 批量新增

+ 27 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveFileServiceImpl.java

@@ -307,4 +307,31 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
         });
     }
 
+    @Override
+    public boolean sortByFileTime(Long nodeId) {
+     String sql="SELECT id,file_time FROM u_archive_file WHERE node_id IN (SELECT id FROM m_archive_tree_contract WHERE  FIND_IN_SET("+nodeId+",ancestors)) AND is_deleted=0";
+     List<ArchiveFile> list=jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(ArchiveFile.class));
+     if(list.size()>0){
+         Map<String, List<ArchiveFile>> group = list.stream()
+             .collect(Collectors.groupingBy(ArchiveFile::getNodeId));
+         for (Map.Entry<String, List<ArchiveFile>> entry : group.entrySet()) {
+             List<ArchiveFile> archiveFiles = entry.getValue();
+             archiveFiles.sort((a, b) -> {
+                 if (a.getFileTime() == null && b.getFileTime() == null) return 0;
+                 if (a.getFileTime() == null) return -1;
+                 if (b.getFileTime() == null) return 1;
+                 return a.getFileTime().compareTo(b.getFileTime());
+             });
+             int sort = 1;
+             for (ArchiveFile file : archiveFiles) {
+                 file.setSort(sort++);
+             }
+             this.updateBatchById(archiveFiles);
+         }
+         return true;
+     }else {
+         return false;
+     }
+    }
+
 }

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

@@ -868,7 +868,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		}
 		if (StringUtils.isEmpty(node.getSpecification())) {
 			//默认30mm ,对应枚举 1
-			node.setSpecification("30");
+			node.setSpecification(contractInfo.getSpecification());
 		}
 		//没有默认
 		if (StringUtils.isEmpty(node.getArchiveNameSuffix())) {
@@ -884,7 +884,7 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		if (archiveTreeContracts == null || archiveTreeContracts.size() == 0) {
 			return;
 		}
-		
+
 		Long projectId = archiveTreeContracts.get(0).getProjectId();
 		List<ContractInfo> contractInfos = contractInfoService.selectContractInfoPageByPid(projectId.toString());
 		if (contractInfos == null || contractInfos.size() == 0) {