diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml index 36ca8667..7f7d993c 100644 --- a/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/chargemanage/OutpatientChargeAppMapper.xml @@ -93,16 +93,19 @@ T7.med_type_code, T8.contract_name, CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN T9.surgery_name WHEN T1.context_enum = #{activity} THEN T2."name" WHEN T1.context_enum = #{medication} THEN T3."name" WHEN T1.context_enum = #{device} THEN T4."name" END AS item_name, CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN NULL WHEN T1.context_enum = #{activity} THEN T2.yb_no WHEN T1.context_enum = #{medication} THEN T3.yb_no WHEN T1.context_enum = #{device} THEN T4.yb_no END AS yb_no, CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN T9.id WHEN T1.context_enum = #{activity} THEN T2.id WHEN T1.context_enum = #{medication} THEN T3.id WHEN T1.context_enum = #{device} THEN T4.id @@ -120,6 +123,10 @@ ON T1.context_enum = #{device} AND T1.product_id = T4.id AND T4.delete_flag = '0' + LEFT JOIN cli_surgery AS T9 + ON T1.product_table = 'cli_surgery' + AND T1.product_id = T9.id + AND T9.delete_flag = '0' LEFT JOIN fin_payment_reconciliation AS T5 ON T1.id::TEXT = ANY(string_to_array(T5.charge_item_ids, ',')) AND T5.delete_flag = '0' @@ -185,36 +192,43 @@ T6.contract_no, T7.med_type_code, T8.contract_name, - CASE - WHEN T1.context_enum = #{activity} THEN T2."name" - WHEN T1.context_enum = #{medication} THEN T3."name" - WHEN T1.context_enum = #{device} THEN T4."name" - END AS item_name, - CASE - WHEN T1.context_enum = #{activity} THEN T2.yb_no - WHEN T1.context_enum = #{medication} THEN T3.yb_no - WHEN T1.context_enum = #{device} THEN T4.yb_no - END AS yb_no, - CASE - WHEN T1.context_enum = #{activity} THEN T2.id - WHEN T1.context_enum = #{medication} THEN T3.id - WHEN T1.context_enum = #{device} THEN T4.id - END AS item_id, - T5.tendered_amount AS receivable_amount - FROM adm_charge_item AS T1 - LEFT JOIN wor_activity_definition AS T2 - ON T1.context_enum = #{activity} - AND T1.product_id = T2.id - AND T2.delete_flag = '0' - LEFT JOIN med_medication_definition AS T3 - ON T1.context_enum = #{medication} - AND T1.product_id = T3.id - AND T3.delete_flag = '0' - LEFT JOIN adm_device_definition AS T4 - ON T1.context_enum = #{device} - AND T1.product_id = T4.id - AND T4.delete_flag = '0' - LEFT JOIN fin_payment_reconciliation AS T5 + CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN T9.surgery_name + WHEN T1.context_enum = #{activity} THEN T2."name" + WHEN T1.context_enum = #{medication} THEN T3."name" + WHEN T1.context_enum = #{device} THEN T4."name" + END AS item_name, + CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN NULL + WHEN T1.context_enum = #{activity} THEN T2.yb_no + WHEN T1.context_enum = #{medication} THEN T3.yb_no + WHEN T1.context_enum = #{device} THEN T4.yb_no + END AS yb_no, + CASE + WHEN T1.context_enum = #{activity} AND T1.product_table = 'cli_surgery' THEN T9.id + WHEN T1.context_enum = #{activity} THEN T2.id + WHEN T1.context_enum = #{medication} THEN T3.id + WHEN T1.context_enum = #{device} THEN T4.id + END AS item_id, + T5.tendered_amount AS receivable_amount + FROM adm_charge_item AS T1 + LEFT JOIN wor_activity_definition AS T2 + ON T1.context_enum = #{activity} + AND T1.product_id = T2.id + AND T2.delete_flag = '0' + LEFT JOIN med_medication_definition AS T3 + ON T1.context_enum = #{medication} + AND T1.product_id = T3.id + AND T3.delete_flag = '0' + LEFT JOIN adm_device_definition AS T4 + ON T1.context_enum = #{device} + AND T1.product_id = T4.id + AND T4.delete_flag = '0' + LEFT JOIN cli_surgery AS T9 + ON T1.product_table = 'cli_surgery' + AND T1.product_id = T9.id + AND T9.delete_flag = '0' + LEFT JOIN fin_payment_reconciliation AS T5 ON T1.id::TEXT = ANY(string_to_array(T5.charge_item_ids, ',')) AND T5.delete_flag = '0' AND T5.status_enum = 1