From bb9fd6f1fad1a20e7536fad50f7f8c7d932a9011 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 02 九月 2025 23:17:36 +0800
Subject: [PATCH] 查询超时问题处理

---
 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml |   42 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
index 7bfeba3..a51fa27 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -113,11 +113,8 @@
         pmo.hpi,
         pmo.fuflag,
         pmo.patname,
-        CONCAT(pa.age,pa.age_unit,pa.age2,pa.age_unit2) AS age,
-        pa.telcode,
-        pmo.mainsuit,
-        pa.idcardno
-        from pat_med_outhosp pmo left join pat_archive pa on pmo.patid = pa.id
+        pmo.mainsuit
+        from pat_med_outhosp pmo
         <where>
             pmo.del_flag=0
             <if test="orgid != null ">and pmo.orgid = #{orgid}</if>
@@ -135,6 +132,7 @@
                 date_format(#{endTime},'%y%m%d')
             </if>
             <if test="patid != null ">and pmo.patid = #{patid}</if>
+            <if test="serialnum != null ">and pmo.serialnum = #{serialnum}</if>
             <if test="fuflag != null ">and pmo.fuflag = #{fuflag}</if>
             <if test="patno != null ">and pmo.patno = #{patno}</if>
             <if test="outhospno != null  and outhospno != ''">and pmo.outhospno = #{outhospno}</if>
@@ -351,13 +349,19 @@
 
     <select id="selectPatMedOuthospCount" parameterType="com.smartor.domain.PatMedReq"
             resultType="com.smartor.domain.PatMedRes">
+        SELECT SUM( rs ) AS rs,
+        SUM( rc ) AS rc
+        FROM (
         SELECT
         COUNT(id) AS rc,
-        COUNT(DISTINCT patid) AS rs
+        0 AS rs
         FROM
         pat_med_outhosp
         <where>
             del_flag=0
+            <if test="orgid != null">
+                and orgid = #{orgid}
+            </if>
             and date_format(admitdate,'%y%m%d') &gt;= date_format(#{startDate},'%y%m%d')
             and date_format(admitdate,'%y%m%d') &lt;= date_format(#{endDate},'%y%m%d')
             <if test="deptcodeList != null and deptcodeList.size()>0">
@@ -367,6 +371,32 @@
                 </foreach>
             </if>
         </where>
+        union all
+        select
+        0 AS rc,
+        count(1) AS rs
+        FROM
+        service_subtask
+        <where>
+            del_flag = 0
+            and service_type=3
+            <if test="orgid != null">
+                and orgid = #{orgid}
+            </if>
+            <if test="startDate != null">
+                AND date_format( visit_time, '%y%m%d' ) &gt;= date_format( #{startDate}, '%y%m%d' )
+            </if>
+            <if test="endDate != null">
+                AND date_format( visit_time, '%y%m%d' ) &lt;= date_format(#{endDate},'%y%m%d')
+            </if>
+            <if test="deptcodeList != null and deptcodeList.size()>0">
+                and deptcode in
+                <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
+                    #{deptcode}
+                </foreach>
+            </if>
+        </where>
+        ) AS combined_data
     </select>
 
     <select id="getDeptRanking" parameterType="com.smartor.domain.PatMedReq" resultType="com.smartor.domain.PatMedRes">

--
Gitblit v1.9.3