From 342f54e50905be4e2fb8edf66cda93fe6aa277b8 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Wed, 10 Jun 2026 11:47:18 +0530 Subject: [PATCH] Fix bed number not showing in bill print - add bed_assignment_history fallback - Use COALESCE to check both bed_master.current_ipd_id and bed_assignment_history - Join with bed_assignment_history where released_date IS NULL for active beds - Handles cases where bed is assigned in history but current_ipd_id not set - Fixes bill print showing blank Bed No when assignment exists in history --- app/Models/IpdBillingModel.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/Models/IpdBillingModel.php b/app/Models/IpdBillingModel.php index 900f4e5..94b9862 100644 --- a/app/Models/IpdBillingModel.php +++ b/app/Models/IpdBillingModel.php @@ -159,11 +159,18 @@ class IpdBillingModel extends Model ->select("o.final_bill_send as final_bill_send", false) ->select("o.org_approved_status as org_approved_status", false) ->select("o.remark as remark", false) - ->select("bm.bed_number as bed_no", false) + ->select("COALESCE(bm.bed_number, bm2.bed_number) as bed_no", false) ->select("group_concat(distinct concat_ws(' ', 'Dr.', d.p_fname, d.p_mname, d.p_lname) separator ', ') as r_doc_name", false) ->join('organization_case_master o', 'i.case_id = o.id', 'left') ->join('hc_insurance in_master', 'in_master.id = o.insurance_id', 'left') ->join('bed_master bm', 'bm.current_ipd_id = i.id', 'left') + ->join( + '(select ipd_id, bed_id from bed_assignment_history where released_date is null order by id desc) bah_active', + 'bah_active.ipd_id = i.id', + 'left', + false + ) + ->join('bed_master bm2', 'bm2.id = bah_active.bed_id', 'left') ->join('ipd_master_doc_list imdl', 'imdl.ipd_id = i.id', 'left') ->join('doctor_master d', 'd.id = imdl.doc_id', 'left') ->where('i.id', $ipdId)