From 9a6ae1d105033b057f58586723c78ae86ad3cfc9 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 08 六月 2026 15:54:46 +0800
Subject: [PATCH] 【丽水】随访查询页面-统计调整 * total: 患者服务总量 * wxsf: 无需随访数量 sendstate != 4 * xsf: 需随访数量 sendstate = 4 * dsf: 待随访数量 sendstate = 1L, 2L, 3L, 5L, 7L * ywc: 已完成数量 sendstate = 6L * yc: 异常数量 excep = '1' * yc: 警告数量 excep = '2'
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 44 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index effc758..a477de9 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -122,6 +122,9 @@
</resultMap>
<resultMap type="com.smartor.domain.ServiceSubtaskStatistic" id="ServiceSubtaskStatisticResult">
+ <result property="taskName" column="task_name"/>
+ <result property="drcode" column="drcode"/>
+ <result property="drname" column="drname"/>
<result property="dischargeCount" column="discharge_count"/>
<result property="nonFollowUp" column="non_follow_up"/>
<result property="filterCount" column="filter_count"/>
@@ -1508,6 +1511,13 @@
<select id="getSpecialSfStatistics" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
resultMap="ServiceSubtaskStatisticResult">
select
+ <if test="groupKey != null and groupKey == 'task_name'">
+ a.task_name,
+ </if>
+ <if test="groupKey != null and groupKey == 'drcode'">
+ b.drcode,
+ b.drname,
+ </if>
COUNT(1) AS discharge_count,
SUM(CASE WHEN b.sendstate = 4 THEN 1 ELSE 0 END) AS non_follow_up,
SUM(CASE WHEN b.sendstate = 4 and b.task_situation = 6 THEN 1 ELSE 0 END) AS filter_count,
@@ -1542,6 +1552,27 @@
</if>
<if test="diagType != null and diagType != ''">
and a.diag_type = #{diagType}
+ </if>
+ <if test="taskIds != null and taskIds.size() > 0">
+ AND a.task_id IN
+ <foreach collection="taskIds" item="taskIdItem" open="(" separator=","
+ close=")">
+ #{taskIdItem}
+ </foreach>
+ </if>
+ <if test="taskNames != null and taskNames.size() > 0">
+ AND a.task_name IN
+ <foreach collection="taskNames" item="taskNameItem" open="(" separator=","
+ close=")">
+ #{taskNameItem}
+ </foreach>
+ </if>
+ <if test="diagTypes != null and diagTypes.size() > 0">
+ AND a.diag_type IN
+ <foreach collection="diagTypes" item="diagTypeItem" open="(" separator=","
+ close=")">
+ #{diagTypeItem}
+ </foreach>
</if>
<if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
AND b.leavehospitaldistrictcode IN
@@ -1585,8 +1616,11 @@
<if test="visitCount != null and visitCount > 1">
AND b.visit_count > 1
</if>
- <if test="groupKey != null and groupKey != ''">
- GROUP BY ${groupKey}
+ <if test="groupKey != null and groupKey == 'task_name'">
+ GROUP BY a.task_name
+ </if>
+ <if test="groupKey != null and groupKey == 'drcode'">
+ GROUP BY b.drcode, b.drname
</if>
</select>
@@ -2323,7 +2357,6 @@
AND endtime >= #{startDate}
AND endtime <= DATE_ADD(#{endDate}, INTERVAL 1 DAY)
</if>
- AND service_type IN (2, 13)
AND inhospstate=1
<if test="orgid != null">
AND orgid = #{orgid}
@@ -2397,8 +2430,11 @@
SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf,
SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb,
SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs,
- SUM(CASE WHEN sendstate = 2 THEN 1 ELSE 0 END) AS dsf,
SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq,
+ SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS wxsf,
+ SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS xsf,
+ SUM(CASE WHEN (sendstate = 1 OR sendstate = 2 OR sendstate = 3 OR sendstate = 5 OR sendstate = 7 ) THEN 1 ELSE 0 END) AS dsf,
+ SUM(CASE WHEN sendstate = 6 THEN 1 ELSE 0 END) AS ywc,
SUM(CASE WHEN excep IS NOT NULL AND excep = '1' THEN 1 ELSE 0 END) AS yc,
SUM(CASE WHEN excep IS NOT NULL AND excep = '2' THEN 1 ELSE 0 END) AS jg,
COUNT(1) as total
--
Gitblit v1.9.3