FIX_API_API_DATA_STORE
This commit is contained in:
parent
17ba3c0e52
commit
57add4c4c9
@ -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]);
|
||||
|
||||
|
||||
@ -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']
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -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));
|
||||
|
||||
@ -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
|
||||
|
||||
@ -522,6 +522,10 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
|
||||
<script>
|
||||
let currentTPAVariationFileId = null;
|
||||
/** From API `not_in_nhance_button_enable_status` — when false, Proceed is disabled on "Not in Nhance" tab. */
|
||||
let tpaNotInNhanceProceedEnabled = true;
|
||||
/** From API `not_in_nhance_proceed_button_text` — label for Proceed on "Not in Nhance" tab. */
|
||||
let tpaNotInNhanceProceedButtonText = 'Proceed - Not in Nhance';
|
||||
|
||||
const tpaVariationColumns = {
|
||||
not_in_nhance: [
|
||||
@ -661,7 +665,13 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
renderVariationTable('#not_in_tpa_table', notInTpa, tpaVariationColumns.not_in_tpa);
|
||||
renderVariationTable('#need_to_review_table', reviewData, tpaVariationColumns.need_to_review);
|
||||
|
||||
// Default tab: Not in Nhance — select tab and init DataTable for #not_in_nhance_table as soon as data is rendered.
|
||||
tpaNotInNhanceProceedEnabled = data.not_in_nhance_button_enable_status !== false;
|
||||
if (typeof data.not_in_nhance_proceed_button_text === 'string' && data.not_in_nhance_proceed_button_text.trim() !== '') {
|
||||
tpaNotInNhanceProceedButtonText = data.not_in_nhance_proceed_button_text.trim();
|
||||
} else {
|
||||
tpaNotInNhanceProceedButtonText = 'Proceed - Not in Nhance';
|
||||
}
|
||||
|
||||
showTPAVariationTabByLinkId('not-in-nhance-tab');
|
||||
updateTPAProceedButton('not-in-nhance-tab');
|
||||
adjustVariationTableByTabId('not-in-nhance-tab');
|
||||
@ -773,15 +783,17 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Default: visible
|
||||
$button.removeClass('d-none');
|
||||
$button.prop('disabled', false);
|
||||
|
||||
if (activeId === 'not-in-nhance-tab') {
|
||||
$button.text('Proceed - Not in Nhance');
|
||||
$button.text(tpaNotInNhanceProceedButtonText);
|
||||
if (!tpaNotInNhanceProceedEnabled) {
|
||||
$button.prop('disabled', true);
|
||||
}
|
||||
} else if (activeId === 'need-to-review-tab') {
|
||||
$button.text('Proceed - Need to Review');
|
||||
} else if (activeId === 'not-in-tpa-tab') {
|
||||
// Hide button for "Not in TPA" section
|
||||
$button.addClass('d-none');
|
||||
} else {
|
||||
$button.text('Proceed');
|
||||
@ -798,7 +810,6 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
});
|
||||
|
||||
$('#tpa_variation_modal').on('shown.bs.modal', function () {
|
||||
// Always show "Not in Nhance" first; re-measure DataTable now that the modal is visible.
|
||||
showTPAVariationTabByLinkId('not-in-nhance-tab');
|
||||
updateTPAProceedButton('not-in-nhance-tab');
|
||||
adjustVariationTableByTabId('not-in-nhance-tab');
|
||||
@ -808,6 +819,9 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
destroyVariationDataTable('#not_in_nhance_table');
|
||||
destroyVariationDataTable('#not_in_tpa_table');
|
||||
destroyVariationDataTable('#need_to_review_table');
|
||||
tpaNotInNhanceProceedEnabled = true;
|
||||
tpaNotInNhanceProceedButtonText = 'Proceed - Not in Nhance';
|
||||
$('#tpaProceedButton').prop('disabled', false);
|
||||
});
|
||||
|
||||
/* footer.php sets scrollX/scrollY on $.fn.dataTable.defaults — force off for this init so DT does not split thead into .dataTables_scrollHead / tbody into .dataTables_scrollBody (only the body strip would scroll horizontally). */
|
||||
@ -1111,6 +1125,10 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
}
|
||||
|
||||
if (activeId === 'not-in-nhance-tab') {
|
||||
if (!tpaNotInNhanceProceedEnabled) {
|
||||
toastr.warning('Proceed is not available for this tab.', 'WARNING');
|
||||
return;
|
||||
}
|
||||
proceedNotInNhance();
|
||||
} else if (activeId === 'not-in-tpa-tab') {
|
||||
proceedNotInTPA();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user