From c111e3eff1191b29d2d2baf2f485a4bf3a2edc00 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 16 八月 2025 14:34:07 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml |   49 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
index c44de47..a263451 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedOuthospMapper.xml
@@ -115,9 +115,15 @@
                 '%')
             </if>
             <if test="deptname != null  and deptname != ''">and b.deptname like concat('%', #{deptname}, '%')</if>
+            <if test="patname != null  and patname != ''">and b.patname like concat('%', #{patname}, '%')</if>
             <if test="deptcode != null  and deptcode != ''">and b.deptcode =#{deptcode}</if>
             <if test="drname != null  and drname != ''">and b.drname like concat('%', #{drname}, '%')</if>
-            <if test="admitdate != null ">and b.admitdate = #{admitdate}</if>
+            <if test="starttime != null ">and b.admitdate &gt;=
+                TO_DATE(#{starttime},'YYYY-MM-DD')
+            </if>
+            <if test="endtime != null ">and b.admitdate &lt;=
+                TO_DATE(#{endtime},'YYYY-MM-DD')
+            </if>
             <if test="orgid != null  and orgid != ''">and b.orgid = #{orgid}</if>
             <if test="outhospno != null  and outhospno != ''">and b.outhospno = #{outhospno}</if>
             <if test="category != null  and category != ''">and b.category = #{category}</if>
@@ -246,22 +252,55 @@
 
     <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
-            and TO_DATE(admitdate,'YYYY-MM-DD') &gt;= TO_DATE(#{startDate},'YYYY-MM-DD')
-            and TO_DATE(admitdate,'YYYY-MM-DD') &lt;= TO_DATE(#{endDate},'YYYY-MM-DD')
-            <if test="deptcodeList != null">
+            <if test="orgid != null">
+                and orgid = #{orgid}
+            </if>
+            and admitdate &gt;= #{startDate}
+            and admitdate &lt;= #{endDate}
+            <if test="deptcodeList != null and deptcodeList.size()>0">
                 and deptcode in
                 <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")">
                     #{deptcode}
                 </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 visit_time &gt;=#{startDate}
+            </if>
+            <if test="endDate != null">
+                and visit_time &lt;= #{endDate}
+            </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="selectAdmitdateMax" resultType="java.util.Date">

--
Gitblit v1.9.3