diff --git a/app/Controllers/EmployeeMultiEventServiceController.php b/app/Controllers/EmployeeMultiEventServiceController.php index b554a969..4f51f1ad 100644 --- a/app/Controllers/EmployeeMultiEventServiceController.php +++ b/app/Controllers/EmployeeMultiEventServiceController.php @@ -256,7 +256,9 @@ class EmployeeMultiEventServiceController extends BaseController 'is_mandatory' => ['A', 'DA', 'D'], 'data_type' => 'str', 'format' => null, - 'allowed_values' => null + 'allowed_values' => null, + 'custom' => 'check_change_event', + 'params' => ['row', 'file'] ], 'date_of_exit' => [ 'col_idx' => 16, @@ -2348,6 +2350,7 @@ class EmployeeMultiEventServiceController extends BaseController // echo 'insert emp'; } else { $value['emp_status'] = 'active'; + $value['change_event'] = normalize_file_action($file['action']); $value['created_by'] = $file['created_by']; $value['client_branch_id'] = $file['client_branch_id']; $value['family_floater_key'] = generate_family_floater_key($value['relationship']); diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index af2fdd96..064d1dc5 100755 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -259,7 +259,10 @@ class EmployeeServiceController extends AdminController 'is_mandatory' => ['A', 'DA', 'D'], 'data_type' => 'str', 'format' => null, - 'allowed_values' => null + 'allowed_values' => null, + 'custom' => 'check_change_event', + 'params' => ['row', 'file'] + ], 'date_of_exit' => [ 'col_idx' => 16, @@ -1957,6 +1960,7 @@ class EmployeeServiceController extends AdminController else { $value['emp_status'] = 'active'; + $value['change_event'] = normalize_file_action($file['action']); $value['created_by'] = $file['created_by']; $value['client_branch_id'] = $file['client_branch_id']; $value['family_floater_key'] = generate_family_floater_key($value['relationship']); diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index d7f3129a..5691c819 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -4149,12 +4149,18 @@ class TicketController extends BaseController $status = 'inprogress'; + $claim_dump_date = null; + $claim_dump_date_input = trim((string) ($this->request->getPost('claim_dump_date') ?? '')); + if (!empty($claim_dump_date_input)) { + $claim_dump_date = change_date_format($claim_dump_date_input, 'd/m/Y', 'Y-m-d'); + } $insert_data = [ 'file_name' => $filename, 'status' => $status, 'client_id' => !empty($this->request->getPost('client_id')) ? $this->request->getPost('client_id') : null, 'client_policy_id' => !empty($this->request->getPost('client_policy_id')) ? $this->request->getPost('client_policy_id') : null, 'tpa_id' => !empty($this->request->getPost('tpa_id')) ? $this->request->getPost('tpa_id') : null, + 'claim_dump_date' => $claim_dump_date, ]; $file_id = $this->claimDumpFileModel->insert($insert_data); diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php index 0c99c9ef..0b7d0039 100755 --- a/app/Helpers/excel_util_helper.php +++ b/app/Helpers/excel_util_helper.php @@ -2582,6 +2582,72 @@ if (!function_exists('normalizeGender')) { } } +if (!function_exists('check_change_event')) { + function check_change_event($row, $file) + { + $change_event = isset($row[15]) ? $row[15] : ''; + $action = isset($file['action']) ? $file['action'] : ''; + $allowed_values = [ + 'inception' => ['inception'], + 'addition' => ['addition'], + 'dependent_addition' => ['dependent addition', 'd-addition'], + 'missed_inception' => ['missed inception'], + ]; + + $normalize = function ($value) { + return strtolower(trim((string) $value)); // ✅ Added `return` + }; + + $change_event = $normalize($change_event); + + // Allow inception with no change_event + if ($action === 'inception' && empty($change_event)) { + return ['status' => true]; + } + + // Validate change_event against allowed values for the given action + if (isset($allowed_values[$action]) && in_array($change_event, $allowed_values[$action])) { + return ['status' => true]; + } + + // Build error message + $expected_values = $allowed_values[$action] ?? []; + $expected_message = "'" . implode("' or '", array_map('strtoupper', $expected_values)) . "'"; + if ($action === 'inception') { + $expected_message .= " or blank"; + } + + return [ + 'status' => false, + 'error' => "Rule Conflict: Invalid Change Event for this action\n\n'{$action}'. Expected {$expected_message}", ]; + } +} + +if (!function_exists('normalize_file_action')) { + function normalize_file_action($file_action) + { + if($file_action == 'inception'){ + return 'Inception'; + }else if($file_action == 'addition'){ + return 'Addition'; + }else if($file_action == 'dependent_addition'){ + return 'Dependent Addition'; + }else if($file_action == 'deletion'){ + return 'Deletion'; + }else if($file_action == 'correction'){ + return 'Correction'; + }else if($file_action == 'si_enhancement'){ + return 'SI Enhancement'; + }else if($file_action == 'enrollment'){ + return 'Enrollment'; + }else if($file_action == 'missed_inception'){ + return 'Missed Inception'; + } + return ''; + } +} + + // ------------- FUNCTION FOR LEAD MEMBER DATA LIST VALIDATIONS -------------------------------------- if (!function_exists('check_columns_name_exist')) { diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php index 9498fb88..a79b8b49 100755 --- a/app/Helpers/utility_helper.php +++ b/app/Helpers/utility_helper.php @@ -108,6 +108,8 @@ if (! function_exists('file_Upload_for_lead')) { } $fileName = sanitize_upload_filename($fileToUpload->getName()); $fileToUpload->move($filepath, $fileName); + $fileName = $fileToUpload->getName(); + return $fileName; } else { return ""; diff --git a/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php b/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php index 4f6ff966..81a01aec 100644 --- a/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php @@ -361,6 +361,7 @@ class AbhiClaimImportService extends BaseTpaClaimImportService $item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']); $item['file_id'] = $file_id; $item['claim_dump_ref_id'] = $row['id']; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3; $item['priority'] = 1; diff --git a/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php b/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php index f2de776f..653043ef 100644 --- a/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php @@ -427,6 +427,7 @@ class FhplClaimImportService extends BaseTpaClaimImportService $item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['current_claim_status']) ?? 61; $item['file_id'] = $file_id; $item['claim_dump_ref_id'] = $row['id']; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_type'] = 1; $item['priority'] = 1; diff --git a/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php b/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php index 736d9f5a..15da3177 100644 --- a/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php @@ -342,6 +342,7 @@ class IciciClaimImportService extends BaseTpaClaimImportService $item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['updated_status']) ?? 61; $item['claim_dump_ref_id'] = $row['id']; $item['file_id'] = $file_id; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_type'] = 1; $item['priority'] = 1; diff --git a/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php b/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php index a853ade6..a6ea7d0c 100644 --- a/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php @@ -375,6 +375,7 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService $item['claim_dump_ref_id'] = $row['id']; $item['file_id'] = $file_id; $item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']) ?? 61; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_type'] = 1; $item['priority'] = 1; diff --git a/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php b/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php index dc9cf54a..0b93f149 100644 --- a/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php @@ -328,6 +328,7 @@ class RcareClaimImportService extends BaseTpaClaimImportService $item['file_id'] = $file_id; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_dump_ref_id'] = $row['id']; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['claim_type'] = 1; $item['priority'] = 1; $item['mode_of_intimation'] = 5; diff --git a/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php b/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php index b263109c..a0876b92 100644 --- a/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php +++ b/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php @@ -568,6 +568,7 @@ class VidalClaimImportService extends BaseTpaClaimImportService $item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']) ?? 61; $item['file_id'] = $file_id; $item['claim_dump_ref_id'] = $row['id']; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = $file_data['created_by'] ?? null; $item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3; $item['priority'] = 1; @@ -599,6 +600,8 @@ class VidalClaimImportService extends BaseTpaClaimImportService public function mapClaimMasterDataOld($file_id): array { + $claimDumpFileModel = new ClaimDumpFileModel(); + $file_data = $claimDumpFileModel->where('id', $file_id)->first(); $tpaClaimDumpData = $this->db ->table('claims_dump_vidal') @@ -686,6 +689,7 @@ class VidalClaimImportService extends BaseTpaClaimImportService // Meta fields $item['file_id'] = $file_id; + $item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null; $item['created_by'] = get_session_userid() ?? null; $item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3; $item['claim_created_by'] = 'DUMP_TPA'; diff --git a/app/Models/ClaimDumpFileModel.php b/app/Models/ClaimDumpFileModel.php index e34d6116..c6466479 100644 --- a/app/Models/ClaimDumpFileModel.php +++ b/app/Models/ClaimDumpFileModel.php @@ -13,6 +13,7 @@ class ClaimDumpFileModel extends Model "client_id", "client_policy_id", "tpa_id", + "claim_dump_date", "file_name", "status", "reason", diff --git a/app/Models/TicketMasterModel.php b/app/Models/TicketMasterModel.php index d6202941..8a6128ca 100644 --- a/app/Models/TicketMasterModel.php +++ b/app/Models/TicketMasterModel.php @@ -97,6 +97,8 @@ class TicketMasterModel extends Model 'last_updated_by', 'tpa_shortfall_no', 'claim_created_by', + 'claim_dump_date' + ]; diff --git a/app/Views/claim_dump_file_list.php b/app/Views/claim_dump_file_list.php index ab3ca668..ee00683e 100644 --- a/app/Views/claim_dump_file_list.php +++ b/app/Views/claim_dump_file_list.php @@ -267,6 +267,10 @@ +