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å¹´MMæddæ¥",new Date()));//æ¥æ } catch (Exception e) { e.printStackTrace(); 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 ruoyi-admin/src/main/resources/template/ÒÅÌåÆ÷¹Ù»ñÈ¡Â×ÀíÉó²é±íÊ×Ò³.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"/> 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; } 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); } 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); } 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); } } 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()); 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>