From fcb98e4558897945a316d04555923355b8e60605 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 10:16:56 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组

---
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 108 insertions(+), 9 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 7e4b4b2..d19b011 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -363,7 +363,7 @@
                 #{state}
             </foreach>
         </if>
-        <if test="subIdList != null  and sendstates.size() > 0">
+        <if test="subIdList != null  and subIdList.size() > 0">
             AND id IN
             <foreach collection="subIdList" item="subId" open="(" separator="," close=")">
                 #{subId}
@@ -393,7 +393,6 @@
         <if test="endSendDateTime != null">
             AND date_format(visit_time,'%y%m%d') &lt;= date_format(#{endSendDateTime},'%y%m%d')
         </if>
-
         <if test="longSendTime != null">
             AND date_format(long_send_time,'%y%m%d') &lt;= date_format(#{longSendTime},'%y%m%d')
         </if>
@@ -430,7 +429,8 @@
                          close=")">
                     #{leaveldeptcode}
                 </foreach>
-            </if>)
+            </if>
+            )
         </if>
         <if test="deptOrDistrict==3">
             AND (1=1
@@ -451,7 +451,6 @@
             </if>
             )
         </if>
-
         <if test="deptOrDistrict==4">
             AND (1=1
             <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
@@ -471,7 +470,6 @@
             </if>
             )
         </if>
-
         <if test="visitTime != null">
             AND date_format(visit_time,'%y%m%d') = date_format(#{visitTime},'%y%m%d')
         </if>
@@ -502,7 +500,6 @@
         <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
         <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
         <if test="openid != null ">and openid = #{openid}</if>
-        <if test="longSendTime != null ">and long_send_time = #{longSendTime}</if>
         <if test="sendstate != null ">and sendstate = #{sendstate}</if>
         <if test="drname != null  and drname != ''">and drname like concat('%', #{drname}, '%')</if>
         <if test="taskName != null  and taskName != ''">and task_name like concat('%', #{taskName}, '%')</if>
@@ -1372,7 +1369,13 @@
             <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP},</if>
             <if test="continueContent != null ">continue_content = #{continueContent},</if>
         </trim>
-        where patid = #{patid} and taskid = #{taskid}
+        where
+        <if test="patid != null ">
+            patid = #{patid}
+        </if>
+        <if test="taskid != null ">
+            and taskid = #{taskid}
+        </if>
         <if test="id != null ">
             and id = #{id}
         </if>
@@ -2528,8 +2531,8 @@
         SUM(CASE WHEN excep IS NOT NULL AND excep = '2' THEN 1 ELSE 0 END) AS jg,
         COUNT(1) as total
         FROM service_subtask
-        where 1=1
-        and del_flag = 0
+        where del_flag = 0
+        <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
         <if test="sendname != null and sendname != ''">
             AND sendname LIKE CONCAT('%', #{sendname}, '%')
         </if>
@@ -2700,6 +2703,9 @@
         </if>
         <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 +2895,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 == '1'">
+            AND finishtime is not null
+        </if>
         <if test="starttime != null">AND starttime &gt;= #{starttime}</if>
         <if test="endtime != null">AND endtime &lt;= #{endtime}</if>
         <if test="visittime != null">AND DATE(visit_time) = DATE(#{visittime})</if>
@@ -2935,6 +2950,84 @@
         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 sendstate = #{sendstate}
+        </if>
+        <if test="isFinished != null and isFinished == '1'">
+            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 &gt;= #{starttime}</if>
+        <if test="endtime != null">AND endtime &lt;= #{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,
@@ -2969,6 +3062,12 @@
             #{taskId}
         </foreach>
         AND s.sendstate = 6
+      <if test="startOutHospTime != null">
+        AND date_format(s.endtime,'%y%m%d') &gt;= date_format(#{startOutHospTime},'%y%m%d')
+    </if>
+        <if test="endOutHospTime != null">
+            AND date_format(s.endtime,'%y%m%d') &lt;= date_format(#{endOutHospTime},'%y%m%d')
+        </if>
         GROUP BY
         t.taskid,
         d.questiontext,

--
Gitblit v1.9.3