From dc65bb4cbd96e9dfddc8056fd53252607d65cdef Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 08 十月 2026 21:31:20 +0800
Subject: [PATCH] 提交
---
smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml | 78 ++++++++++++++++++++++++++++++++++++--
1 files changed, 73 insertions(+), 5 deletions(-)
diff --git a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
index 4baa70c..79daabc 100644
--- a/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/PatMedInhospMapper.xml
@@ -370,7 +370,38 @@
order by b.endtime desc
</if>
<if test="cry != null and cry==0">
- order by b.starttime desc , b.bed_no asc
+ <!--
+ 鍦ㄩ櫌鎮h�咃細鍙寜鍏ラ櫌搴婁綅姝�/鍊掑簭锛坆edSort=asc 鎴� desc锛夛紝涓嶄紶鏃朵繚鎸侀粯璁ゆ帓搴忥紙鍏ラ櫌鏃堕棿鍊掑簭 + 搴婁綅姝e簭锛夈��
+ 搴婁綅鎸夎嚜鐒跺簭鎺掞紙鍙敤 5.7 涔熸敮鎸佺殑 REGEXP/CAST/TRIM/LENGTH锛屼笉渚濊禆 8.0 鐨� REGEXP_REPLACE锛夛細
+ 1) 搴婁綅涓虹┖/绌轰覆鐨勬帓鏈�鍚�
+ 2) 绾暟瀛楀簥浣嶆帓鍓嶉潰锛屾寜鏁板�煎ぇ灏忥紙2 鍦� 10 鍓嶏級
+ 3) 甯﹀瓧姣�/姹夊瓧鐨勫簥浣嶆寜闀垮害 + 瀛楃涓诧紙A2 鍦� A12 鍓嶏級
+ 4) inhospid 鍏滃簳锛屼繚璇佺炕椤甸『搴忕ǔ瀹�
+ 鍊掑簭鍙弽杞� 2)銆�3) 涓ょ粍鍐呴儴椤哄簭锛氱┖搴婁綅浠嶆帓鏈�鍚庯紝绾暟瀛椾粛鍦ㄥ墠銆�
+ -->
+ <choose>
+ <when test='"asc".equals(bedSort)'>
+ order by
+ coalesce(trim(b.bed_no), '') = '' ,
+ (trim(b.bed_no) regexp '^[0-9]+$') = 0 ,
+ cast(trim(b.bed_no) as unsigned) asc ,
+ length(trim(b.bed_no)) asc ,
+ trim(b.bed_no) asc ,
+ b.inhospid asc
+ </when>
+ <when test='"desc".equals(bedSort)'>
+ order by
+ coalesce(trim(b.bed_no), '') = '' ,
+ (trim(b.bed_no) regexp '^[0-9]+$') = 0 ,
+ cast(trim(b.bed_no) as unsigned) desc ,
+ length(trim(b.bed_no)) desc ,
+ trim(b.bed_no) desc ,
+ b.inhospid asc
+ </when>
+ <otherwise>
+ order by b.starttime desc , b.bed_no asc
+ </otherwise>
+ </choose>
</if>
</select>
@@ -630,6 +661,19 @@
AND d.del_flag = 0
</select>
+ <!-- 鎵归噺鍙栨偅鑰呮爣绛撅紝鏇夸唬閫愯璋冪敤 getTagnameBypatid锛涙瘡琛屽惈 patid銆乼agname 涓や釜 key -->
+ <select id="getTagnameByPatids" resultType="java.util.HashMap">
+ SELECT d.patid AS patid,
+ GROUP_CONCAT(d.tagname, ', ') AS tagname
+ FROM pat_archivetag d
+ WHERE d.del_flag = 0
+ AND d.patid IN
+ <foreach collection="patids" item="patid" open="(" separator="," close=")">
+ #{patid}
+ </foreach>
+ GROUP BY d.patid
+ </select>
+
<select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult">
<include refid="selectPatMedInhospVo"/>
@@ -715,6 +759,18 @@
<if test="medicalCompany != null and medicalCompany != ''">and medical_company like
concat('%'#{medicalCompany}, '%')
</if>
+ </select>
+
+
+ <!-- 鎸夋偅鑰呯紪鍙� + 鍑洪櫌鏃ユ湡鏌ヨ鍑洪櫌璁板綍锛堝嚭闄㈡椂闂村彧姣旇緝鍒板ぉ锛屼笉姣旇緝鏃跺垎绉掞級锛岀敤浜庡垽鏂偅鑰呮槸鍚﹀啀鍏ラ櫌 -->
+ <select id="selectOutInhospByPatnoAndOutDate" resultMap="PatMedInhospResult">
+ <include refid="selectPatMedInhospVo"/>
+ where del_flag = 0
+ and inhospstate = '1'
+ <if test="patno != null and patno != ''">and patno = #{patno}</if>
+ <if test="dayStart != null">and endtime >= #{dayStart}</if>
+ <if test="dayEnd != null">and endtime < #{dayEnd}</if>
+ order by inhospid desc
</select>
@@ -808,7 +864,8 @@
<if test="deptcode != null">#{deptcode},</if>
<if test="deptname != null">#{deptname},</if>
<if test="roomno != null">#{roomno},</if>
- <if test="bedNo != null">#{bedNo},</if>
+ <!-- 搴婁綅绌轰覆锛圚IS 鏃犲綋鍓嶅簥浣嶏級钀藉簱涓� null锛屼繚鎸�"鏈夊�� or null"涓ょ鐘舵�� -->
+ <if test="bedNo != null">nullif(#{bedNo}, ''),</if>
<if test="orgid != null">#{orgid},</if>
<if test="campusid != null">#{campusid},</if>
<if test="delFlag != null and delFlag != ''">#{delFlag},</if>
@@ -861,6 +918,7 @@
<if test="fuspecialadvice != null ">#{fuspecialadvice},</if>
<if test="managementDoctor != null ">#{managementDoctor},</if>
<if test="managementDoctorCode != null ">#{managementDoctorCode},</if>
+ <if test="inhospMydFlag != null ">#{inhospMydFlag},</if>
<if test="importanceFlagCode != null ">#{importanceFlagCode},</if>
<if test="emergencyLevelCode != null ">#{emergencyLevelCode},</if>
<if test="encounterSourceId != null ">#{encounterSourceId},</if>
@@ -885,7 +943,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, inhosp_myd_flag, importance_flag_code, emergency_level_code, encounter_source_id,
+ management_doctor_code,campusid, inhosp_myd_flag, importance_flag_code, emergency_level_code, encounter_source_id,
medical_code, medical_name, medical_company
)
values
@@ -894,7 +952,7 @@
#{item.serialnum}, #{item.hospitalname}, #{item.hospitalcode}, #{item.hospitaldistrictcode},
#{item.hospitaldistrictname},
#{item.icd10code}, #{item.diagname}, #{item.starttime}, #{item.endtime}, #{item.deptcode}, #{item.deptname},
- #{item.roomno}, #{item.bedNo},
+ #{item.roomno}, nullif(#{item.bedNo}, ''),
#{item.orgid}, #{item.delFlag}, #{item.updateBy}, #{item.updateTime}, #{item.createBy}, #{item.createTime},
#{item.isupload},
#{item.uploadTime}, #{item.patid}, #{item.leavediagname}, #{item.leaveicd10code}, #{item.drcode},
@@ -919,6 +977,11 @@
<update id="updatePatMedInhosp" parameterType="com.smartor.domain.PatMedInhosp">
update pat_med_inhosp
<trim prefix="SET" suffixOverrides=",">
+ <!--
+ 鍏滃簳锛氫笅闈㈠瓧娈靛叏涓虹┖鏃讹紙渚嬪璋冪敤鏂瑰彧浼犱簡 inhospid锛夛紝濡傛灉娌℃湁浠讳綍 SET 椤逛細鐢熸垚
+ "update pat_med_inhosp where inhospid = ?" 杩欑闈炴硶 SQL銆傝繖閲屾斁涓�涓嚜璧嬪�硷紝淇濊瘉 SET 涓嶄负绌轰笖涓嶆敼鏁版嵁銆�
+ -->
+ inhospid = inhospid,
<if test="serialnum != null">serialnum = #{serialnum},</if>
<if test="hospitalname != null">hospitalname = #{hospitalname},</if>
<if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if>
@@ -931,7 +994,12 @@
<if test="deptcode != null">deptcode = #{deptcode},</if>
<if test="deptname != null">deptname = #{deptname},</if>
<if test="roomno != null">roomno = #{roomno},</if>
- <if test="bedNo != null">bed_no = #{bedNo},</if>
+ <!--
+ 搴婁綅锛欻IS 浼犵┖涓蹭唬琛�"褰撳墠娌℃湁搴婁綅"锛堟崲搴娿�佹垨浜哄凡绂婚櫌杩樻病鍔炲嚭闄㈡墜缁級锛岃惤搴撲负 null锛�
+ 瀹屽叏涓嶄紶(null)鍒欎笉鏀瑰姩搴婁綅銆傜┖涓蹭笌 null 蹇呴』鍒嗗紑鍒ゆ柇锛屼笉鑳介兘璺宠繃锛屽惁鍒欏簥浣嶄笉浼氳娓呮帀銆�
+ -->
+ <if test='bedNo != null and !"".equals(bedNo)'>bed_no = #{bedNo},</if>
+ <if test='bedNo != null and "".equals(bedNo)'>bed_no = null,</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>
--
Gitblit v1.9.3