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 c8bbfdbdd..a6ce1d80d 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
@@ -539,6 +539,65 @@
AND T1.refund_medicine_id IS NULL
ORDER BY T1.status_enum,T1.sort_number)
UNION ALL
+ -- 🔧 Bug #444: 直接从计费项目表补充查询药品记录,用于覆盖med_medication_request有记录但generate_source_enum不匹配的场景
+ (SELECT 1 AS advice_type,
+ T1.service_id AS request_id,
+ T1.service_id || '-ci-med' AS unique_key,
+ '' AS prescription_no,
+ T1.enterer_id AS requester_id,
+ T1.entered_date AS request_time,
+ CASE WHEN T1.enterer_id = #{practitionerId} THEN '1' ELSE '0' END AS biz_request_flag,
+ T2.content_json AS content_json,
+ NULL AS skin_test_flag,
+ NULL AS inject_flag,
+ NULL AS group_id,
+ T3.NAME AS advice_name,
+ T4.total_volume AS volume,
+ T2.lot_number AS lot_number,
+ T1.quantity_value AS quantity,
+ T1.quantity_unit AS unit_code,
+ T1.status_enum AS status_enum,
+ '' AS method_code,
+ '' AS rate_code,
+ NULL AS dose,
+ '' AS dose_unit_code,
+ T1.id AS charge_item_id,
+ T1.unit_price AS unit_price,
+ T1.total_price AS total_price,
+ T1.status_enum AS charge_status,
+ NULL AS position_id,
+ '' AS position_name,
+ NULL AS dispense_per_duration,
+ T3.part_percent AS part_percent,
+ '' AS condition_definition_name,
+ T2.sort_number AS sort_number,
+ NULL AS based_on_id,
+ NULL AS category_enum,
+ T1.encounter_id AS encounter_id,
+ T1.patient_id AS patient_id,
+ 'med_medication_definition' AS advice_table_name,
+ T3.ID AS advice_definition_id
+ 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'
+ LEFT JOIN med_medication AS T4 ON T4.medication_def_id = T3.ID AND T4.delete_flag = '0'
+ WHERE T1.delete_flag = '0'
+ AND T1.service_table = #{MED_MEDICATION_REQUEST}
+
+ AND T1.encounter_id = #{encounterId}
+
+
+ AND T1.patient_id = #{patientId} AND T1.encounter_id != #{encounterId}
+
+ AND NOT EXISTS (
+ SELECT 1 FROM med_medication_request T5
+ WHERE T5.ID = T1.service_id AND T5.delete_flag = '0'
+
+ AND T5.generate_source_enum = #{generateSourceEnum}
+
+ )
+ ORDER BY T1.entered_date)
+ UNION ALL
-- 🔧 查询仅存在于 adm_charge_item 的"孤儿"耗材数据(DeviceRequest 缺失或 generate_source_enum 未设置)
-- 正常 DeviceRequest(generate_source_enum 已赋值)由下方 Part 3 统一负责,此处不做重复覆盖避免 UNION ALL 重复行
(SELECT 2 AS advice_type,