diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 3c1d1940..8db53a2f 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -4367,10 +4367,55 @@ class EmployeeController extends AdminController $not_in_tpa = $this->employeePolicyModel->getTPADataVariationReport($client_id, $client_policy_id, $file_id, $tpa_emp_codes); if (!empty($not_in_tpa) || !empty($not_in_nhance) || !empty($emp_data_wo_tpa_id)) { + $not_in_nhance_button_enable_status = false; + if(count($not_in_tpa)) + { + foreach($not_in_nhance as $nih) + { + if($nih['ref'] === '' || empty($nih['ref'])) + { + $not_in_nhance_button_enable_status = true; + break; + } + } + } + + $not_in_nhance_inception_count = 0; + $not_in_nhance_deletion_count = 0; + foreach ($not_in_nhance as $nih) { + $hasRefKey = array_key_exists('ref', $nih); + $ref = $hasRefKey ? $nih['ref'] : null; + // Empty/null ref: no key, NULL, '', or whitespace-only string. + $refIsEmpty = !$hasRefKey + || $ref === null + || $ref === '' + || (is_string($ref) && trim($ref) === ''); + + $actionIsDeletion = strtoupper(trim((string) ($nih['action_flag_status'] ?? ''))) === 'D'; + + // Every empty/null ref row counts as inception; those that also have flag D additionally count as deletion. + if ($refIsEmpty) { + $not_in_nhance_inception_count++; + if ($actionIsDeletion) { + $not_in_nhance_deletion_count++; + } + } + } + + $not_in_nhance_proceed_button_text = sprintf( + 'Proceed - Inception(%d) + Deletion(%d)', + $not_in_nhance_inception_count, + $not_in_nhance_deletion_count + ); + $response = [ 'not_in_tpa' => $not_in_tpa, 'not_in_nhance' => $not_in_nhance, 'mismatch_data' => $emp_data_wo_tpa_id, + 'not_in_nhance_button_enable_status' => $not_in_nhance_button_enable_status, + 'not_in_nhance_inception_count' => $not_in_nhance_inception_count, + 'not_in_nhance_deletion_count' => $not_in_nhance_deletion_count, + 'not_in_nhance_proceed_button_text' => $not_in_nhance_proceed_button_text, ]; if ($type === 'view') { @@ -4447,10 +4492,10 @@ class EmployeeController extends AdminController { if($generationResult['data']['file_id']) { - sleep(1); + // sleep(1); //initiate update references b/w tpa_api_data and employess (pk update) // $this->reconTpaApiDataWithEmployeepolicies(['file_id' => $file_id]); - sleep(1); + // sleep(1); //initiate deleteion if any // $this->initializeDeletionProcessForTpaApiData(['file_id' => $file_id]); diff --git a/app/Controllers/FhplApiController.php b/app/Controllers/FhplApiController.php index d941c757..7d5ae66f 100644 --- a/app/Controllers/FhplApiController.php +++ b/app/Controllers/FhplApiController.php @@ -1064,6 +1064,11 @@ class FhplApiController extends BaseController 'is_active' => 1, 'created_by' => $file_info[0]['created_by'] ?? null, 'action_flag_status' => $row['IsActive'] == 1 ? 'A' : 'D' + 'si' => $row['BASE_SUMINSURED'], + 'doj' => change_date_format($row['DATE_OF_JOINING'],'Y-m-d\TH:i:s'), + 'endorsement_no' => $row['ENDORSEMENT_NO'] + // 'date_of_exit' => $row['DATE_OF_RESIGN_FROM_POLICY'] + ]; } diff --git a/app/Controllers/HealthIndiaApiController.php b/app/Controllers/HealthIndiaApiController.php index 5e9f79bc..db356888 100644 --- a/app/Controllers/HealthIndiaApiController.php +++ b/app/Controllers/HealthIndiaApiController.php @@ -1092,7 +1092,10 @@ class HealthIndiaApiController extends BaseController 'is_active' => 1, 'created_by' => $file_info[0]['created_by'] ?? null, - 'action_flag_status' => $row['insuredStatus'] == 'Active' ? 'A' : 'D' + 'action_flag_status' => $row['insuredStatus'] == 'Active' ? 'A' : 'D', + 'doj' => change_date_format($row['doj'],), + 'si' => $row['baseSumInsured'], + 'endorsement_no' => $row['endorsementNumber'] ]; } // log_message('error','HEALTH_INDIA - COUNT' . count($mappedRows)); diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php index c0657c30..9498fb88 100755 --- a/app/Helpers/utility_helper.php +++ b/app/Helpers/utility_helper.php @@ -661,6 +661,13 @@ if (! function_exists('change_date_format')) { $date_str = trim($date_str); // Allowed date formats $allowed_formats = [ + + // ISO 8601 datetime (must come before plain Y-m-d to avoid partial match issues) + 'Y-m-d\TH:i:sP', // 2025-07-26T00:00:00+05:30 + 'Y-m-d\TH:i:s\Z', // 2025-07-26T00:00:00Z + 'Y-m-d\TH:i:s', // 2025-07-26T00:00:00 + + // Day Month Year (clear unambiguous formats) 'd M Y', // 01 Dec 2024 'd-M-Y', // 01-Dec-2024 diff --git a/app/Views/batch_list.php b/app/Views/batch_list.php index 8849f24f..a610e38a 100755 --- a/app/Views/batch_list.php +++ b/app/Views/batch_list.php @@ -522,6 +522,10 @@ for ($i = 0; $i < $batch_col_count; $i++) {