diff --git a/app/Helpers/common_helper.php b/app/Helpers/common_helper.php index 6807647..91956ca 100644 --- a/app/Helpers/common_helper.php +++ b/app/Helpers/common_helper.php @@ -101,7 +101,8 @@ function number_to_word($number): string $no = floor($no / $divider); $i += ($divider == 10) ? 1 : 2; if ($number) { - $plural = (($counter = count($str)) && $number > 9) ? 's' : null; + $counter = count($str); + $plural = null; $hundred = ($counter == 1 && $str[0]) ? ' and ' : null; $str[] = ($number < 21) ? $words[$number] . ' ' . $digits[$counter] . $plural . ' ' . $hundred diff --git a/app/Models/IpdBillingModel.php b/app/Models/IpdBillingModel.php index 8fb5101..407fb96 100644 --- a/app/Models/IpdBillingModel.php +++ b/app/Models/IpdBillingModel.php @@ -228,7 +228,7 @@ class IpdBillingModel extends Model { $builder = $this->db->table('ipd_invoice_item i') ->select('t.group_desc, i.*, sum(i.item_amount) as xAmount') - ->select("trim(concat_ws(' ', 'Dr.', d.p_fname, d.p_mname, d.p_lname)) as doctor_display_name", false) + ->select("case when trim(concat_ws('', d.p_fname, d.p_mname, d.p_lname)) = '' then '' else trim(concat_ws(' ', 'Dr.', d.p_fname, d.p_mname, d.p_lname)) end as doctor_display_name", false) ->select('ds.spec_names as doctor_specialization', false) ->join('ipd_item_type t', 'i.item_type = t.itype_id', 'left') ->join('doctor_master d', 'd.id = i.doc_id', 'left') @@ -415,7 +415,7 @@ class IpdBillingModel extends Model $builder = $this->db->table('ipd_invoice_item i') ->select('t.group_desc,i.*') - ->select("trim(concat_ws(' ', 'Dr.', d.p_fname, d.p_mname, d.p_lname)) as doctor_display_name", false) + ->select("case when trim(concat_ws('', d.p_fname, d.p_mname, d.p_lname)) = '' then '' else trim(concat_ws(' ', 'Dr.', d.p_fname, d.p_mname, d.p_lname)) end as doctor_display_name", false) ->select('ds.spec_names as doctor_specialization', false) ->join('ipd_item_type t', 'i.item_type = t.itype_id', 'left') ->join('doctor_master d', 'd.id = i.doc_id', 'left') diff --git a/app/Views/billing/ipd/bill_print.php b/app/Views/billing/ipd/bill_print.php index 0eefed8..88432cc 100644 --- a/app/Views/billing/ipd/bill_print.php +++ b/app/Views/billing/ipd/bill_print.php @@ -120,6 +120,10 @@ foreach ([1, 2] as $slot) { $patientAddress = trim((string) (($person->add1 ?? '') . ' ' . ($person->add2 ?? '') . ' ' . ($person->city ?? '') . ' ' . ($person->state ?? ''))); $patientAddress = preg_replace('/\s+/', ' ', $patientAddress ?? ''); +$relativeLabel = trim((string) ($person->p_relative ?? '')); +if ($relativeLabel === '') { + $relativeLabel = 'SON OF'; +} $mode3ShowAmountAfterDiscount = $printMode === 3; $isDischargeFinal = (int) ($ipd->discarge_patient_status ?? 0) > 0; @@ -202,7 +206,7 @@ $cleanNursingMarker = static function (string $text): string {
Patient Name : p_fname ?? '')) ?>
-
SON OF : p_rname ?? '')) ?>
+
: p_rname ?? '')) ?>
Patient-ID/UHID : p_code ?? '')) ?>
Gender : xgender ?? '')) ?>
Age :
@@ -279,6 +283,9 @@ $cleanNursingMarker = static function (string $text): string { if ($docLine === '') { $docLine = trim((string) ($row->doc_name ?? '')); } + if (strcasecmp($docLine, 'Dr.') === 0) { + $docLine = ''; + } $docSpec = trim((string) ($row->doctor_specialization ?? '')); if ($docSpec !== '' && $docLine !== '') { $docLine .= ' [' . $docSpec . ']'; diff --git a/app/Views/billing/ipd/panel_bill_details.php b/app/Views/billing/ipd/panel_bill_details.php index 26b0ac2..b047b11 100644 --- a/app/Views/billing/ipd/panel_bill_details.php +++ b/app/Views/billing/ipd/panel_bill_details.php @@ -170,6 +170,9 @@ $cleanNursingMarker = static function (string $text): string { if ($docLine === '') { $docLine = trim((string) ($row->doc_name ?? '')); } + if (strcasecmp($docLine, 'Dr.') === 0) { + $docLine = ''; + } $docSpec = trim((string) ($row->doctor_specialization ?? '')); if ($docSpec !== '' && $docLine !== '') { $docLine .= ' [' . $docSpec . ']'; diff --git a/app/Views/billing/ipd/panel_ipd_charges.php b/app/Views/billing/ipd/panel_ipd_charges.php index 38cedb3..4f4a39b 100644 --- a/app/Views/billing/ipd/panel_ipd_charges.php +++ b/app/Views/billing/ipd/panel_ipd_charges.php @@ -112,6 +112,9 @@ $cleanNursingMarker = static function (string $text): string { if ($docName === '') { $docName = trim((string) ($row->doc_name ?? '')); } + if (strcasecmp($docName, 'Dr.') === 0) { + $docName = ''; + } $docSpec = trim((string) ($row->doctor_specialization ?? '')); $comment = $cleanNursingMarker((string) ($row->comment ?? '')); $packageChecked = (int) ($row->package_id ?? 0) > 0 ? 'checked' : '';