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-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java | 1
ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java | 15 ++++++-
ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java | 2 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java | 14 ++++--
ruoyi-admin/src/main/resources/application-srm.yml | 2
ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java | 2 +
ruoyi-admin/src/main/resources/template/遗体器官获取伦理审查表首页.xml | 31 +--------------
ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml | 16 ++++++++
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java | 5 ++
9 files changed, 50 insertions(+), 38 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 1aa846f..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();
@@ -251,6 +254,7 @@
" </w:tr>";
}
content=content.replace("$committeeOpinion",committeeOpinion);//濮斿憳浼氭剰瑙�
+ content=content.replace("$dateContent",DateUtils.parseDateToStr("yyyy骞碝M鏈坉d鏃�",new Date()));//鏃ユ湡
} catch (Exception e) {
e.printStackTrace();
diff --git a/ruoyi-admin/src/main/resources/application-srm.yml b/ruoyi-admin/src/main/resources/application-srm.yml
index 542d99a..9bfe756 100644
--- a/ruoyi-admin/src/main/resources/application-srm.yml
+++ b/ruoyi-admin/src/main/resources/application-srm.yml
@@ -7,7 +7,7 @@
# 涓诲簱鏁版嵁婧�
master:
# 鍖婚櫌鐜
- url: jdbc:mysql://127.0.0.1:3306/opo-qd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://127.0.0.1:3306/opo_qd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: Smartor.2025
diff --git "a/ruoyi-admin/src/main/resources/template/\351\201\227\344\275\223\345\231\250\345\256\230\350\216\267\345\217\226\344\274\246\347\220\206\345\256\241\346\237\245\350\241\250\351\246\226\351\241\265.xml" "b/ruoyi-admin/src/main/resources/template/\351\201\227\344\275\223\345\231\250\345\256\230\350\216\267\345\217\226\344\274\246\347\220\206\345\256\241\346\237\245\350\241\250\351\246\226\351\241\265.xml"
index 584433e..3d03fb6 100644
--- "a/ruoyi-admin/src/main/resources/template/\351\201\227\344\275\223\345\231\250\345\256\230\350\216\267\345\217\226\344\274\246\347\220\206\345\256\241\346\237\245\350\241\250\351\246\226\351\241\265.xml"
+++ "b/ruoyi-admin/src/main/resources/template/\351\201\227\344\275\223\345\231\250\345\256\230\350\216\267\345\217\226\344\274\246\347\220\206\345\256\241\346\237\245\350\241\250\351\246\226\351\241\265.xml"
@@ -897,34 +897,7 @@
<w:p wsp:rsidR="00425E28" wsp:rsidRPr="00425E28" wsp:rsidRDefault="00425E28" wsp:rsidP="00425E28"><w:pPr><w:rPr><w:rFonts w:ascii="瀹嬩綋" w:h-ansi="瀹嬩綋" w:cs="瀹嬩綋" w:hint="fareast"/><wx:font
wx:val="瀹嬩綋"/><w:sz w:val="24"/></w:rPr></w:pPr></w:p></w:tc></w:tr>
- <w:tr wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidTr="00425E28"><w:trPr><w:trHeight w:val="680"/></w:trPr>
- <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
- w:val="center"/></w:tcPr>
- <w:p wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidRDefault="00425E28" wsp:rsidP="006A1099"><w:pPr></w:pPr></w:p>
- </w:tc>
- <w:tc><w:tcPr></w:tcPr>
- <w:p wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidRDefault="00AC7CCA" wsp:rsidP="00CB3FB5">
- <w:r wsp:rsidRPr="00737357">
- <w:t>銆愬鍛樺鎵广�戝垬骞夸紵 淇敼鍚庡悓鎰�</w:t></w:r>
- </w:p>
- </w:tc>
- <w:tc><w:tcPr></w:tcPr>
- <w:p wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidRDefault="00AC7CCA" wsp:rsidP="00CB3FB5">
- <w:r wsp:rsidRPr="00737357">
- <w:t>绛惧悕锛�</w:t></w:r>
- <w:r wsp:rsidR="00421BE1">
- <w:pict>
- <w:binData w:name="wordml://03000001.png" xml:space="preserve"> </w:binData>
- <v:shape style="width:50pt;height:20pt"><v:imagedata src="wordml://03000001.png" o:title="my绛惧瓧"/></v:shape>
- </w:pict>
- </w:r>
- </w:p>
- </w:tc>
- <w:tc><w:tcPr></w:tcPr>
- <w:p wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidRDefault="00AC7CCA" wsp:rsidP="00CB3FB5">
- <w:r wsp:rsidRPr="00737357"><w:t>2026-05-18 15:36:01</w:t></w:r></w:p>
- </w:tc>
- </w:tr>
+ $committeeOpinion
<w:tr wsp:rsidR="00425E28" wsp:rsidRPr="00CB3FB5" wsp:rsidTr="00425E28"><w:trPr><w:trHeight w:val="567"/></w:trPr>
@@ -959,7 +932,7 @@
<w:sz w:val="24"/></w:rPr></w:pPr>
<w:r wsp:rsidRPr="00CB3FB5"><w:rPr><w:rFonts w:ascii="瀹嬩綋" w:h-ansi="瀹嬩綋" w:cs="瀹嬩綋" w:hint="fareast"/><wx:font
wx:val="瀹嬩綋"/><w:sz w:val="24"/></w:rPr>
- <w:t> 2026骞�5鏈�5鏃�</w:t></w:r></w:p></w:tc></w:tr></w:tbl><w:p
+ <w:t> $dateContent</w:t></w:r></w:p></w:tc></w:tr></w:tbl><w:p
wsp:rsidR="00CB3FB5" wsp:rsidRDefault="00CB3FB5"><w:pPr><w:rPr><w:rFonts w:ascii="鏂规灏忔爣瀹嬬畝浣�" w:fareast="鏂规灏忔爣瀹嬬畝浣�" w:h-ansi="鏂规灏忔爣瀹嬬畝浣�" w:cs="鏂规灏忔爣瀹嬬畝浣�" w:hint="fareast"/><wx:font
wx:val="鏂规灏忔爣瀹嬬畝浣�"/><w:sz w:val="36"/><w:sz-cs w:val="44"/></w:rPr></w:pPr></w:p><w:sectPr
wsp:rsidR="00CB3FB5"><w:pgSz w:w="11906" w:h="16838"/>
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java
index 21b94b8..f5eed4b 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java
@@ -8,12 +8,21 @@
@ApiModelProperty("鎬诲鏌ラ噺")
private String count;
- @ApiModelProperty("瀹℃煡閫氳繃")
+ @ApiModelProperty("鍒颁細閲�")
+ private String inCount;
+
+ @ApiModelProperty("瀹℃煡閫氳繃閲�")
private String throughCount;
- @ApiModelProperty("瀹℃煡椹冲洖")
+ @ApiModelProperty("淇敼鍚庡悓鎰忛噺")
private String rejectCount;
- @ApiModelProperty("宸叉斁寮�")
+ @ApiModelProperty("寮冩潈閲�")
private String waiveCount;
+
+ @ApiModelProperty("涓嶅悓鎰忛噺")
+ private String disagreeCount;
+
+ @ApiModelProperty("鍚屾剰閲�")
+ private String agreeCount;
}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java
index 914353a..997d372 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java
@@ -36,4 +36,6 @@
Integer updateTimeOut();
List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo);
+
+ EthicalreviewopinionsStateTotalVO stateTotalAll(String nitiateId);
}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java
index c0f0394..8e0911b 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java
@@ -34,4 +34,6 @@
Integer updateTimeOut();
List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo);
+
+ EthicalreviewopinionsStateTotalVO stateTotalAll(String nitiateId);
}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
index 50c08b3..3fe36f9 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java
@@ -213,4 +213,9 @@
return serviceEthicalreviewopinionsMapper.stateTotal(expertNo);
}
+ public EthicalreviewopinionsStateTotalVO stateTotalAll(String nitiateId) {
+
+ return serviceEthicalreviewopinionsMapper.stateTotalAll(nitiateId);
+ }
+
}
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
index 3507562..09e782c 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceTransportFileServiceImpl.java
@@ -102,6 +102,7 @@
// 娣诲姞鏂扮殑璁板綍锛堝瓨鍦ㄤ簬鏂板垪琛ㄤ絾涓嶅湪鏁版嵁搴撲腑锛�
for (ServiceTransportFile serviceTransportFile : annexfilesList) {
if (StringUtils.isNotEmpty(serviceTransportFile.getFileName()) && !existingPaths.contains(serviceTransportFile.getFileName().trim())) {
+ serviceTransportFile.setId(null);
serviceTransportFile.setTransportId(reportId);
serviceTransportFile.setCreateBy(updateName);
serviceTransportFile.setUpdateTime(new Date());
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
index d838f25..b0f20e7 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
@@ -234,4 +234,20 @@
</select>
+ <select id="stateTotalAll" resultType="com.ruoyi.project.domain.vo.EthicalreviewopinionsStateTotalVO">
+ SELECT COUNT(*) count,SUM(CASE WHEN receive_status = 5 THEN 1 ELSE 0 END) AS throughCount,
+ SUM(CASE WHEN receive_status =4 THEN 1 ELSE 0 END) AS rejectCount,
+ SUM(CASE WHEN receive_status =3 THEN 1 ELSE 0 END) AS waiveCount,
+ SUM(CASE WHEN receive_status =2 THEN 1 ELSE 0 END) AS disagreeCount,
+ SUM(CASE WHEN receive_status =1 THEN 1 ELSE 0 END) AS agreeCount,
+ SUM(CASE WHEN receive_status !=0 THEN 1 ELSE 0 END) AS inCount
+
+ FROM service_ethicalreviewopinions
+ <where>
+ <if test="nitiateId != null ">nitiate_id = #{nitiateId}</if>
+ </where>
+
+
+ </select>
+
</mapper>
--
Gitblit v1.9.3