需求111

This commit is contained in:
Ranyunqiao
2026-05-09 09:36:24 +08:00
parent 23fe4f207c
commit 5b029270cf
7 changed files with 1301 additions and 521 deletions

View File

@@ -15,7 +15,8 @@
T5.admissionDate,
T5.wardAdmissionDate,
T5.ward_location_id,
T5.bed_location_id
T5.bed_location_id,
T5.bed_location_name
FROM (SELECT T1.tenant_id,
T1.id AS patient_id, --患者ID
T1.name AS patient_name, --患者姓名
@@ -27,7 +28,8 @@
T2.start_time AS admissionDate, --入院日期
T3.ward_admission_date AS wardAdmissionDate, --入科日期
T3.location_id AS ward_location_id, --病区
T4.location_id AS bed_location_id --床号
T4.location_id AS bed_location_id, --床号
T4L.name AS bed_location_name --床位号名称(用于搜索)
FROM adm_patient AS T1
INNER JOIN adm_encounter AS T2
ON T2.patient_id = T1.id
@@ -55,13 +57,32 @@
) ranked
WHERE rn = 1) AS T3
ON T3.encounter_id = T2.ID
LEFT JOIN adm_encounter_location AS T4
LEFT JOIN (SELECT encounter_id,
location_id,
form_enum,
delete_flag
FROM (SELECT encounter_id,
location_id,
form_enum,
delete_flag,
ROW_NUMBER() OVER (PARTITION BY encounter_id
ORDER BY
CASE
WHEN update_time IS NULL THEN create_time
ELSE update_time
END DESC) AS rn
FROM adm_encounter_location
WHERE form_enum = #{bed}
AND status_enum = #{active}
AND delete_flag = '0'
) ranked
WHERE rn = 1) AS T4
ON T4.encounter_id = T2.ID
AND T4.form_enum = #{bed}
AND T4.status_enum = #{active}
AND T4.delete_flag = '0'
WHERE T1.delete_flag = '0'
ORDER BY T4.location_id ASC) AS T5
LEFT JOIN adm_location AS T4L
ON T4L.id = T4.location_id
AND T4L.delete_flag = '0'
WHERE T1.delete_flag = '0'
ORDER BY T4.location_id ASC) AS T5
${ew.customSqlSegment}
</select>
@@ -121,11 +142,27 @@
) ranked
WHERE rn = 1) AS T3
ON T3.encounter_id = T2.ID
LEFT JOIN adm_encounter_location AS T4
LEFT JOIN (SELECT encounter_id,
location_id,
form_enum,
delete_flag
FROM (SELECT encounter_id,
location_id,
form_enum,
delete_flag,
ROW_NUMBER() OVER (PARTITION BY encounter_id
ORDER BY
CASE
WHEN update_time IS NULL THEN create_time
ELSE update_time
END DESC) AS rn
FROM adm_encounter_location
WHERE form_enum = #{bed}
AND status_enum = #{active}
AND delete_flag = '0'
) ranked
WHERE rn = 1) AS T4
ON T4.encounter_id = T2.ID
AND T4.form_enum = #{bed}
AND T4.status_enum = #{active}
AND T4.delete_flag = '0'
LEFT JOIN doc_emr AS T5
ON T5.patient_id = T1.id
AND T5.encounter_id = T2.ID
@@ -166,4 +203,4 @@
${ew.customSqlSegment}
</select>
</mapper>
</mapper>