Browse Source

修改下载变更记录模板接口

fengyanjie 4 years ago
parent
commit
59ce90b31e

+ 28 - 9
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/controller/DownloadController.java

@@ -1,6 +1,5 @@
 package com.persagy.dmp.rwd.edit.controller;
 
-import com.persagy.dmp.rwd.edit.model.DownloadModel;
 import com.persagy.dmp.rwd.edit.service.DownloadService;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,8 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.OutputStream;
+import java.io.*;
 import java.net.URLEncoder;
 
 @RestController
@@ -21,13 +19,34 @@ public class DownloadController {
     @Autowired
     private DownloadService downloadService;
 
+//    @GetMapping("/download")
+//    private void download(@RequestParam String type, HttpServletResponse response) {
+//        DownloadModel result = downloadService.download(type);
+//        if ("workbook".equalsIgnoreCase(result.getType())) {
+//            String fileName = result.getName();
+//            downloadWorkbook(response, fileName, result.getWorkbook());
+//        }
+//    }
+
     @GetMapping("/download")
-    private void download(@RequestParam String type, HttpServletResponse response) {
-        DownloadModel result = downloadService.download(type);
-        if ("workbook".equalsIgnoreCase(result.getType())) {
-            String fileName = result.getName();
-            downloadWorkbook(response, fileName, result.getWorkbook());
-        }
+    private void download(@RequestParam String type, HttpServletResponse response) throws Exception {
+        //读取文件
+        InputStream resourceAsStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file/批量上传变更记录模板.xlsx");
+        InputStream fis = new BufferedInputStream(resourceAsStream);
+        byte[] buffer = new byte[fis.available()];
+        fis.read(buffer);
+        fis.close();
+        // 清空response
+        response.reset();
+        // 设置response的Header
+        response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode("批量导入标准模板.xls", "utf-8"));
+        //response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
+        response.addHeader("Content-Length", "" + buffer.length);
+        OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
+        response.setContentType("application/octet-stream");
+        toClient.write(buffer);
+        toClient.flush();
+        toClient.close();
     }
 
     private void downloadWorkbook(HttpServletResponse resp, String fileName, Workbook workbook) {

+ 1 - 2
dmp-rwd-edit/src/main/java/com/persagy/dmp/rwd/edit/service/UploadService.java

@@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.JsonNodeFactory;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.common.criteria.JacksonCriteria;
-import com.persagy.common.json.JacksonMapper;
 import com.persagy.common.web.MapResponse;
 import com.persagy.dmp.common.excel.ExcelUtils;
 import com.persagy.dmp.common.excel.SheetReadInfo;
@@ -100,7 +99,7 @@ public class UploadService {
         info2.add(14, "formater", "string");
         info2.add(15, "note", "string");
 
-        List<List<Map<String, Object>>> result = ExcelUtils.read(file.getInputStream(), Arrays.asList(info1, info2),Arrays.asList("类型变更","信息点变更"));
+        List<List<Map<String, Object>>> result = ExcelUtils.read(file.getInputStream(), Arrays.asList(info1, info2), Arrays.asList("类型变更", "信息点变更"));
         List<ClassDefChangeRecord> classDefChangeRecordList = compareDataExcelReadClass(result.get(0));
         List<FuncidDefChangeRecord> funcidDefChangeRecordList = compareDataExcelReadFuncid(result.get(1));
 

BIN
dmp-rwd-edit/src/main/resources/file/批量上传变更记录模板.xlsx