浏览代码

质检资料pdf文件名处理

lvy 1 月之前
父节点
当前提交
21f27e2832

+ 3 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -1476,8 +1476,9 @@ public R<String> batchDownloadFileToZip(String ids, HttpServletResponse response
                     String fileName = result.get(i).getName();
                     fileName = fileName == null ? "找不到文件题目" : fileName.replaceAll("\\\\", "_").replaceAll("/", "_");
                     if (nameMap.containsKey(fileName)) {
-                        fileName = fileName + "_" + nameMap.get(fileName);
-                        nameMap.put(fileName, nameMap.get(fileName) + 1);
+                        int num = nameMap.get(fileName) == null ? 1 : nameMap.get(fileName);
+                        nameMap.put(fileName, num + 1);
+                        fileName = fileName + "_" + num;
                     } else {
                         nameMap.put(fileName, 1);
                     }

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

@@ -2039,7 +2039,9 @@ public class ExcelTabController extends BladeController {
     @ApiOperation(value = "下载pdf数据")
     @ApiImplicitParam(name = "id", value = "fileId")
     public void downBussPdf(String id,HttpServletResponse response) throws Exception {
-
+        if (id == null || id.trim().isEmpty()) {
+            throw new ServiceException("暂无PDF数据");
+        }
         //获取节点下的所有表单,和附件,如果表单全是隐藏的,并且没有附件,则提示暂无数据
         String sql = "select name,pdf_url,e_visa_pdf_url,node_pdf_url from u_information_query where id = " +  id;
         List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
@@ -2058,7 +2060,7 @@ public class ExcelTabController extends BladeController {
             if (pdfUrl.isEmpty()) {
                 throw new ServiceException("暂无PDF数据");
             }
-            fileName = URLEncoder.encode(fileName, Charsets.UTF_8.name());
+//            fileName = URLEncoder.encode(fileName, Charsets.UTF_8.name());
             InputStream redio = CommonUtil.getOSSInputStream(pdfUrl);
             byte[] buffer = IoUtil.readToByteArray(redio);
             OutputStream toClient = new BufferedOutputStream(response.getOutputStream());