From 4865dc7156334faf8f4c1ee8011bffb03a28bcc5 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 15 五月 2026 13:50:57 +0800
Subject: [PATCH] 理审查专家新增获专家状态统计

---
 ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java          |   19 +++++++++
 ruoyi-project/src/main/java/com/ruoyi/project/mapper/ServiceEthicalreviewopinionsMapper.java            |    5 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewopinionsController.java  |   12 ++++-
 ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceEthicalreviewopinionsService.java         |    5 ++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java  |    5 ++
 ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml                  |   13 ++++++
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceEthicalreviewopinionsServiceImpl.java |    6 +++
 7 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
index 9e6cbd6..e440b41 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceEthicalreviewinitiateController.java
@@ -92,7 +92,10 @@
     @GetMapping(value = "/getInfo/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
         ServiceEthicalreviewinitiate serviceEthicalreviewinitiate= serviceEthicalreviewinitiateService.getById(id);
-
+        QueryWrapper<ServiceEthicalreviewopinions> ethicalreviewopinionsWrapper=new QueryWrapper<>();
+        ethicalreviewopinionsWrapper.eq("nitiate_Id",id);
+        List<ServiceEthicalreviewopinions>  ethicalreviewopinionsList= serviceEthicalreviewopinionsService.list(ethicalreviewopinionsWrapper);
+        serviceEthicalreviewinitiate.setEthicalreviewopinionsList(ethicalreviewopinionsList);
         return AjaxResult.success(serviceEthicalreviewinitiate);
     }
 
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 c86e635..1478d4d 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
@@ -16,6 +16,7 @@
 import com.ruoyi.project.domain.ServiceEthicalreviewinitiate;
 import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
 import com.ruoyi.project.domain.vo.EthicalReviewVO;
+import com.ruoyi.project.domain.vo.EthicalreviewopinionsStateTotalVO;
 import com.ruoyi.project.domain.vo.EthicalreviewopinionsTotalVO;
 import com.ruoyi.project.service.IServiceEthicalreviewinitiateService;
 import com.ruoyi.project.service.IServiceEthicalreviewopinionsService;
@@ -157,13 +158,18 @@
         return toAjax(serviceEthicalreviewopinionsService.update(serviceEthicalreviewopinions,ethicalreviewopinionsWrapper));
     }
 
-    /**
-     * 鑾峰彇浼︾悊瀹℃煡涓撳鏁伴噺
-     */
+
     @ApiOperation("涓撳缁熻璇︽儏")
     @GetMapping(value = "/expertTotal")
     public List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo) {
         return serviceEthicalreviewopinionsService.expertTotal(expertNo);
     }
 
+
+    @ApiOperation("涓撳鐘舵�佺粺璁�")
+    @GetMapping(value = "/stateTotal")
+    public List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo) {
+        return serviceEthicalreviewopinionsService.stateTotal(expertNo);
+    }
+
 }
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
new file mode 100644
index 0000000..21b94b8
--- /dev/null
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/domain/vo/EthicalreviewopinionsStateTotalVO.java
@@ -0,0 +1,19 @@
+package com.ruoyi.project.domain.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class EthicalreviewopinionsStateTotalVO {
+    @ApiModelProperty("鎬诲鏌ラ噺")
+    private String count;
+
+    @ApiModelProperty("瀹℃煡閫氳繃")
+    private String throughCount;
+
+    @ApiModelProperty("瀹℃煡椹冲洖")
+    private String rejectCount;
+
+    @ApiModelProperty("宸叉斁寮�")
+    private String waiveCount;
+}
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 da7d729..914353a 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
@@ -5,6 +5,7 @@
 import java.util.List;
 import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
 import com.ruoyi.project.domain.vo.EthicalReviewVO;
+import com.ruoyi.project.domain.vo.EthicalreviewopinionsStateTotalVO;
 import com.ruoyi.project.domain.vo.EthicalreviewopinionsTotalVO;
 import com.ruoyi.project.domain.vo.TimeVO;
 import org.apache.ibatis.annotations.Mapper;
@@ -30,7 +31,9 @@
 
     Integer countNumber(TimeVO timeVO);
 
-    List<EthicalreviewopinionsTotalVO> expertTotal(String DonorNo);
+    List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo);
 
     Integer updateTimeOut();
+
+    List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo);
 }
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 9d33612..c0f0394 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
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ruoyi.project.domain.ServiceEthicalreviewopinions;
 import com.ruoyi.project.domain.vo.EthicalReviewVO;
+import com.ruoyi.project.domain.vo.EthicalreviewopinionsStateTotalVO;
 import com.ruoyi.project.domain.vo.EthicalreviewopinionsTotalVO;
 
 /**
@@ -28,7 +29,9 @@
 
     List<EthicalReviewVO> selectVOList(EthicalReviewVO ethicalReviewVO);
 
-    List<EthicalreviewopinionsTotalVO> expertTotal(String DonorNo);
+    List<EthicalreviewopinionsTotalVO> expertTotal(String expertNo);
 
     Integer updateTimeOut();
+
+    List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo);
 }
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 fd8be8e..50c08b3 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
@@ -14,6 +14,7 @@
 import com.ruoyi.project.common.CalculateDateUtils;
 import com.ruoyi.project.domain.ServiceDonationwitness;
 import com.ruoyi.project.domain.vo.EthicalReviewVO;
+import com.ruoyi.project.domain.vo.EthicalreviewopinionsStateTotalVO;
 import com.ruoyi.project.domain.vo.EthicalreviewopinionsTotalVO;
 import com.ruoyi.project.domain.vo.MedicalEvaluationVO;
 import com.ruoyi.project.mapper.ServiceDonationwitnessMapper;
@@ -207,4 +208,9 @@
         return serviceEthicalreviewopinionsMapper.updateTimeOut();
     }
 
+    public List<EthicalreviewopinionsStateTotalVO> stateTotal(String expertNo) {
+
+        return serviceEthicalreviewopinionsMapper.stateTotal(expertNo);
+    }
+
 }
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
index d925f82..86d27e3 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceEthicalreviewopinionsMapper.xml
@@ -209,4 +209,17 @@
         WHERE end_time IS NOT NULL AND end_time &lt;= NOW()
     </update>
 
+    <select id="stateTotal" 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
+
+        FROM service_ethicalreviewopinions
+        <where>
+            <if test="expertNo != null ">expert_no = #{expertNo}</if>
+        </where>
+
+        GROUP BY receive_status,expert_no
+    </select>
+
 </mapper>

--
Gitblit v1.9.3