Browse Source

Merge remote-tracking branch 'origin/master' into master

yangyj 2 năm trước cách đây
mục cha
commit
9e96c13876

+ 13 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.java

@@ -54,6 +54,19 @@ public interface ArchivesAutoMapper extends BaseMapper<ArchivesAuto> {
 	 * @param projectId
 	 */
     Integer splitArchvies(@Param("projectId") Long projectId);
+
+	/**
+	 * 获取案卷封面等pdfurl
+	 * @param projectId
+	 * @return
+	 */
+	List<String> getArchivesOutUrlList(@Param("projectId") Long projectId);
+	/**
+	 * 获取文件页面pdfurl
+	 * @param projectId
+	 * @return
+	 */
+	List<String> getFilePageUrlList(@Param("projectId") Long projectId);
 	/**
 	 *  根据项目id获取所有档案
 	 */

+ 19 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/mapper/ArchivesAutoMapper.xml

@@ -146,6 +146,25 @@
             and is_lock=0;
     </update>
 
+    <select id="getFilePageUrlList" resultType="java.lang.String">
+        select pdf_page_url from u_archive_file
+        where
+            is_deleted=0 and
+            archive_id in(
+                select id from u_archives_auto where project_id=#{projectId}
+                        and is_auto_file!=1
+                        and is_deleted=0
+                        and is_lock=0
+                );
+    </select>
+
+    <select id="getArchivesOutUrlList" resultType="java.lang.String">
+        select out_url from u_archives_auto where project_id=#{projectId}
+          and is_auto_file!=1
+          and is_deleted=0
+          and is_lock=0
+    </select>
+
     <select id="getListByProjectId" resultType="org.springblade.archive.dto.ArchivesAutoDTO">
         select id,project_id as projectId,name,file_number as fileNumber,unit,storage_time as storageTime,node_id as nodeId,tree_sort as treeSort,status,is_deleted as isDeleted,is_lock as isLock,create_time as createTime
         from u_archives_auto

+ 24 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -235,9 +235,31 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	}
 	@Override
 	public void splitArchvies(Long projectId){
+		List<String> removeFiles = new ArrayList<>();
+		//清除案卷封面等pdf
+		List<String> archivesOutUrlList = baseMapper.getArchivesOutUrlList(projectId);
+		if(archivesOutUrlList!=null && archivesOutUrlList.size()>0){
+			for(String outUrl:archivesOutUrlList){
+				String[] splits = outUrl.split(",");
+				for(String url:splits){
+					removeFiles.add(FileUtils.getAliYunSubUrl(url));
+				}
+			}
+		}
+		//清除文件页面pdf
+		List<String> filePageUrlList = baseMapper.getFilePageUrlList(projectId);
+		if(filePageUrlList!=null && filePageUrlList.size()>0){
+			for(String url:filePageUrlList){
+				removeFiles.add(FileUtils.getAliYunSubUrl(url));
+			}
+		}
+
+		iossClient.removeFiles(removeFiles);
+
+
+		//取消未锁定案卷文件关联
 		baseMapper.splitArchvies(projectId);
-		//TODO 清除案卷封面等pdf
-		//TODO 清除文件页面pdf
+
 	}
 
 	@Override

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

@@ -286,7 +286,7 @@ public class InformationQueryServiceImpl extends BaseServiceImpl<InformationQuer
             }
 
             //修改数据
-//            oldData.setPdfUrl("");
+            oldData.setPdfUrl("");
             this.baseMapper.updateById(oldData);
 
         } else {

+ 2 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/SignPfxFileController.java

@@ -446,10 +446,10 @@ public class SignPfxFileController extends BladeController {
 			if(StringUtils.isNotEmpty(oldData.getProjectContractRole()) && !vo.getProjectContractRole().trim().equals(oldData.getProjectContractRole().trim())){
 				//如果不匹配,先删除
 				this.signPfxDeputyService.update(Wrappers.<SignPfxDeputy>lambdaUpdate().set(SignPfxDeputy::getIsDeleted, 1).eq(SignPfxDeputy::getSignPfxFileId, vo.getId()));
+				//再重新生成
+				this.saveSignPfxDeputy(vo, false);
 			}
 
-			//再重新生成
-			this.saveSignPfxDeputy(vo, false);
 		}
 		return R.status(this.signPfxFileService.updateById(vo));
 	}