From ced87420b4485036b7efa0968b2ee69377aaef1d Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Thu, 30 Apr 2026 02:05:07 +0530 Subject: [PATCH] Remove payout invoice column and align datatable ordering for grouped pool --- app/Controllers/Medical.php | 35 +++++++++++++++------ app/Views/medical/credit_payout_request.php | 6 ++-- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/Controllers/Medical.php b/app/Controllers/Medical.php index b21d6b5..98cafe2 100644 --- a/app/Controllers/Medical.php +++ b/app/Controllers/Medical.php @@ -11207,15 +11207,32 @@ class Medical extends BaseController $orderColIndex = isset($order[0]['column']) ? (int) $order[0]['column'] : 6; $orderDir = strtolower((string) ($order[0]['dir'] ?? 'desc')) === 'asc' ? 'ASC' : 'DESC'; - $orderCols = [ - 1 => 'q.source_type', - 2 => 'q.invoice_code', - 3 => 'q.ipd_code', - 4 => 'q.case_code', - 5 => 'q.credit_category', - 6 => 'q.inv_date', - 7 => 'q.line_amount', - ]; + $requestColumns = $this->request->getPost('columns'); + if (! is_array($requestColumns)) { + $requestColumns = $this->request->getGet('columns'); + } + $columnCount = is_array($requestColumns) ? count($requestColumns) : 0; + + if ($columnCount >= 8) { + $orderCols = [ + 1 => 'q.source_type', + 2 => 'q.invoice_code', + 3 => 'q.ipd_code', + 4 => 'q.case_code', + 5 => 'q.credit_category', + 6 => 'q.inv_date', + 7 => 'q.line_amount', + ]; + } else { + $orderCols = [ + 1 => 'q.source_type', + 2 => 'q.ipd_code', + 3 => 'q.case_code', + 4 => 'q.credit_category', + 5 => 'q.inv_date', + 6 => 'q.line_amount', + ]; + } $orderBy = $orderCols[$orderColIndex] ?? 'q.inv_date'; $baseSql = $this->buildMedicalCreditPoolBaseSql($scope, $fromDate, $toDate); diff --git a/app/Views/medical/credit_payout_request.php b/app/Views/medical/credit_payout_request.php index d29ba4d..9c434b1 100644 --- a/app/Views/medical/credit_payout_request.php +++ b/app/Views/medical/credit_payout_request.php @@ -59,7 +59,6 @@ Source - Invoice IPD Case Category @@ -277,7 +276,7 @@ searching: true, lengthMenu: [[10, 25, 50, 100], [10, 25, 50, 100]], pageLength: 25, - order: [[6, 'desc']], + order: [[5, 'desc']], ajax: { url: BASE + 'Medical/credit_payout_pool_datatable', type: 'POST', @@ -310,7 +309,6 @@ return String(row.source_type || '') + '#' + Number(row.source_ref_id || 0); } }, - { data: 'invoice_code', defaultContent: '' }, { data: 'ipd_code', defaultContent: '' }, { data: 'case_code', defaultContent: '' }, { data: 'credit_category', defaultContent: '' }, @@ -369,7 +367,7 @@ var groupValue = val !== '' ? val : 'Unmapped'; if (groupValue !== lastGroup) { var title = (groupMode === 'ipd' ? 'IPD: ' : 'Case: ') + groupValue; - var header = window.jQuery('' + title + ''); + var header = window.jQuery('' + title + ''); window.jQuery(domRows[i]).before(header); lastGroup = groupValue; }