From c8fbebc0d6e4142233cffe5a1808f1df685bda2c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 18 九月 2026 15:06:31 +0800
Subject: [PATCH] 【市一】随访增加院区限制

---
 smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml |  161 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 148 insertions(+), 13 deletions(-)

diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 24c2efc..4baa70c 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -52,6 +52,7 @@
         <result property="inDeptcheckFlag" column="in_deptcheck_flag"/>
         <result property="wardcheckFlag" column="wardcheck_flag"/>
         <result property="diagcheckFlag" column="diagcheck_flag"/>
+        <result property="scheduleCheckFlag" column="schedulecheck_flag"/>
         <result property="age" column="age"/>
         <result property="sex" column="sex"/>
         <result property="telcode" column="telcode"/>
@@ -75,11 +76,25 @@
         <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"/>
+        <result property="encounterSourceId" column="encounter_source_id"/>
+        <result property="importanceFlagCode" column="importance_flag_code"/>
+        <result property="emergencyLevelCode" column="emergency_level_code"/>
+        <result property="medicalCode" column="medical_code"/>
+        <result property="medicalName" column="medical_name"/>
+        <result property="medicalCompany" column="medical_company"/>
     </resultMap>
 
     <sql id="selectPatMedInhospVo">
         select inhospid,
+               medical_code,
+               medical_name,
+               medical_company,
+               encounter_source_id,
+               importance_flag_code,
+               emergency_level_code,
                patname,
+               inhosp_myd_flag,
                campusid,
                fuflag,
                management_doctor,
@@ -103,6 +118,7 @@
                in_deptcheck_flag,
                in_wardcheck_flag,
                diagcheck_flag,
+               schedulecheck_flag,
                inhospstate,
                patno,
                long_task_reason,
@@ -148,7 +164,7 @@
     </sql>
 
     <select id="selectPatMedInhospList" parameterType="com.smartor.domain.PatMedInhosp" resultMap="PatMedInhospResult">
-        select CONCAT( a.age, a.age_unit ) AS age,
+        select a.age AS age,
         a.telcode as telcode,
         a.sex,
         b.inhospid,
@@ -164,6 +180,7 @@
         b.in_deptcheck_flag,
         b.in_wardcheck_flag,
         b.diagcheck_flag,
+        b.schedulecheck_flag,
         b.inhospstate,
         b.patno,
         b.inhospno,
@@ -213,6 +230,13 @@
         b.futypedesc,
         b.fuadvice,
         b.fuspecialadvice,
+        b.inhosp_myd_flag,
+        b.encounter_source_id,
+        b.importance_flag_code,
+        b.emergency_level_code,
+        b.medical_code,
+        b.medical_name,
+        b.medical_company,
         a.idcardno
         FROM
         pat_med_inhosp b
@@ -222,6 +246,7 @@
         AND a.del_flag = 0
         AND b.del_flag = 0
         AND a.idcardno IS NOT NULL
