From aa856b99d0c299bb90437936ef004f92efbb72fe Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期四, 27 八月 2026 10:19:51 +0800
Subject: [PATCH] 遗体器官获取伦理审查表图片处理

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java |   43 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
index 9142fee..b6ac014 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java
@@ -14,6 +14,7 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.file.FileUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.ServiceDonateorganBase;
 import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
@@ -33,13 +34,16 @@
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.poi.ss.formula.functions.Now;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
 
@@ -201,12 +205,23 @@
         }
         EthicalreviewopinionsStateTotalVO  stateTotalVO=serviceEthicalreviewopinionsService.stateTotalAll(nitiateId);
         String filePath = getClass().getResource("/template/").getPath();
-        if(filePath.substring(0,1).equals("/"))
-            filePath=filePath.substring(1);
+        File directory = new File("");// 鍙傛暟涓虹┖
+
+        try {
+            filePath = directory.getCanonicalPath()+"/template/";
+        } catch (IOException e) {
+        }
+
         String content ="";
         Template t = null;
         try {
-            content = Files.readString(Paths.get(filePath+"閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛ㄩ椤�.xml"), StandardCharsets.UTF_8);
+            //content = Files.readString(Paths.get(filePath+"閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛ㄩ椤�.xml"), StandardCharsets.UTF_8);
+            Path path = Paths.get(filePath + "閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛ㄩ椤�.xml");
+            logger.info(filePath + "閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛ㄩ椤�.xml ;"+Files.exists(path));
+
+            byte[] bytes = Files.readAllBytes(path);
+            content = new String(bytes, StandardCharsets.UTF_8);
+
             String name=list.get(0).getName()+"锛堜綇闄㈠彿锛�"+list.get(0).getInpatientno()+"锛�";
             content=content.replace("$name",name);//椤圭洰鍚嶇О
 
@@ -271,10 +286,12 @@
 
                 }
                 if(expName.length()==2) expName=expName.substring(0,1)+"  "+expName.substring(1);
-                if(row.getReceiveStatus().equals("1"))State="宸插悓鎰�";
-                else if(row.getReceiveStatus().equals("2")) State="涓嶅悓鎰�";
-                else if(row.getReceiveStatus().equals("3")) State="寮冩潈";
-                else if(row.getReceiveStatus().equals("4")) State="淇敼鍚庡悓鎰�";
+                if(row.getReceiveStatus().equals("0"))State="寰呮帴鏀�";
+                else if(row.getReceiveStatus().equals("1")) State="鏈帴鏀�";
+                else if(row.getReceiveStatus().equals("2")) State="宸叉帴鏀�";
+                else if(row.getReceiveStatus().equals("3")) State="瓒呮椂";
+                else if(row.getReceiveStatus().equals("4")) State="涓";
+                else if(row.getReceiveStatus().equals("5")) State="瀹屾垚";
                 committeeOpinion+=" <w:tr wsp:rsidR=\"00425E28\" wsp:rsidRPr=\"00CB3FB5\" wsp:rsidTr=\"00425E28\"><w:trPr><w:trHeight w:val=\"680\"/></w:trPr>\n" +
                         "            <w:tc><w:tcPr><w:tcW w:w=\"885\" w:type=\"dxa\"/><w:vmerge/><w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"auto\"/><w:vAlign\n" +
                         "                    w:val=\"center\"/></w:tcPr>\n" +
@@ -292,6 +309,7 @@
                         "                        <w:t>绛惧悕锛�</w:t></w:r>\n" +
                         "                    <w:r wsp:rsidR=\"00421BE1\">\n" ;
                         if(sgin.length()>10) {
+                            sgin=sgin.replace("https://opo.qduh.cn:8091","http://192.168.76.25:8090");
                             committeeOpinion +="<w:pict><w:binData w:name=\"wordml://03000001.png\" xml:space=\"preserve\">\n" + sgin + "\n" +
                                     "</w:binData><v:shape  style=\"width:50pt;height:20pt\"><v:imagedata src=\"wordml://03000001.png\" o:title=\"\"/></v:shape></w:pict>\n" ;
                         }
@@ -319,12 +337,21 @@
         if (!folderPath.exists()) {
             folderPath.mkdirs();
         }
-
+/*
         try {
             Files.writeString(Paths.get(filePathData+ "/" + name + ".doc"),content);
         } catch (Exception e1) {
             e1.printStackTrace();
         }
+*/
+        try {
+            Path path = Paths.get(filePathData + "/" + name + ".doc");
+            Files.write(path, content.getBytes(StandardCharsets.UTF_8));
+
+        } catch (Exception e1) {
+            e1.printStackTrace();
+        }
+
 
         Map<String, Object> map = new HashMap<>();
         map.put("downloadUrl", "/download/wordtemplate/" + name + ".doc");

--
Gitblit v1.9.3