From c121dc8d2d5b56c17efe7e53e7ef3505387169c7 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期四, 21 五月 2026 15:27:43 +0800
Subject: [PATCH] 转运附件数据不对
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java | 78 +++++++++++++++++++++++++++++++++++----
1 files changed, 70 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 9603720..41c248d 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
@@ -36,8 +36,11 @@
import org.springframework.web.bind.annotation.*;
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.*;
@@ -204,7 +207,10 @@
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");
+ 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);//椤圭洰鍚嶇О
@@ -217,6 +223,57 @@
String committeeOpinion="";
for (EthicalReviewVO row:list) {
String State="",sgin="",id=row.getId()+"",expName=row.getExpertname();
+ if(ObjectUtils.isNotEmpty(row.getSigin())){
+// byte[] imageBytes = Files.readAllBytes(Paths.get(row.getSigin()));
+// sgin=Base64.getEncoder().encodeToString(imageBytes);
+ HttpURLConnection connection = null;
+ InputStream inputStream = null;
+ ByteArrayOutputStream outputStream = null;
+ try {
+ URL url = new URL(row.getSigin());
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setRequestMethod("GET");
+ connection.setConnectTimeout(5000);
+ connection.setReadTimeout(5000);
+
+ if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
+ sgin="";
+ }
+
+ inputStream = connection.getInputStream();
+ outputStream = new ByteArrayOutputStream();
+
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytesRead);
+ }
+
+ byte[] imageBytes = outputStream.toByteArray();
+ sgin= Base64.getEncoder().encodeToString(imageBytes);
+ }catch (Exception e){
+ sgin="";
+ }finally {
+ if (inputStream != null) {
+ try {
+ inputStream.close();
+ } catch (IOException e) {
+
+ }
+ }
+ if (outputStream != null) {
+ try {
+ outputStream.close();
+ } catch (IOException e) {
+
+ }
+ }
+ if (connection != null) {
+ connection.disconnect();
+ }
+ }
+
+ }
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="涓嶅悓鎰�";
@@ -230,7 +287,7 @@
" <w:tc><w:tcPr></w:tcPr>\n" +
" <w:p wsp:rsidR=\"00425E28\" wsp:rsidRPr=\"00CB3FB5\" wsp:rsidRDefault=\"00AC7CCA\" wsp:rsidP=\"00CB3FB5\">\n" +
" <w:r wsp:rsidRPr=\"00737357\">\n" +
- " <w:t>銆愬鍛樺鎵广��"+expName+" "+State+" </w:t></w:r>\n" +
+ " <w:spacing w:line=\"480\" w:line-rule=\"auto\"/><w:t>銆愬鍛樺鎵广��"+expName+" "+State+" </w:t></w:r>\n" +
" </w:p>\n" +
" </w:tc>\n" +
" <w:tc><w:tcPr></w:tcPr>\n" +
@@ -239,17 +296,15 @@
" <w:t>绛惧悕锛�</w:t></w:r>\n" +
" <w:r wsp:rsidR=\"00421BE1\">\n" ;
if(sgin.length()>10) {
- committeeOpinion += " <w:pict>\n" +
- " <w:binData w:name=\"wordml://03000001.png\" xml:space=\"preserve\"> " + sgin + "</w:binData>\n" +
- " <v:shape style=\"width:50pt;height:20pt\"><v:imagedata src=\"wordml://03000001.png\" o:title=\"my绛惧瓧\"/></v:shape>\n" +
- " </w:pict>\n" ;
+ 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" ;
}
committeeOpinion += " </w:r>\n" +
" </w:p>\n" +
" </w:tc>\n" +
" <w:tc><w:tcPr></w:tcPr>\n" +
" <w:p wsp:rsidR=\"00425E28\" wsp:rsidRPr=\"00CB3FB5\" wsp:rsidRDefault=\"00AC7CCA\" wsp:rsidP=\"00CB3FB5\">\n" +
- " <w:r wsp:rsidRPr=\"00737357\"><w:t>"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",row.getConclusiontime())+"</w:t></w:r></w:p>\n" +
+ " <w:spacing w:line=\"480\" w:line-rule=\"auto\"/><w:r wsp:rsidRPr=\"00737357\"><w:t>"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",row.getConclusiontime())+"</w:t></w:r></w:p>\n" +
" </w:tc>\n" +
" </w:tr>";
}
@@ -268,12 +323,19 @@
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