Bläddra i källkod

质检-资料填报-上传附件
1、代码写死了类型导致如果字典新增了类型就会失败
2、调整代码写死的地方改为查询字典
3、删除附件是也会从文件服务器中删除对应的文件

LHB 1 dag sedan
förälder
incheckning
c1244d1a95

+ 4 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -3900,6 +3900,9 @@ public class ExcelTabController extends BladeController {
     })
     public R addBussFile(Integer classify,Long contractId,@RequestParam("file") MultipartFile[] file, String nodeId, Integer type,BladeUser b) {
         List<TableFile> fileList = new ArrayList<>();
+        //查询字段
+        List<Integer> types = jdbcTemplate.queryForList("select dict_key from blade_dict_biz where code like 'table_file_type%' and is_deleted = 0 and dict_key > 0", Integer.class);
+
         if (file != null && file.length >= 1) {
             for (int i = 0; i < file.length; i++) {
 
@@ -3913,7 +3916,7 @@ public class ExcelTabController extends BladeController {
                 tableFile.setContractId(contractId);
                 tableFile.setName(file[i].getOriginalFilename());
                 tableFile.setType(type); //10 代表附件
-                if (type == 10 || type == 11 || type == 12 || type == 20 || type == 21 || type == 22) {
+                if (CollectionUtil.isNotEmpty(types) && types.contains(type)) {
                     tableFile.setDomainPdfUrl(bladeFile1.getLink());
                 }
                 tableFile.setDomainUrl(bladeFile1.getLink());

+ 6 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TableFileController.java

@@ -43,6 +43,7 @@ import org.springblade.manager.service.IExcelTabService;
 import org.springblade.manager.service.IWbsTreeContractService;
 import org.springblade.manager.service.IWbsTreePrivateService;
 import org.springblade.manager.vo.ExcelTabVO;
+import org.springblade.resource.feign.NewIOSSClient;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.jdbc.core.BeanPropertyRowMapper;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -77,7 +78,7 @@ public class TableFileController extends BladeController {
 
     private final InformationQueryClient informationQueryClient;
 
-
+    private final NewIOSSClient newIOSSClient;
 
 
     // excel 基本信息表
@@ -98,6 +99,10 @@ public class TableFileController extends BladeController {
         TableFile tableFile = tableFileService.getById(ids);
         // 删除数据
         tableFileService.delDataById(ids, null);
+        //删除远程服务器中的文件
+        String pdfName = tableFile.getDomainPdfUrl().split("upload")[1];
+        this.newIOSSClient.removeFile("upload" + pdfName);
+
         //如果为节点附件,则不去做其他处理,只删除
         if (tableFile.getType() == 1 || tableFile.getType() == 2) {
             List<TableFileVO> fileVOList = tableFileService.selectTableFileList(Long.parseLong(tableFile.getTabId()));

+ 3 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/TableFileMapper.xml

@@ -52,7 +52,9 @@
     </delete>
 
     <select id="selectTableFileListByTen" resultMap="TableFileVO">
-        select *,domain_pdf_url as url from m_table_file where is_deleted = 0  and classify = #{classify} and type in (10,11,12,20,21,22) and tab_id = #{pKid} Order by sort ASC
+        select *,domain_pdf_url as url from m_table_file where is_deleted = 0  and classify = #{classify} and type in (
+            select dict_key from blade_dict_biz where code like 'table_file_type%' and is_deleted = 0 and dict_key > 0
+        ) and tab_id = #{pKid} Order by sort ASC
     </select>
 
     <select id="selectTableFileList1" resultMap="TableFileVO">