From c9d33a3083bf4a226e736a447ce920a665409a06 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 18 九月 2026 14:33:11 +0800
Subject: [PATCH] 案例趋势相关统计

---
 ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
index d7258bb..9b49fe8 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -45,24 +45,26 @@
 
     <select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals"
             resultType="ServiceTotalsOrgan">
-        SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime,a.OrganName organName, COUNT(*) getCount,
+        SELECT DATE_FORMAT(a.organ_start_time, '%Y-%m') donateTime,a.OrganName organName, COUNT(*) getCount,c.RegisterCountyName area,
         COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
         LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName
+        LEFT JOIN  service_donatebaseinfo c ON a.InfoID=c.ID
         <where>
             a.del_flag=0
             <if test="area != null  and area != ''">
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
             </if>
+            <if test="area != null  and area != ''">and c.RegisterCountyName>=#{area}</if>
             <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
-            <if test="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</if>
+            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
         </where>
-        GROUP BY DATE_FORMAT(a.OrganGetTime, '%Y-%m'),a.OrganName
+        GROUP BY DATE_FORMAT(a.organ_start_time, '%Y-%m'),a.OrganName,c.RegisterCountyName
     </select>
 
     <select id="organMoon" parameterType="com.ruoyi.project.domain.ServiceTotals"
             resultType="ServiceTotalsOrgan">
-        SELECT DATE_FORMAT(a.OrganGetTime, '%Y-%m') donateTime, COUNT(*) getCount,
+        SELECT DATE_FORMAT(a.organ_start_time, '%Y-%m') donateTime, COUNT(*) getCount,
         COUNT(IF(transplantstate=3, true, NULL)) useCount   FROM  service_donationwitnessorgan a
         LEFT JOIN  service_donatecomporgan b ON a.InfoID=b.InfoID AND a.OrganName=b.OrganName
         <where>
@@ -71,10 +73,10 @@
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
             </if>
             <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
-            <if test="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</if>
+            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
         </where>
-        GROUP BY DATE_FORMAT(a.OrganGetTime, '%Y-%m')
+        GROUP BY DATE_FORMAT(a.organ_start_time, '%Y-%m')
     </select>
 
     <select id="organType" parameterType="com.ruoyi.project.domain.ServiceTotals"
@@ -88,8 +90,8 @@
                 and a.InfoID in (select id FROM service_donatecompletioninfo where RegisterCountyName>=#{area} )
             </if>
             <if test="organName != null  and organName != ''">and a.OrganName>=#{organName}</if>
-            <if test="startTime != null  and startTime != ''">and a.OrganGetTime>=#{startTime}</if>
-            <if test="endTime != null  and endTime != ''">and a.OrganGetTime &lt;= #{endTime}</if>
+            <if test="startTime != null  and startTime != ''">and a.organ_start_time>=#{startTime}</if>
+            <if test="endTime != null  and endTime != ''">and a.organ_start_time &lt;= #{endTime}</if>
         </where>
         GROUP BY a.OrganName
     </select>
@@ -199,4 +201,12 @@
 
     </select>
 
+    <select id="organTotals" parameterType="com.ruoyi.project.domain.ServiceTotals"
+            resultType="ServiceTotalsOrganTotals">
+        SELECT ( SELECT COUNT(*) FROM service_donatecomporgan WHERE del_flag=0 AND transplantstate=1) totalTransplant,
+               ( SELECT COUNT(*) FROM service_donatecomporgan WHERE del_flag=0 AND transplantstate=4) totalDiscard,
+               (SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=3) totalGet,
+               (SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=4) totalRecycle
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3