From 0dffefa0ba7f38d54852b3c3f97158df236bfe34 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 16:42:40 +0800
Subject: [PATCH] 【丽水】病人出院记录查询慢问题处理

---
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 24c2efc..b176b00 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -75,11 +75,13 @@
         <result property="managementDoctor" column="management_doctor"/>
         <result property="managementDoctorCode" column="management_doctor_code"/>
         <result property="campusid" column="campusid"/>
+        <result property="inhospMydFlag" column="inhosp_myd_flag"/>
     </resultMap>
 
     <sql id="selectPatMedInhospVo">
         select inhospid,
                patname,
+               inhosp_myd_flag,
                campusid,
                fuflag,
                management_doctor,
@@ -213,6 +215,7 @@
         b.futypedesc,
         b.fuadvice,
         b.fuspecialadvice,
+        b.inhosp_myd_flag,
         a.idcardno
         FROM
         pat_med_inhosp b
@@ -242,6 +245,7 @@
             concat('%', #{hospitaldistrictname}, '%')
         </if>
         <if test="endtime != null ">and b.endtime = #{endtime}</if>
+        <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
         <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if>
         <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if>
         <if test="inhospno != null ">and b.inhospno = #{inhospno}</if>
@@ -259,6 +263,8 @@
         <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
         <if test="cry != null and cry == 0 ">and b.endtime is null</if>
         <if test="cry != null and cry == 1 ">and b.inhospstate=1</if>
+        <if test="cry != null and cry == 2 ">and b.inhospstate=2</if>
+        <if test="cry != null and cry == 3 ">and b.inhospstate=3</if>
         <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if>
         <if test="campusid != null ">and b.campusid = #{campusid}</if>
         <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if>
@@ -317,10 +323,16 @@
         a.telcode,
         a.id,
         a.sex
-        <if test="cry==1">
+        <if test="cry != null and cry==1">
             order by b.endtime desc
         </if>
-        <if test="cry==0">
+        <if test="cry != null and cry==2">
+            order by b.endtime desc
+        </if>
+        <if test="cry != null and cry==3">
+            order by b.endtime desc
+        </if>
+        <if test="cry != null and cry==0">
             order by b.starttime desc
         </if>
     </select>
@@ -389,10 +401,12 @@
         b.futypecode,
         b.futypedesc,
         b.fuadvice,
+        b.inhosp_myd_flag,
         b.fuspecialadvice
         FROM
         pat_med_inhosp b
         where 1=1
+        <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
         <if test="orgid != null and orgid != ''">
             and orgid = #{orgid}
         </if>
@@ -469,6 +483,7 @@
         b.futypedesc,
         b.fuadvice,
         b.fuspecialadvice,
+        b.inhosp_myd_flag,
         b.schemetime
         FROM
         pat_med_inhosp b,
@@ -478,6 +493,7 @@
         and b.del_flag=0
         and a.id = b.patid
         AND a.idcardno != ''
+        <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if>
         <if test="orgid != null and orgid != ''">
             and a.orgid = #{orgid}
         </if>
@@ -545,6 +561,7 @@
         <if test="cry != null and cry == 0 ">and inhospstate=0</if>
         <if test="cry != null and cry == 1 ">and inhospstate=1</if>
         <if test="cry != null and cry == 3 ">and inhospstate=3</if>
+        <if test="inhospMydFlag != null ">and inhosp_myd_flag = #{inhospMydFlag}</if>
         <if test="serialnum != null">and serialnum = #{serialnum}</if>
         <if test="hospitalname != null">and hospitalname = #{hospitalname}</if>
         <if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if>
@@ -681,6 +698,7 @@
             <if test="managementDoctor != null ">management_doctor,</if>
             <if test="managementDoctorCode != null ">management_doctor_code,</if>
             <if test="campusid != null ">campusid,</if>
+            <if test="inhospMydFlag != null ">inhosp_myd_flag,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serialnum != null">#{serialnum},</if>
@@ -748,6 +766,7 @@
             <if test="managementDoctor != null ">#{managementDoctor},</if>
             <if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
             <if test="campusid != null ">#{campusid},</if>
+            <if test="inhospMydFlag != null ">#{inhospMydFlag},</if>
         </trim>
     </insert>
 
@@ -766,7 +785,7 @@
         nurse_id, nurse_name, out_way_id, out_way_name, guid,
         operator, operator_id, inhospno, remark,
         fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor,
-        management_doctor_doctor,campusid
+        management_doctor_doctor,campusid, inhosp_myd_flag
         )
         values
         <foreach collection="list" item="item" separator=",">
@@ -788,7 +807,7 @@
             #{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid},
             #{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark},
             #{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice},
-            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}
+            #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}, #{item.inhospMydFlag}
             )
         </foreach>
     </insert>
@@ -860,8 +879,8 @@
             <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if>
             <if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if>
             <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if>
-            <if test="campusid != null ">campusid = #{campusid}</if>
-
+            <if test="campusid != null ">campusid = #{campusid},</if>
+            <if test="inhospMydFlag != null ">inhosp_myd_flag = #{inhospMydFlag},</if>
         </trim>
         where inhospid = #{inhospid}
     </update>

--
Gitblit v1.9.3