+        <if test="inhospid != null">and b.inhospid = #{inhospid}</if>
         <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') &gt;=
             date_format(#{startOutHospTime},'%y%m%d')
         </if>
@@ -242,25 +267,33 @@
             concat('%', #{hospitaldistrictname}, '%')
         </if>
         <if test="endtime != null ">and b.endtime = #{endtime}</if>
+        <if test="bedNo != null ">and b.bed_no = #{bedNo}</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>
         <if test="fuflag != null ">and b.fuflag = #{fuflag}</if>
         <if test="orgid != null ">and b.orgid = #{orgid}</if>
+        <if test="campusid != null ">and b.campusid = #{campusid}</if>
         <if test="serialnum != null ">and b.serialnum = #{serialnum}</if>
         <if test="endtime != null ">and b.endtime = #{endtime}</if>
         <if test="patno != null ">and b.patno = #{patno}</if>
         <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
         <if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</if>
         <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
+        <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if>
         <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
         <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if>
         <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if>
         <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
+        <if test="encounterSourceId != null ">and b.encounter_source_id = #{encounterSourceId}</if>
+        <if test="importanceFlagCode != null ">and b.importance_flag_code = #{importanceFlagCode}</if>
+        <if test="emergencyLevelCode != null ">and b.emergency_level_code = #{emergencyLevelCode}</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>
         <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if>
         <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if>
@@ -310,6 +343,16 @@
                 #{deptcode}
             </foreach>
         </if>
+        <if test="icd10codeList != null and icd10codeList.size()>0">
+            AND b.leaveicd10code IN
+            <foreach collection="icd10codeList" item="icd10code" open="(" separator=","
+                     close=")">
+                #{icd10code}
+            </foreach>
+        </if>
+        <if test="medicalCode != null and medicalCode != ''">and b.medical_code = #{medicalCode}</if>
+        <if test="medicalName != null and medicalName != ''">and b.medical_name = #{medicalName}</if>
+        <if test="medicalCompany != null and medicalCompany != ''">and b.medical_company = #{medicalCompany}</if>
         GROUP BY
         b.inhospid,
         a.age,
@@ -317,11 +360,17 @@
         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">
-            order by b.starttime desc
+        <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 , b.bed_no asc
         </if>
     </select>
 
@@ -330,6 +379,12 @@
         select
         b.inhospid,
         b.nurse_id,
+        b.medical_code,
+        b.medical_name,
+        b.medical_company,
+        b.encounter_source_id,
+        b.importance_flag_code,
+        b.emergency_level_code,
         b.nurse_name,
         b.patname,
         b.management_doctor,
@@ -342,6 +397,7 @@
         b.in_deptcheck_flag,
         b.in_wardcheck_flag,
         b.diagcheck_flag,
+        b.schedulecheck_flag,
         b.inhospstate,
         b.patno,
         b.inhospno,
@@ -389,12 +445,26 @@
         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>
+        <if test="campusid != null and campusid != ''">
+            and campusid = #{campusid}
+        </if>
+        <if test="encounterSourceId != null and encounterSourceId != ''">
+            and b.encounter_source_id = #{encounterSourceId}
+        </if>
+        <if test="importanceFlagCode != null and importanceFlagCode != ''">
+            and b.importance_flag_code = #{importanceFlagCode}
+        </if>
+        <if test="emergencyLevelCode != null and emergencyLevelCode != ''">
+            and b.emergency_level_code = #{emergencyLevelCode}
         </if>
         <if test="serialnum != null and serialnum != ''">
             and b.serialnum = #{serialnum}
@@ -407,6 +477,12 @@
         select CONCAT( a.age, a.age_unit ) AS age,
         a.telcode as telcode,
         b.inhospid,
+        b.medical_code,
+        b.medical_name,
+        b.medical_company,
+        b.encounter_source_id,
+        b.importance_flag_code,
+        b.emergency_level_code,
         b.management_doctor,
         b.management_doctor_code,
         b.patname,
@@ -469,6 +545,7 @@
         b.futypedesc,
         b.fuadvice,
         b.fuspecialadvice,
+        b.inhosp_myd_flag,
         b.schemetime
         FROM
         pat_med_inhosp b,
@@ -478,8 +555,21 @@
         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="encounterSourceId != null and encounterSourceId != ''">
+            and b.encounter_source_id = #{encounterSourceId}
+        </if>
+        <if test="importanceFlagCode != null and importanceFlagCode != ''">
+            and b.importance_flag_code = #{importanceFlagCode}
+        </if>
+        <if test="emergencyLevelCode != null and emergencyLevelCode != ''">
+            and b.emergency_level_code = #{emergencyLevelCode}
+        </if>
         <if test="orgid != null and orgid != ''">
             and a.orgid = #{orgid}
+        </if>
+        <if test="campusid != null and campusid != ''">
+            and a.campusid = #{campusid}
         </if>
         <if test="hospitalname != null  and hospitalname != ''">and hospitalname like concat('%', #{hospitalname},
             '%')
@@ -496,9 +586,9 @@
         <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if>
         <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if>
         <if test="patno != null ">and b.patno = #{patno}</if>
-        <if test="campusid != null ">and b.campusid = #{campusid}</if>
         <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if>
         <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if>
+        <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if>
         <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if>
         <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if>
         <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if>
@@ -521,6 +611,13 @@
                      close=")">
                 #{leaveldeptcode}
             </foreach>
+        </if>
+        <if test="medicalCode != null  and medicalCode != ''">and b.medical_code like concat('%'#{medicalCode}, '%')
+        </if>
+        <if test="medicalName != null  and medicalName != ''">and b.medical_name like concat('%'#{medicalName}, '%')
+        </if>
+        <if test="medicalCompany != null  and medicalCompany != ''">and b.medical_company like
+            concat('%'#{medicalCompany}, '%')
         </if>
         order by b.inhospid desc
     </select>
@@ -545,6 +642,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>
@@ -559,6 +657,7 @@
         <if test="roomno != null">and roomno = #{roomno}</if>
         <if test="bedNo != null">and bed_no = #{bedNo}</if>
         <if test="orgid != null">and orgid = #{orgid}</if>
+        <if test="campusid != null ">and campusid = #{campusid}</if>
         <if test="updateBy != null">and update_by = #{updateBy}</if>
         <if test="updateTime != null">and update_time = #{updateTime}</if>
         <if test="createBy != null">and create_by = #{createBy}</if>
@@ -608,7 +707,14 @@
         <if test="fuspecialadvice != null ">and fuspecialadvice = #{fuspecialadvice}</if>
         <if test="managementDoctor != null ">and management_doctor = #{managementDoctor}</if>
         <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if>
-        <if test="campusid != null ">and campusid = #{campusid}</if>
+        <if test="importanceFlagCode != null ">and importance_flag_code = #{importanceFlagCode}</if>
+        <if test="emergencyLevelCode != null ">and emergency_level_code = #{emergencyLevelCode}</if>
+        <if test="encounterSourceId != null ">and encounter_source_id = #{encounterSourceId}</if>
+        <if test="medicalCode != null  and medicalCode != ''">and medical_code like concat('%'#{medicalCode}, '%')</if>
+        <if test="medicalName != null  and medicalName != ''">and medical_name like concat('%'#{medicalName}, '%')</if>
+        <if test="medicalCompany != null  and medicalCompany != ''">and medical_company like
+            concat('%'#{medicalCompany}, '%')
+        </if>
     </select>
 
 
@@ -630,6 +736,7 @@
             <if test="roomno != null">roomno,</if>
             <if test="bedNo != null">bed_no,</if>
             <if test="orgid != null">orgid,</if>
+            <if test="campusid != null">campusid,</if>
             <if test="delFlag != null and delFlag != ''">del_flag,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
@@ -680,7 +787,13 @@
             <if test="fuspecialadvice != null ">fuspecialadvice,</if>
             <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>
+            <if test="importanceFlagCode != null ">importance_flag_code,</if>
+            <if test="emergencyLevelCode != null ">emergency_level_code,</if>
+            <if test="encounterSourceId != null ">encounter_source_id,</if>
+            <if test="medicalCode != null  and medicalCode != ''">medical_code,</if>
+            <if test="medicalName != null  and medicalName != ''">medical_name,</if>
+            <if test="medicalCompany != null  and medicalCompany != ''">medical_company,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="serialnum != null">#{serialnum},</if>
@@ -697,6 +810,7 @@
             <if test="roomno != null">#{roomno},</if>
             <if test="bedNo != null">#{bedNo},</if>
             <if test="orgid != null">#{orgid},</if>
+            <if test="campusid != null">#{campusid},</if>
             <if test="delFlag != null and delFlag != ''">#{delFlag},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
@@ -747,7 +861,12 @@
             <if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
             <if test="managementDoctor != null ">#{managementDoctor},</if>
             <if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
-            <if test="campusid != null ">#{campusid},</if>
+            <if test="importanceFlagCode != null ">#{importanceFlagCode},</if>
+            <if test="emergencyLevelCode != null ">#{emergencyLevelCode},</if>
+            <if test="encounterSourceId != null ">#{encounterSourceId},</if>
+            <if test="medicalCode != null  and medicalCode != ''">#{medicalCode},</if>
+            <if test="medicalName != null  and medicalName != ''">#{medicalName},</if>
+            <if test="medicalCompany != null  and medicalCompany != ''">#{medicalCompany},</if>
         </trim>
     </insert>
 
@@ -766,7 +885,8 @@
         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, importance_flag_code, emergency_level_code, encounter_source_id,
+        medical_code, medical_name, medical_company
         )
         values
         <foreach collection="list" item="item" separator=",">
@@ -788,7 +908,9 @@
             #{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},
+            #{item.importanceFlagCode}, #{item.emergencyLevelCode}, #{item.encounterSourceId},
+            #{item.medicalCode}, #{item.medicalName}, #{item.medicalCompany}
             )
         </foreach>
     </insert>
@@ -811,6 +933,7 @@
             <if test="roomno != null">roomno = #{roomno},</if>
             <if test="bedNo != null">bed_no = #{bedNo},</if>
             <if test="orgid != null">orgid = #{orgid},</if>
+            <if test="campusid != null">campusid = #{campusid},</if>
             <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateTime != null">update_time = #{updateTime},</if>
@@ -838,6 +961,7 @@
             <if test="patno != null">patno = #{patno},</if>
             <if test="inhospstate != null">inhospstate = #{inhospstate},</if>
             <if test="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</if>
+            <if test="scheduleCheckFlag != null">schedulecheck_flag = #{scheduleCheckFlag},</if>
             <if test="wardcheckFlag != null">wardcheck_flag = #{wardcheckFlag},</if>
             <if test="inDeptcheckFlag != null">in_deptcheck_flag = #{inDeptcheckFlag},</if>
             <if test="inWardcheckFlag != null">in_wardcheck_flag = #{inWardcheckFlag},</if>
@@ -860,8 +984,13 @@
             <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="inhospMydFlag != null ">inhosp_myd_flag = #{inhospMydFlag},</if>
+            <if test="importanceFlagCode != null ">importance_flag_code = #{importanceFlagCode},</if>
+            <if test="emergencyLevelCode != null ">emergency_level_code = #{emergencyLevelCode},</if>
+            <if test="encounterSourceId != null ">encounter_source_id = #{encounterSourceId},</if>
+            <if test="medicalCode != null  and medicalCode != ''">medical_code = #{medicalCode},</if>
+            <if test="medicalName != null  and medicalName != ''">medical_name = #{medicalName},</if>
+            <if test="medicalCompany != null  and medicalCompany != ''">medical_company = #{medicalCompany},</if>
         </trim>
         where inhospid = #{inhospid}
     </update>
@@ -910,6 +1039,9 @@
         <if test="orgid != null and orgid != ''">
             AND pat_med_inhosp.orgid = #{orgid}
         </if>
+        <if test="campusid != null and campusid != ''">
+            and pat_med_inhosp.campusid = #{campusid}
+        </if>
         AND pat_archive.idcardno IS NOT NULL
         <if test="zy != null">
             AND pat_med_inhosp.inhospstate = 0
@@ -947,6 +1079,9 @@
         <if test="orgid != null and orgid != ''">
             AND orgid = #{orgid}
         </if>
+        <if test="campusid != null and campusid != ''">
+            and campusid = #{campusid}
+        </if>
         <if test="startDate != null">
             AND visit_time &gt;= #{startDate}
         </if>

--
Gitblit v1.9.3