lyhzzz hai 1 ano
pai
achega
57fda2822b

+ 5 - 1
pom.xml

@@ -144,7 +144,11 @@
             <version>5.8.6</version>
         </dependency>
 
-
+        <dependency>
+            <groupId>com.deepoove</groupId>
+            <artifactId>poi-tl</artifactId>
+            <version>1.12.2</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 32 - 1
src/main/java/com/fdkankan/fusion/controller/CaseInquestController.java

@@ -1,13 +1,26 @@
 package com.fdkankan.fusion.controller;
 
 
-import com.dtflys.forest.annotation.Post;
+import com.deepoove.poi.XWPFTemplate;
+import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.entity.CaseInquest;
+import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.service.ICaseInquestService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+import static java.nio.file.Files.newOutputStream;
+
 /**
  * <p>
  *  前端控制器
@@ -34,6 +47,24 @@ public class CaseInquestController {
         return ResultData.ok();
     }
 
+    @GetMapping("/downDocx")
+    public void downDocx(@RequestParam(required = false) Integer caseId,
+                         HttpServletResponse res, HttpServletRequest req) throws IOException {
+
+        if(caseId == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        CaseInquest caseInquest = caseInquestService.getByCaseId(caseId);
+        if(caseInquest == null){
+            throw new BusinessException(ResultCode.INQUEST_ERROR);
+        }
+        OutputStream os = res.getOutputStream();
 
+        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
+        // 渲染模板
+        XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest);
+
+        template.writeAndClose(os);
+    }
 }
 

+ 29 - 0
src/main/java/com/fdkankan/fusion/controller/TestController.java

@@ -2,10 +2,13 @@ package com.fdkankan.fusion.controller;
 
 import cn.hutool.http.HttpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.deepoove.poi.XWPFTemplate;
 import com.dtflys.forest.annotation.Post;
+import com.fdkankan.fusion.common.ResultCode;
 import com.fdkankan.fusion.common.ResultData;
 import com.fdkankan.fusion.common.util.ShellUtil;
 import com.fdkankan.fusion.entity.*;
+import com.fdkankan.fusion.exception.BusinessException;
 import com.fdkankan.fusion.service.*;
 import com.fdkankan.redis.util.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -14,7 +17,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import sun.java2d.pipe.SpanIterator;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.xml.transform.Result;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.List;
 import java.util.concurrent.ThreadPoolExecutor;
 
@@ -104,4 +112,25 @@ public class TestController {
         }
         return ResultData.ok();
     }
+    @Autowired
+    ICaseInquestService caseInquestService;
+    @GetMapping("/downDocx")
+    public void downDocx(@RequestParam(required = false) Integer caseId,
+                         HttpServletResponse res, HttpServletRequest req) throws IOException {
+
+        if(caseId == null){
+            throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
+        }
+        CaseInquest caseInquest = caseInquestService.getByCaseId(caseId);
+        if(caseInquest == null){
+            throw new BusinessException(ResultCode.INQUEST_ERROR);
+        }
+        OutputStream os = res.getOutputStream();
+
+        InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("template/inquest-template.docx");
+        // 渲染模板
+        XWPFTemplate template = XWPFTemplate.compile(inputStream).render(caseInquest);
+
+        template.writeAndClose(os);
+    }
 }

BIN=BIN
src/main/resources/template/inquest-tmeplate.docx


BIN=BIN
src/main/resources/template/~$quest-tmeplate.docx