From c3619e9a73ab5f97c45b5e73e4cc78825347d17b Mon Sep 17 00:00:00 2001 From: zhaoyun Date: Thu, 28 May 2026 14:46:56 +0800 Subject: [PATCH] fix(#597): add remark field sub-query for medication and device request mappers AdviceManageAppMapper.xml: replace NULL AS remark with scalar subquery from wor_service_request for both medication and device request branches. DoctorStationAdviceAppMapper.xml: add remark column to 5 sub-queries - 3 via wor_service_request scalar subquery - 1 as NULL (charge items without matching service request) - 1 as T1.remark (direct from wor_service_request) --- .../mapper/doctorstation/DoctorStationAdviceAppMapper.xml | 5 +++++ .../mapper/regdoctorstation/AdviceManageAppMapper.xml | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml index 7bd25d0f2..e95852482 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/doctorstation/DoctorStationAdviceAppMapper.xml @@ -516,6 +516,7 @@ T1.patient_id AS patient_id, 'med_medication_definition' AS advice_table_name, T1.medication_id AS advice_definition_id + , (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark FROM med_medication_request AS T1 LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id AND T2.delete_flag = '0' @@ -577,6 +578,7 @@ T1.patient_id AS patient_id, 'med_medication_definition' AS advice_table_name, T3.ID AS advice_definition_id + , (SELECT remark FROM wor_service_request WHERE based_on_id = T2.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark FROM adm_charge_item AS T1 INNER JOIN med_medication_request AS T2 ON T2.ID = T1.service_id AND T2.delete_flag = '0' LEFT JOIN med_medication_definition AS T3 ON T3.ID = T2.medication_id AND T3.delete_flag = '0' @@ -637,6 +639,7 @@ CI.patient_id AS patient_id, 'adm_device_definition' AS advice_table_name, CI.product_id AS advice_definition_id + , NULL AS remark FROM adm_charge_item AS CI LEFT JOIN adm_charge_item_definition CID ON CID.id = CI.definition_id AND CID.delete_flag = '0' LEFT JOIN wor_device_request DR ON DR.id = CI.service_id AND DR.delete_flag = '0' @@ -691,6 +694,7 @@ T1.patient_id AS patient_id, 'adm_device_definition' AS advice_table_name, T1.device_def_id AS advice_definition_id + , (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{WOR_DEVICE_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark FROM wor_device_request AS T1 LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id AND T2.delete_flag = '0' @@ -746,6 +750,7 @@ T1.encounter_id AS encounter_id, T1.patient_id AS patient_id, 'wor_activity_definition' AS advice_table_name, + , T1.remark AS remark T1.activity_id AS advice_definition_id FROM wor_service_request AS T1 LEFT JOIN wor_activity_definition AS T2 diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml index 60c7b054e..4a8bf8e28 100755 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/regdoctorstation/AdviceManageAppMapper.xml @@ -218,7 +218,7 @@ T1.sort_number AS sort_number, T1.based_on_id AS based_on_id, T1.medication_id AS advice_definition_id, - NULL AS remark + (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{MED_MEDICATION_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark FROM med_medication_request AS T1 LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id AND T2.delete_flag = '0' @@ -272,7 +272,7 @@ 99 AS sort_number, T1.based_on_id AS based_on_id, T1.device_def_id AS advice_definition_id, - NULL AS remark + (SELECT remark FROM wor_service_request WHERE based_on_id = T1.id AND based_on_table = #{WOR_DEVICE_REQUEST} AND delete_flag = '0' LIMIT 1) AS remark FROM wor_device_request AS T1 LEFT JOIN adm_device_definition AS T2 ON T2.ID = T1.device_def_id AND T2.delete_flag = '0'