From 427096ae47a5bac72f655964b90cf4c0714261fd Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 19 五月 2026 13:37:50 +0800
Subject: [PATCH] 遗体器官获取伦理审查表word导出功能

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java |   44 +++++++++++++++++++-------------------------
 1 files changed, 19 insertions(+), 25 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 555d9fc..9603720 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
@@ -31,6 +31,7 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.poi.ss.formula.functions.Now;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -196,6 +197,7 @@
         if(list.size()==0){
             return Result.error("浼︾悊瀹℃煡id鏃犵浉鍏虫暟鎹�");
         }
+        EthicalreviewopinionsStateTotalVO  stateTotalVO=serviceEthicalreviewopinionsService.stateTotalAll(nitiateId);
         String filePath = getClass().getResource("/template/").getPath();
         if(filePath.substring(0,1).equals("/"))
             filePath=filePath.substring(1);
@@ -205,12 +207,13 @@
             content = Files.readString(Paths.get(filePath+"閬椾綋鍣ㄥ畼鑾峰彇浼︾悊瀹℃煡琛ㄩ椤�.xml"), StandardCharsets.UTF_8);
             String name=list.get(0).getName()+"锛堜綇闄㈠彿锛�"+list.get(0).getInpatientno()+"锛�";
             content=content.replace("$name",name);//椤圭洰鍚嶇О
-            content=content.replace("$inCount","16");//鍒颁細濮斿憳
+
+            content=content.replace("$inCount",stateTotalVO.getInCount());//鍒颁細濮斿憳
             content=content.replace("$avoidCount","0");//鍥為伩濮斿憳
-            content=content.replace("$agreeCount","15");//鍚屾剰
-            content=content.replace("$updateAgreeCount","2");//淇敼鍚庡悓鎰�
-            content=content.replace("$disagreeCount","3");//涓嶅悓鎰�
-            content=content.replace("$abstentionCount","4");//寮冩潈
+            content=content.replace("$agreeCount",stateTotalVO.getAgreeCount());//鍚屾剰
+            content=content.replace("$updateAgreeCount",stateTotalVO.getRejectCount());//淇敼鍚庡悓鎰�
+            content=content.replace("$disagreeCount",stateTotalVO.getDisagreeCount());//涓嶅悓鎰�
+            content=content.replace("$abstentionCount",stateTotalVO.getWaiveCount());//寮冩潈
             String committeeOpinion="";
             for (EthicalReviewVO row:list) {
                 String State="",sgin="",id=row.getId()+"",expName=row.getExpertname();
@@ -234,33 +237,24 @@
                         "                <w:p wsp:rsidR=\"00425E28\" wsp:rsidRPr=\"00CB3FB5\" wsp:rsidRDefault=\"00AC7CCA\" wsp:rsidP=\"00CB3FB5\">\n" +
                         "                    <w:r wsp:rsidRPr=\"00737357\">\n" +
                         "                        <w:t>绛惧悕锛�</w:t></w:r>\n" +
-                        "                    <w:r wsp:rsidR=\"00421BE1\">\n" +
-                        "                        <w:pict>\n" +
-                        "                        <w:binData w:name=\"wordml://03000001.png\" xml:space=\"preserve\"> </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" +
-                        "                    </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: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>2026-05-18 15:36:01</w:t></w:r></w:p>\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:tc>\n" +
                         "        </w:tr>";
-                 committeeOpinion += "      <w:p wsp:rsidR=\"00EE26D5\" wsp:rsidRPr=\"00737357\" wsp:rsidRDefault=\"0030540D\" wsp:rsidP=\"00EE26D5\"><w:pPr><w:rPr><w:rFonts w:ascii=\"瀹嬩綋\" w:h-ansi=\"瀹嬩綋\" w:cs=\"瀹嬩綋\"/><wx:font\n" +
-                        "                        wx:val=\"瀹嬩綋\"/><w:sz-cs w:val=\"21\"/></w:rPr></w:pPr>\n" +
-                        "                    <w:r wsp:rsidR=\"00EE26D5\" wsp:rsidRPr=\"00737357\" >\n" +
-                        "                       <v:shape style=\"width:500pt;\"> <w:t>銆愬鍛樺鎵广��"+expName+"  "+State+" </w:t></v:shape></w:r>\n" +
-                         "                    <w:r wsp:rsidR=\"00EE26D5\" wsp:rsidRPr=\"00737357\">\n" +
-                         "                        <w:t>   绛惧悕锛�</w:t></w:r>\n" +
-                        "                    <w:r wsp:rsidR=\"00EE26D5\" wsp:rsidRPr=\"00737357\">\n" +
-                        "                        <w:pict>\n" +
-                        "                            <w:binData w:name=\"wordml://img"+id+".png\" xml:space=\"preserve\">"+sgin+" </w:binData>\n" +
-                        "                            <v:shape id=\"_x0000_"+id+"\" type=\"#_x0000_t75\" style=\"width:50pt;height:20pt\"><v:imagedata src=\"wordml://_x0000_"+id+".png\" o:title=\"绛惧瓧\"/></v:shape></w:pict></w:r>\n" +
-                        "                    <w:r wsp:rsidR=\"00737357\" wsp:rsidRPr=\"00737357\">\n" +
-                        "                        <w:t>    "+ DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",row.getConclusiontime())+"</w:t></w:r></w:p>";
-            }
+               }
             content=content.replace("$committeeOpinion",committeeOpinion);//濮斿憳浼氭剰瑙�
+            content=content.replace("$dateContent",DateUtils.parseDateToStr("yyyy骞碝M鏈坉d鏃�",new Date()));//鏃ユ湡
 
         } catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.9.3