From d49c2dbfbec7fef674e933e82a72a7d4aff1028c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 26 五月 2026 14:10:57 +0800
Subject: [PATCH] 【丽水】超链接新增接口 工厂模式

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |    4 
 smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java            |    2 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml            |  156 ++++++++++++++++++++++++++++++++++++++++++---------
 3 files changed, 132 insertions(+), 30 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
index 7fb20b5..38ba8e1 100644
--- a/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
+++ b/smartor/src/main/java/com/smartor/mapper/ServiceSubtaskMapper.java
@@ -126,6 +126,8 @@
 
     public List<ServiceSubtask> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
+    public List<ServiceSubtask> getSfStatisticsHyperlink(ServiceSubtaskCountReq serviceSubtaskCountReq);
+
     public List<String> getSfStatisticsGroupKey(ServiceSubtaskCountReq serviceSubtaskCountReq);
 
     public List<ServiceSubtaskCount> getSfStatisticsJoy(ServiceSubtaskCountReq serviceSubtaskCountReq);
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 766111f..998a56e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -3610,8 +3610,8 @@
                 serviceSubtaskCountReq.setSendstates(sendstates1);
             }
         }
-        List<ServiceSubtask> subtasks = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq);
-        return subtasks;
+        List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.getSfStatisticsHyperlink(serviceSubtaskCountReq);
+        return serviceSubtasks;
     }
 
     private void applyHyperLinkInfoType(ServiceSubtaskCountReq serviceSubtaskCountReq, String hyperLinkInfoType) {
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 9064bab..0ea8666 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -1484,34 +1484,6 @@
                 #{key}
             </foreach>
         </if>
-        AND sendstate IS NOT NULL
-        <if test="sendstates != null and sendstates.size() > 0">
-            AND sendstate IN
-            <foreach collection="sendstates" item="state" open="(" separator="," close=")">
-                #{state}
-            </foreach>
-        </if>
-        <if test="currentPreachform != null">
-            AND current_preachform = #{currentPreachform}
-            <if test="followUpCountStyle != null and followUpCountStyle = '1'">
-                AND sendstate != 4
-            </if>
-        </if>
-        <if test="excep != null and excep != ''">
-            AND excep = #{excep}
-        </if>
-        <if test="taskSituation != null">
-            AND task_situation = #{taskSituation}
-        </if>
-        <if test="drcode != null and drcode != ''">
-            AND drcode = #{drcode}
-        </if>
-        <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">
-            AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
-        </if>
-        <if test="deptcode != null and deptcode != ''">
-            AND deptcode = #{deptcode}
-        </if>
     </select>
     <select id="getSfStatisticsGroupKey" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
             resultType="String">
@@ -1575,6 +1547,134 @@
         </if>
     </select>
 
+    <select id="getSfStatisticsHyperlink" 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
+            <if test="orgid != null and orgid != ''">
+                and orgid = #{orgid}
+            </if>
+            <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size() > 0">
+                AND leavehospitaldistrictcode IN
+                <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator=","
+                         close=")">
+                    #{leavehospitaldistrictcode}
+                </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="serviceType != null and serviceType.size() > 0">
+                AND service_type IN
+                <foreach collection="serviceType" item="serviceType" open="(" separator=","
+                         close=")">
+                    #{serviceType}
+                </foreach>
+            </if>
+            <if test="startTime != null and endTime!=null">
+                AND visit_time >= DATE(#{startTime})
+                AND visit_time &lt; DATE_ADD(DATE(#{endTime}), INTERVAL 1 DAY)
+            </if>
+            <if test="visitDeptCode != null">and visit_dept_code = #{visitDeptCode}</if>
+            <if test="visitDeptName != null">and visit_dept_name = #{visitDeptName}</if>
+            <if test="isabnormal != null">and isabnormal = #{isabnormal}</if>
+            <if test="continueFlag != null ">and continue_flag = #{continueFlag}</if>
+            <if test="continueTimeNow != null ">and continue_time_now = #{continueTimeNow,jdbcType=TIMESTAMP}</if>
+            <if test="continueCount != null ">and continue_count = #{continueCount}</if>
+            <if test="continueTimeNext != null ">and continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP}</if>
+            <!-- 鐩墠鍙粺璁¤闊冲拰闂嵎 -->
+            <if test="type != null">
+                and type = #{type}
+            </if>
+            <if test="visitCount != null and visitCount == 1">
+                AND visit_count = 1
+            </if>
+            <if test="visitCount != null and visitCount > 1">
+                AND visit_count > 1
+            </if>
+            <if test="groupKey != null and groupKey != '' and groupKeyList != null and groupKeyList.size>0">
+                AND ${groupKey} IN
+                <foreach collection="groupKeyList" item="key" open="(" separator=","
+                         close=")">
+                    #{key}
+                </foreach>
+            </if>
+            AND sendstate IS NOT NULL
+            <if test="sendstates != null and sendstates.size() > 0">
+                AND sendstate IN
+                <foreach collection="sendstates" item="state" open="(" separator="," close=")">
+                    #{state}
+                </foreach>
+            </if>
+            <if test="currentPreachform != null">
+                AND current_preachform = #{currentPreachform}
+                <if test="followUpCountStyle != null and followUpCountStyle = '1'">
+                    AND sendstate != 4
+                </if>
+            </if>
+            <if test="excep != null and excep != ''">
+                AND excep = #{excep}
+            </if>
+            <if test="taskSituation != null">
+                AND task_situation = #{taskSituation}
+            </if>
+            <if test="drcode != null and drcode != ''">
+                AND drcode = #{drcode}
+            </if>
+            <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''">
+                AND leavehospitaldistrictcode = #{leavehospitaldistrictcode}
+            </if>
+            <if test="deptcode != null and deptcode != ''">
+                AND deptcode = #{deptcode}
+            </if>
+            <if test="pageSize != null  and pageNum != null">
+                limit ${pageSize} OFFSET ${pageNum}
+            </if>
+    </select>
+
     <select id="getSfStatisticsJoy" parameterType="com.smartor.domain.ServiceSubtaskCountReq"
             resultMap="ServiceSubtaskResult2">
         SELECT sub_id as subTaskId,COUNT(sub_id) joyCount,

--
Gitblit v1.9.3