From ca29e025563fb430861d191d11dcd226b4e8e4d7 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期一, 21 九月 2026 16:30:02 +0800
Subject: [PATCH] 捐献器官统计明细列表
---
ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml | 56 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 11 deletions(-)
diff --git a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
index 9b49fe8..d275ca2 100644
--- a/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
+++ b/ruoyi-project/src/main/resources/mapper/project/ServiceTotalsMapper.xml
@@ -10,7 +10,7 @@
LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id
<where>
a.del_flag=0
- <if test="area != null and area != ''">and a.RegisterCountyName>=#{area}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
<if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
</where>
@@ -23,7 +23,7 @@
LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id
<where>
a.del_flag=0
- <if test="area != null and area != ''">and a.RegisterCountyName>=#{area}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
<if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
</where>
@@ -36,7 +36,7 @@
LEFT JOIN service_donatecompletioninfo b ON b.InfoID=a.id
<where>
a.del_flag=0
- <if test="area != null and area != ''">and a.RegisterCountyName>=#{area}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
<if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
</where>
@@ -46,16 +46,18 @@
<select id="organ" parameterType="com.ruoyi.project.domain.ServiceTotals"
resultType="ServiceTotalsOrgan">
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
+ COUNT(IF(b.transplantstate=3, true, NULL)) useCount ,COUNT(IF(d.complete_state=4, true, NULL)) deprecateCount
+ 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
+ LEFT JOIN service_donatecompletioninfo d ON d.InfoID=a.InfoID
<where>
- a.del_flag=0
+ a.del_flag=0 and b.del_flag=0 and c.del_flag=0 and d.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="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.organ_start_time>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.organ_start_time <= #{endTime}</if>
</where>
@@ -72,7 +74,7 @@
<if test="area != null and area != ''">
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="organName != null and organName != ''">and a.OrganName=#{organName}</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 <= #{endTime}</if>
</where>
@@ -89,7 +91,7 @@
<if test="area != null and area != ''">
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="organName != null and organName != ''">and a.OrganName=#{organName}</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 <= #{endTime}</if>
</where>
@@ -180,7 +182,7 @@
LEFT JOIN service_deathinfo d ON d.InfoID=a.id
<where>
a.del_flag=0
- <if test="area != null and area != ''">and a.RegisterCountyName>=#{area}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
<if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
</where>
@@ -194,7 +196,7 @@
LEFT JOIN service_deathinfo d ON d.InfoID=a.id
<where>
a.del_flag=0
- <if test="area != null and area != ''">and a.RegisterCountyName>=#{area}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
<if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
<if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
</where>
@@ -209,4 +211,36 @@
(SELECT COUNT(*) FROM service_donationwitnessorgan WHERE del_flag=0 AND OrganState=4) totalRecycle
</select>
+ <select id="organList" parameterType="com.ruoyi.project.domain.ServiceTotals"
+ resultType="organList">
+ SELECT a.id,a.case_no,a.NAME,a.RegisterCountyName,YEAR(a.donatetime) donateYear,b.OrganName,
+ b.TransplantTime,b.Name,b.TransplantDoct,b.HospitalName,c.OrganGetTime,c.notgetreason,d.complete_state transplantstate
+ FROM service_donatebaseinfo a LEFT JOIN service_donatecomporgan b ON a.ID=b.InfoID
+ LEFT JOIN service_donationwitnessorgan c ON a.ID=c.InfoID
+ LEFT JOIN service_donatecompletioninfo d ON d.InfoID=a.id
+ <where>
+ a.del_flag=0 AND b.del_flag=0 AND c.del_flag=0 and d.del_flag=0
+ <if test="organName != null and organName != ''">and b.OrganName=#{organName}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
+ <if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
+ <if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
+ </where>
+
+ </select>
+
+ <select id="organCount" parameterType="com.ruoyi.project.domain.ServiceTotals"
+ resultType="Long">
+ SELECT count(*)
+ FROM service_donatebaseinfo a LEFT JOIN service_donatecomporgan b ON a.ID=b.InfoID
+ LEFT JOIN service_donationwitnessorgan c ON a.ID=c.InfoID
+ <where>
+ a.del_flag=0 AND b.del_flag=0 AND c.del_flag=0
+ <if test="organName != null and organName != ''">and b.OrganName=#{organName}</if>
+ <if test="area != null and area != ''">and a.RegisterCountyName=#{area}</if>
+ <if test="startTime != null and startTime != ''">and a.donatetime>=#{startTime}</if>
+ <if test="endTime != null and endTime != ''">and a.donatetime <= #{endTime}</if>
+ </where>
+
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3