From 74664e49becb66790dde98e7125d39222ba8242f Mon Sep 17 00:00:00 2001 From: Venkatesh Date: Mon, 20 Apr 2026 15:53:06 +0530 Subject: [PATCH 01/11] CHANGE_ADD_THE_ICON_FOR_CASH_AND_CASHLES_FOR_CLAIM --- app/Controllers/TicketController.php | 2 ++ app/Views/ticket_list.php | 45 ++++++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index d46306d4..7aacb3a8 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -539,6 +539,7 @@ class TicketController extends BaseController 'tm.emp_personal_mail', 'tm.mode_of_intimation', 'tm.claim_type', + 'tm.tpa_claim_type', 'tm.hospital_name', 'tm.doa', 'tm.dod', @@ -673,6 +674,7 @@ class TicketController extends BaseController 'tm.emp_personal_mail', 'tm.mode_of_intimation', 'tm.claim_type', + 'tm.tpa_claim_type', 'tm.hospital_name', 'tm.doa', 'tm.dod', diff --git a/app/Views/ticket_list.php b/app/Views/ticket_list.php index 9bedf618..2c9d513c 100644 --- a/app/Views/ticket_list.php +++ b/app/Views/ticket_list.php @@ -30,6 +30,22 @@ table.dataTable tbody td { color: #6c757d !important; } +.policy-type-icon { + display: inline-flex; + align-items: center; + margin-right: 6px; + font-size: 0.95rem; + vertical-align: middle; +} + +.policy-type-icon--cashless { + color: #0ea5e9; +} + +.policy-type-icon--reimbursement { + color: #f59e0b; +} + /* Claim source pill — text only, fixed width (DUMP_TPA); hidden when no value */ .claim-source-badge { display: inline-flex; @@ -221,7 +237,19 @@ table.dataTable tbody td { ]; $claimSrcClass = $claimSrcClassMap[$claimSrc] ?? null; $policyTypeLabel = str_replace('Claim-', '', $ticket_type[$row['ticket_type_id']] ?? 'N/A'); - echo esc($policyTypeLabel); + $tpaClaimTypeRaw = trim((string)($row['tpa_claim_type'] ?? '')); + $tpaClaimType = strtolower($tpaClaimTypeRaw); + $policyTypeIconHtml = ''; + + if ($tpaClaimType !== '') { + if (strpos($tpaClaimType, 'cash') !== false) { + $policyTypeIconHtml = ''; + } elseif (strpos($tpaClaimType, 'reimburse') !== false) { + $policyTypeIconHtml = ''; + } + } + + echo $policyTypeIconHtml . esc($policyTypeLabel); if ($claimSrcClass !== null) { echo '
' . esc($claimSrc) . ''; } @@ -368,6 +396,18 @@ function getClaimSourceBadgeHtml(claimCreatedBy) { return '' + escapeHtml(key) + ''; } +function getPolicyTypeIconHtml(tpaClaimType) { + var type = (tpaClaimType || '').toString().trim().toLowerCase(); + if (!type) return ''; + if (type.indexOf('cash') !== -1) { + return ''; + } + if (type.indexOf('reimburse') !== -1) { + return ''; + } + return ''; +} + function getStatusDisplay(row) { var status = row.status || ''; var claimStatusId = Number(row.claim_status_id || 0); @@ -413,6 +453,7 @@ function buildTicketRowHtml(row) { var statusUpdated = row.ticket_updated_date ? '
Updated at ' + escapeHtml(row.ticket_updated_date) + '
' : ''; var claimCreated = row.ticket_created_date ? '
Created at ' + escapeHtml(row.ticket_created_date) + '
' : ''; var policyType = (window.ticketTypeMap[row.ticket_type_id] || '').replace('Claim-', ''); + var policyTypeIcon = getPolicyTypeIconHtml(row.tpa_claim_type); var claimSourceBadge = getClaimSourceBadgeHtml(row.claim_created_by); var modeOfIntimation = window.modeOfIntimateMap[row.mode_of_intimation] || ''; var priority = window.priorityTypeMap[row.priority || 0] || ''; @@ -423,7 +464,7 @@ function buildTicketRowHtml(row) { '' + getStatusDisplay(row) + '' + statusUpdated + '' + - '' + asText(policyType) + (claimSourceBadge ? '
' + claimSourceBadge : '') + '' + + '' + policyTypeIcon + asText(policyType) + (claimSourceBadge ? '
' + claimSourceBadge : '') + '' + '' + asText(row.claim_no) + claimCreated + '' + '' + asText(row.tpa_no) + '' + '' + asText(row.emp_code) + '' + From d457f485026fba7f0b6169c3660b1e6307cb0a2b Mon Sep 17 00:00:00 2001 From: "sanjeev.p" Date: Mon, 20 Apr 2026 16:45:41 +0530 Subject: [PATCH 02/11] FIX_Developed into Testing --- app/Views/client_basic_info.php | 139 +++++++++++++++++++++++++----- app/Views/client_branch.php | 48 ++++++++--- app/Views/client_deposit_list.php | 17 +++- app/Views/client_kyc.php | 113 +++++++++++++++++++----- app/Views/client_policy.php | 18 +++- app/Views/employee_data_list.php | 103 ++++++++++++++-------- app/Views/insurer_basic_info.php | 69 ++++++++++++--- app/Views/insurer_branch.php | 49 ++++++++--- app/Views/leads_form.php | 13 +++ app/Views/newClientModal-old.php | 44 ++++++++-- app/Views/tpa_branch.php | 53 +++++++++--- app/Views/view_deposit.php | 46 +++++++++- 12 files changed, 568 insertions(+), 144 deletions(-) diff --git a/app/Views/client_basic_info.php b/app/Views/client_basic_info.php index 4cf5ab23..ce8b0735 100755 --- a/app/Views/client_basic_info.php +++ b/app/Views/client_basic_info.php @@ -106,6 +106,58 @@ input:checked + .slider:before { .slider.round:before { border-radius: 50%; } + +.hr-processed-options { + display: inline-flex; + align-items: center; + justify-content: flex-start; + gap: 1.25rem; + flex-wrap: nowrap; + white-space: nowrap; + width: auto; + max-width: 100%; +} + +.hr-processed-option { + display: inline-flex; + align-items: center; + justify-content: flex-start; + flex: 0 0 auto; + width: auto; + margin: 0; +} + +.hr-radio-input { + appearance: auto; + -webkit-appearance: radio; + width: 14px; + height: 14px; + margin-top: 0; + margin-right: 0.35rem; + margin-left: 0; + position: static; + float: none; + vertical-align: middle; +} + +.hr-radio-label { + display: inline-block; + width: auto; + margin: 0; + white-space: nowrap; + line-height: 1.2; +} + +#hr_file_processed_by_error_container { + display: block; + width: 100%; + margin-top: 0.25rem; + clear: both; +} + +#hr_file_processed_by_error_container .parsley-errors-list { + margin-bottom: 0; +}
@@ -170,8 +222,10 @@ input:checked + .slider:before { id="client_logo" name="client_logo" accept="image/jpeg, image/jpg, image/png" onchange="PreviewImage0(event);" - data-parsley-max-file-size="200" - data-parsley-file-extension="jpg,jpeg,png" + data-parsley-client-max-file-size="200" + data-parsley-client-file-extension="jpg,jpeg,png" + data-parsley-client-max-file-size-message="Maximum file size allowed is 200KB." + data-parsley-client-file-extension-message="Only JPG, JPEG, PNG files are allowed." data-parsley-errors-container="#client_logo_error_container" />
@@ -198,25 +252,29 @@ input:checked + .slider:before {
- +
- +
- +
@@ -473,35 +471,54 @@ $gst_total = 0; $(document).ready(function() { var ticketsTable = $('#employee-data-list-table'); - if (ticketsTable.length) { - nhanceListDataTableBeforeInit(); - var nhEmpDataTable = ticketsTable.DataTable(nhanceMergeListDataTableOptions({ - // dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right - // "<'row'<'col-sm-12'tr>>" + - // "<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector - dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right - "<'row'<'col-sm-12'tr>>" + - "<'row align-items-center'<'col-5 text-start'i><'col-7 d-flex justify-content-end align-items-center'<'me-2'l>p>>", + if (ticketsTable.length) { + var _dtDefScroll = { + scrollX: $.fn.dataTable.defaults.scrollX, + scrollY: $.fn.dataTable.defaults.scrollY, + scrollCollapse: $.fn.dataTable.defaults.scrollCollapse + }; + $.extend($.fn.dataTable.defaults, { scrollX: false, scrollY: false, scrollCollapse: false }); + + var nhEmpDataTable = ticketsTable.DataTable({ + dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + + "<'row'<'col-sm-12'tr>>" + + "<'row align-items-center'<'col-5 text-start'i><'col-7 d-flex justify-content-end align-items-center'<'me-2'l>p>>", lengthMenu: [[10, 20, 50, 100], [10, 20, 50, 100]], + scrollX: false, + scrollY: false, + scrollCollapse: false, + initComplete: function () { + var $wrap = $(this.api().table().container()); + var $body = $wrap.find('.dataTables_scrollBody'); + var $head = $wrap.find('.dataTables_scrollHead'); + if ($body.length && $head.length) { + $body.off('scroll.nhEmpHScroll').on('scroll.nhEmpHScroll', function () { + $head.scrollLeft($(this).scrollLeft()); + }); + $head.off('scroll.nhEmpHScroll').on('scroll.nhEmpHScroll', function () { + $body.scrollLeft($(this).scrollLeft()); + }); + } + }, buttons: [ { extend: 'collection', text: ' Export ', className: 'btn app-btn-secondary ', buttons: [ - { - extend: 'csv', - text: ' CSV ', - className: 'app-btn-primary ', - title: 'Members', - }, - { - extend: 'excel', - text: ' EXCEL ', - className: 'app-btn-primary ', - title: 'Members', - sheetName: 'Members' - } + { + extend: 'csv', + text: ' CSV ', + className: 'app-btn-primary ', + title: 'Members', + }, + { + extend: 'excel', + text: ' EXCEL ', + className: 'app-btn-primary ', + title: 'Members', + sheetName: 'Members' + } ] } ], @@ -517,16 +534,28 @@ $gst_total = 0; searchPlaceholder: "Search", emptyTable: '
No Data found
' }, - paging: true, // Enable pagination - pageLength: 25, // Set default number of rows per page (optional) + paging: true, + pageLength: 25, + autoWidth: false, + responsive: false, columnDefs: [ { targets: , width: 'px' }, ], - })); - nhanceListDataTableAfterInit(); - nhanceListDataTableBindAdjust(nhEmpDataTable); + }); + + $.extend($.fn.dataTable.defaults, _dtDefScroll); + + nhEmpDataTable.on('draw.dt', function () { + nhEmpDataTable.columns.adjust(); + }); + $(window).on('resize', function () { + nhEmpDataTable.columns.adjust(); + }); + setTimeout(function () { + nhEmpDataTable.columns.adjust(); + }, 0); } else { console.error("Table not found."); } diff --git a/app/Views/insurer_basic_info.php b/app/Views/insurer_basic_info.php index ce0720ba..b3af15ed 100755 --- a/app/Views/insurer_basic_info.php +++ b/app/Views/insurer_basic_info.php @@ -170,8 +170,10 @@ input:checked + .slider:before {
@@ -204,8 +206,8 @@ input:checked + .slider:before { + \ No newline at end of file From 8a4b8ff532b8a220331a68b36a02f8ce9d5c43da Mon Sep 17 00:00:00 2001 From: Venkatesh Date: Mon, 20 Apr 2026 18:30:12 +0530 Subject: [PATCH 03/11] FIX_PUSHCLAIM_FILES_VIA_CRM --- app/Controllers/EmployeeRestController.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 7d5e4c97..d261930b 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -3925,7 +3925,6 @@ class EmployeeRestController extends AdminController $count = $this->ticketMaster->where('id', $ticket_id)->where('is_active', 1)->where('tpa_claim_push_reference_no IS NULL')->countAllResults(); log_message('error', 'Ticket validation | Ticket ID: ' . $ticket_id . ' | Matching active tickets with NULL TPA reference: ' . $count); - if ($count > 0 && $pdf_exist_in_the_file && $tpa_claim_push == true) { try { // this call for TPA integration @@ -3945,6 +3944,16 @@ class EmployeeRestController extends AdminController } } + if($tpa_claim_push == false){ + try { + // this call for TPA integration Multiple document push for IR DOCUMENTS + $apiServiceController = new ApiServiceController(); + $apiServiceController->pushClaimFiles($ticket_id); + log_message('error', "pushClaimFiles IR FILE SUBMISSION function called with Ticket ID: {$ticket_id}, In Employee Rest Controller"); + } catch (\Throwable $e) { + log_message('error', "Error in TPA Claim Files Push via CRM : ApiServiceController pushClaims function call for Ticket ID: {$ticket_id}. Error: " . $e->getMessage() . " Trace: " . $e->getTraceAsString()); + } + } return $insert_ids; } From 923c97c9cba13442e0d3fa021a65dac5f393c576 Mon Sep 17 00:00:00 2001 From: Venkatesh Date: Tue, 21 Apr 2026 16:00:08 +0530 Subject: [PATCH 04/11] CHANGE_LEAD_TYPE_3_MIXED_WITH_1_AND_2 --- app/Views/leads_form.php | 257 ++++++++++++++++++------------- app/Views/leads_form_handler.php | 24 +++ app/Views/rfq/gmc.php | 38 ++--- app/Views/rfq/gpa.php | 10 +- 4 files changed, 199 insertions(+), 130 deletions(-) diff --git a/app/Views/leads_form.php b/app/Views/leads_form.php index 1f4811d0..3e077886 100644 --- a/app/Views/leads_form.php +++ b/app/Views/leads_form.php @@ -196,14 +196,15 @@
@@ -229,14 +230,14 @@
-