From 37e23ae4323114564dadbacf75449b75ad957bbf Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 13 七月 2026 16:24:01 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组
---
smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml | 133 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 133 insertions(+), 0 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 4899c45..6982d8f 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -2701,6 +2701,9 @@
<if test="visitCount != null and visitCount > 1">
AND visit_count > 1
</if>
+ <if test="drname != null and drname != ''">
+ AND drname like concat('%', #{drname}, '%')
+ </if>
</select>
@@ -2889,6 +2892,15 @@
FROM service_subtask
WHERE del_flag = 0
AND service_type = 4
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </if>
+ <if test="sendstate != null">
+ AND sendstate = #{sendstate}
+ </if>
+ <if test="isFinished != null and isFinished != '0'">
+ AND finishtime is not null
+ </if>
<if test="starttime != null">AND starttime >= #{starttime}</if>
<if test="endtime != null">AND endtime <= #{endtime}</if>
<if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
@@ -2935,5 +2947,126 @@
order by schedule_seq asc, id asc
</select>
+ <select id="gethelibraryCountHyperlink" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
+ resultMap="ServiceSubtaskResult">
+ select id,
+ visit_count,
+ is_visit_again,
+ type,
+ orgid,
+ drcode,
+ drname,
+ leavehospitaldistrictcode,
+ leavehospitaldistrictname,
+ deptcode,
+ deptname,
+ sendstate,
+ preachform,
+ current_preachform,
+ excep,
+ nurse_id,
+ nurse_name,
+ taskid,
+ task_name,
+ visit_time,
+ finishtime,
+ endtime,
+ senddate,
+ suggest,
+ result,
+ templateid,
+ templatename,
+ patid,
+ sendname,
+ send_type,
+ recordid,
+ exrecallcount,
+ continue_flag,
+ continue_time_now,
+ continue_content,
+ continue_count,
+ continue_time_next,
+ task_situation
+ from service_subtask
+ where 1=1
+ and del_flag = 0
+ AND service_type = 4
+ <if test="orgid != null and orgid != ''">
+ and orgid = #{orgid}
+ </if>
+ <if test="sendstate != null and isFinished != '0'">
+ AND sendstate = #{sendstate}
+ </if>
+ <if test="isFinished != null">
+ AND finishtime is not null
+ </if>
+ <if test="hospitaldistrictcodes != null and hospitaldistrictcodes.size() > 0">
+ AND leavehospitaldistrictcode IN
+ <foreach collection="hospitaldistrictcodes" item="hospitaldistrictcode" open="(" separator=","
+ close=")">
+ #{hospitaldistrictcode}
+ </foreach>
+ </if>
+ <if test="deptcodes != null and deptcodes.size() > 0">
+ AND deptcode IN
+ <foreach collection="deptcodes" item="deptcode" open="(" separator=","
+ close=")">
+ #{deptcode}
+ </foreach>
+ </if>
+ <if test="starttime != null">AND starttime >= #{starttime}</if>
+ <if test="endtime != null">AND endtime <= #{endtime}</if>
+ <if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
+ <if test="finishtime != null">AND DATE(finishtime) = DATE(#{finishtime})</if>
+ <if test="hospType != null and hospType != ''">AND hosp_type = #{hospType}</if>
+ order by endtime desc
+ <if test="pageSize != null and pageNum != null">
+ limit ${pageSize} OFFSET ${pageNum}
+ </if>
+ </select>
+
+ <select id="statQuestionOption" resultType="com.smartor.domain.ServiceSubtaskDetailRatioExport">
+ SELECT
+ d.questiontext AS questiontext,
+ t.taskid AS taskid,
+ d.asrtext AS optionresult,
+ COUNT(*) AS count,
+ CONCAT(ROUND(COUNT(*) * 100.0 / t2.total_count, 2), '%') AS ratio
+ FROM
+ service_task t
+ INNER JOIN service_subtask s ON s.taskid = t.taskid
+ INNER JOIN service_subtask_detail d ON d.sub_id = s.id
+ INNER JOIN (
+ SELECT
+ t.taskid,
+ d.questiontext,
+ COUNT(*) AS total_count
+ FROM
+ service_task t
+ INNER JOIN service_subtask s ON s.taskid = t.taskid
+ INNER JOIN service_subtask_detail d ON d.sub_id = s.id
+ WHERE t.taskid IN
+ <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
+ #{taskId}
+ </foreach>
+ and s.sendstate=6
+ GROUP BY
+ t.taskid,
+ d.questiontext
+ ) t2 ON t2.taskid = t.taskid AND t2.questiontext = d.questiontext
+ WHERE t.taskid IN
+ <foreach collection="taskIds" item="taskId" open="(" separator="," close=")">
+ #{taskId}
+ </foreach>
+ AND s.sendstate = 6
+ GROUP BY
+ t.taskid,
+ d.questiontext,
+ d.asrtext
+ ORDER BY
+ d.questiontext,
+ t.taskid
+ </select>
+
</mapper>
--
Gitblit v1.9.3