From 6366d3a0e3520e2fd1e81ada00dfa2c8dd1a910c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 23 七月 2026 12:43:31 +0800
Subject: [PATCH] 患者过滤查询

---
 smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
index 22b3f4a..903ceaa 100644
--- a/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatArchiveMapper.xml
@@ -189,7 +189,6 @@
             <if test="idcardno != null  and idcardno != ''">and idcardno = #{idcardno}</if>
             <if test="sourcefrom != null ">and sourcefrom = #{sourcefrom}</if>
             <if test="telcode != null  and telcode != ''">and telcode = #{telcode}</if>
-            <if test="orgid != null  and orgid != ''">and orgid = #{orgid}</if>
             <if test="id != null  and id != ''">and id = #{id}</if>
             <if test="isupload != null ">and isupload = #{isupload}</if>
             <if test="uploadTime != null ">and upload_time = #{uploadTime}</if>
@@ -214,7 +213,7 @@
             <if test="casePersonAge != null ">and case_person_age = #{casePersonAge}</if>
             <if test="filterDrname != null ">and filter_drname = #{filterDrname}</if>
             <if test="filterDrcode != null ">and filter_drcode = #{filterDrcode}</if>
-            <if test="campusid != null ">and campusid = #{campusid}</if>
+        <if test="pageSize != null  and pageNum != null">limit ${pageSize} OFFSET ${pageNum}</if>
     </select>
 
 
@@ -280,6 +279,15 @@
         WHERE patientno IN
         <foreach item="patno" collection="patnos" open="(" separator="," close=")">
             #{patno}
+        </foreach>
+    </select>
+
+    <select id="selectPatArchiveByPatidHiss" resultMap="PatArchiveResult">
+        SELECT id, patid_his
+        FROM pat_archive
+        WHERE patid_his IN
+        <foreach item="patidHis" collection="patidHiss" open="(" separator="," close=")">
+            #{patidHis}
         </foreach>
     </select>
 
@@ -923,10 +931,9 @@
         d.leavehospitaldistrictcode AS leavehospitaldistrictcode
         FROM
         pat_med_inhosp d
-        JOIN pat_archive a ON a.id = d.patid
+        LEFT JOIN pat_archive a ON a.id = d.patid
         where 1=1
             and d.del_flag != 1
-            AND a.del_flag != 1
             and d.orgid = #{orgid}
             <if test="name != null  and name != ''">and a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">and a.idcardno = #{idcardno}</if>
@@ -996,7 +1003,7 @@
             </if>
 
             <if test="pids != null">
-                AND a.id NOT IN
+                AND d.patid NOT IN
                 <foreach collection="pids" item="pid" open="(" separator="," close=")">
                     #{pid}
                 </foreach>
@@ -1192,12 +1199,10 @@
 
     <!-- 浣忛櫌鎮h�呮�绘暟缁熻锛堝幓閲嶏級 -->
     <select id="countPatArchiveInfoByInhospQC" parameterType="com.smartor.domain.PatArchiveReq" resultType="long">
-        SELECT COUNT(DISTINCT a.id)
+        SELECT COUNT(DISTINCT d.patid)
         FROM pat_med_inhosp d
-        JOIN pat_archive a ON a.id = d.patid
         WHERE 1=1
             AND d.del_flag != 1
-            AND a.del_flag != 1
             AND d.orgid = #{orgid}
             <if test="name != null  and name != ''">AND a.name like concat('%', #{name}, '%')</if>
             <if test="idcardno != null  and idcardno != ''">AND a.idcardno = #{idcardno}</if>
@@ -1241,7 +1246,7 @@
                 </foreach>
             </if>
             <if test="pids != null">
-                AND a.id NOT IN
+                AND d.patid NOT IN
                 <foreach collection="pids" item="pid" open="(" separator="," close=")">
                     #{pid}
                 </foreach>

--
Gitblit v1.9.3