From b3a813c7538b2b5b181ad82e64bed30044386a36 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期四, 27 八月 2026 14:31:29 +0800
Subject: [PATCH] 遗体器官获取伦理审查表签名日志
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java | 43 ++++++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 13 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 999ed53..9d2f616 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,8 +34,10 @@
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;
@@ -190,27 +193,35 @@
*/
@ApiOperation("閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛�")
@GetMapping(value = "/download")
- public Result downloadInfo(String initiateId) throws IOException {
- if(ObjectUtils.isEmpty(initiateId)){
+ public Result downloadInfo(String nitiateId) throws IOException {
+ if(ObjectUtils.isEmpty(nitiateId)){
return Result.error("nitiateId浼︾悊瀹℃煡id涓嶈兘涓虹┖");
}
EthicalReviewVO reviewVO =new EthicalReviewVO();
- reviewVO.setNitiateId(initiateId);
+ reviewVO.setNitiateId(nitiateId);
List<EthicalReviewVO> list = serviceEthicalreviewopinionsService.selectVOList(reviewVO);
if(list.size()==0){
return Result.error("浼︾悊瀹℃煡id鏃犵浉鍏虫暟鎹�");
}
- EthicalreviewopinionsStateTotalVO stateTotalVO=serviceEthicalreviewopinionsService.stateTotalAll(initiateId);
+ 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);//椤圭洰鍚嶇О
@@ -275,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" +
@@ -287,7 +300,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:spacing w:line=\"480\" w:line-rule=\"auto\"/><w:t>銆愬鍛樺鎵广��"+expName+" "+State+" </w:t></w:r>\n" +
+ " <w:spacing w:line=\"480\" w:line-rule=\"auto\"/><w:t>銆愬鍛樺鎵广��"+expName+" </w:t></w:r>\n" +
" </w:p>\n" +
" </w:tc>\n" +
" <w:tc><w:tcPr></w:tcPr>\n" +
@@ -296,9 +309,11 @@
" <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" ;
}
+ logger.info("绛惧悕"+sgin);
committeeOpinion += " </w:r>\n" +
" </w:p>\n" +
" </w:tc>\n" +
@@ -315,7 +330,7 @@
e.printStackTrace();
}
String newTime = String.valueOf(Calendar.getInstance().getTimeInMillis());
- String name = "閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛╛"+initiateId+"_" + newTime;
+ String name = "閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛╛"+nitiateId+"_" + newTime;
String filePathData =RuoYiConfig.getProfile() + "/download/wordtemplate";
//鍒涘缓鏂囦欢澶�
@@ -333,10 +348,12 @@
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");
map.put("downloadName", name + ".doc");
--
Gitblit v1.9.3