diff --git a/.env.sample b/.env.sample index 0b814c05..e834a822 100755 --- a/.env.sample +++ b/.env.sample @@ -109,9 +109,14 @@ R_CARE_PRIMARY_KEY_CONSTANT = FHPL_PRIMARY_KEY_CONSTANT = +VIDAL_PRIMARY_KEY_CONSTANT = + +MEDI_ASSIST_PRIMARY_KEY_CONSTANT = + FHPL_TOKEN_URL = FHPL_BASE_URL = FHPL_USER_NAME = FHPL_PASSWORD = -FHPL_GRANT_TYPE = \ No newline at end of file +FHPL_GRANT_TYPE = + diff --git a/app/Config/Acl.php b/app/Config/Acl.php index f2f4ecca..b89e53a9 100644 --- a/app/Config/Acl.php +++ b/app/Config/Acl.php @@ -16,6 +16,7 @@ class Acl '#^/getVerifiedPosUserData#' => ['public' => true], '#^/swagger#' => ['roles' => [ADMIN_ROLE_ID]], '#^/fedeploy#' => ['roles' => [ADMIN_ROLE_ID]], + '#^/visitOffBoardCheck#' => ['roles' => [ADMIN_ROLE_ID]], // ===================== PUBLIC DOWNLOADS / FORMS ===================== '#^/download-#' => ['public' => true], diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 44fdb4fe..129e9d4e 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -21,6 +21,7 @@ $routes->get('/chatbot', 'ChatbotControllerNew::chatbot'); $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); $routes->get('/fedeploy', 'DeployController::fedeploy_view', ['filter' => 'authMVC']); $routes->post('/fedeploy', 'DeployController::fedeploy', ['filter' => 'authMVC']); +$routes->get('/visitOffBoardCheck', 'EmployeeController::visitOffBoardCheck'); // Reminder Mail Notification @@ -428,6 +429,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get('proceedExcelFileDataValidation', 'EmployeeController::proceedExcelFileDataValidation'); $routes->get('checkTpaApiEnable', 'EmployeeRestController::checkTpaApiEnable'); $routes->get('generateDemographyDataTable', 'LeadsController::generateDemographyDataTable'); + $routes->post('insufficientCdBalanceHrMailSend', 'EmployeeController::insufficientCdBalanceHrMailSend'); }); $routes->post("policy_tranction/sendInstallmentRemainderMail","PolicyTransactionController::sendInstallmentRemainderMail"); diff --git a/app/Controllers/AppContentManagementController.php b/app/Controllers/AppContentManagementController.php index ac00f848..a7032a4c 100755 --- a/app/Controllers/AppContentManagementController.php +++ b/app/Controllers/AppContentManagementController.php @@ -62,7 +62,7 @@ class AppContentManagementController extends AdminController $data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($data); - $id = (int) $sanitized_post_data['add_image_id']; + $id = ((int) $sanitized_post_data['add_image_id']) ?? null; $rules = [ 'client_id' => [ @@ -100,7 +100,7 @@ class AppContentManagementController extends AdminController $file = $this->request->getFile('advertise_image'); - $client_id = $sanitized_post_data['client_id']; + $client_id = $sanitized_post_data['client_id'] ?? null; //1) original file name for vaildations $fileName = $file->getClientName(); //original file name for vaildations $existing = $this->addImgModel->where('name', $fileName)->where('client_id', $fileName)->where('is_active', 1)->first(); @@ -120,7 +120,7 @@ class AppContentManagementController extends AdminController $file->move($uploadPath, $fileName); - $id = $sanitized_post_data['add_image_id']; + $id = $sanitized_post_data['add_image_id'] ?? null; $details = ['name' => $fileName,'client_id'=>$client_id]; if ($id == 0) { diff --git a/app/Controllers/BDSReportController.php b/app/Controllers/BDSReportController.php index c871254b..902da3e7 100644 --- a/app/Controllers/BDSReportController.php +++ b/app/Controllers/BDSReportController.php @@ -194,10 +194,10 @@ class BDSReportController extends AdminController $request_post_data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data); - $fromDate = $sanitized_post_data['fromDate']; - $toDate = $sanitized_post_data['toDate']; - $category = $sanitized_post_data['category']; - $report_type = $sanitized_post_data['report_type']; + $fromDate = $sanitized_post_data['fromDate'] ?? null; + $toDate = $sanitized_post_data['toDate'] ?? null; + $category = $sanitized_post_data['category'] ?? null; + $report_type = $sanitized_post_data['report_type'] ?? null; // log_message('error',json_encode($_POST));die(); if ($report_type == 'insurer') { $life = $category == 'life' ? 1 : 0; @@ -942,11 +942,11 @@ class BDSReportController extends AdminController $request_post_data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data); - $fromDate = $sanitized_post_data['fromDate']; - $toDate = $sanitized_post_data['toDate']; - $client_id = $sanitized_post_data['client_id']; - $client_type = $sanitized_post_data['client_type']; - $issuer_branch = $sanitized_post_data['issuer_branch']; + $fromDate = $sanitized_post_data['fromDate'] ?? null; + $toDate = $sanitized_post_data['toDate'] ?? null; + $client_id = $sanitized_post_data['client_id'] ?? null; + $client_type = $sanitized_post_data['client_type'] ?? null; + $issuer_branch = $sanitized_post_data['issuer_branch'] ?? null; $data['issuer_branch'] = $this->nhanceBranchModel->where('is_active', 1)->findAll(); $data['client_type'] = [1 => 'Group', 2 => 'Individual']; diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index a70782b5..56066c73 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -480,11 +480,28 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Client list function called'); $headerData['tab_name'] = 'Clients'; $headerData['page_name'] = 'Clients'; // Both Browser Tab name And Page name are same. - $data['clientList'] = $this->clientModel->getCreatedByUserName(1); // passing client_type + // $data['clientList'] = $this->clientModel->getCreatedByUserName(1); // passing client_type $data['client_rm'] = $this->clientRMModel->getAllClientRM(); $data['lead_data'] = $this->leadsModel->getLeadForInsertClientList(); + + $rawList = $this->clientModel->getCreatedByUserName(1); + $clientRM = $data['client_rm']; + $rmMap = []; + foreach ($clientRM as $rm) { + $rmMap[$rm->client_id][] = $rm->account_manager; + } + $data['clientList'] = (!empty($rawList) && is_array($rawList)) ? array_map(function($item) use ($rmMap) { + $managers = isset($rmMap[$item->id]) ? implode(", ", $rmMap[$item->id]) : "N/A"; + return (object) [ + 'id' => $item->id, + 'client_name' => $item->client_name, + 'short_name' => $item->short_name, + 'account_managers' => $managers + ]; + }, $rawList) : []; // dd($data); + // dd($data['clientList']); echo view('layout/header', $headerData); echo view('client_list', $data); @@ -497,7 +514,22 @@ class ClientController extends AdminController public function typeList($id = null) { try { - $data = $this->clientModel->getCreatedByUserName($id); // passing client_type + $rawList = $this->clientModel->getCreatedByUserName($id); // passing client_type + $clientRM = $this->clientRMModel->getAllClientRM();; + $rmMap = []; + foreach ($clientRM as $rm) { + $rmMap[$rm->client_id][] = $rm->account_manager; + } + $data['clientList'] = (!empty($rawList) && is_array($rawList)) ? array_map(function($item) use ($rmMap) { + $managers = isset($rmMap[$item->id]) ? implode(", ", $rmMap[$item->id]) : "N/A"; + return (object) [ + 'id' => $item->id, + 'client_name' => $item->client_name, + 'short_name' => $item->short_name, + 'account_managers' => $managers + ]; + }, $rawList) : []; + if (empty($data)) { return $this->response ->setJSON(['status' => 'error', 'message' => 'No Records found']) @@ -832,11 +864,11 @@ class ClientController extends AdminController // Retrieve form data from POST request $loggedInUserID = get_session_userid(); // print_rr($sanitized_post_data);die(); - $client_id = $sanitized_post_data['client_id']; - $insurer_id = $sanitized_post_data['insurer_id']; - $record_date = $sanitized_post_data['record_date']; - $cd_ac_pk = $sanitized_post_data['cd_ac_pk']; - $cd_ac_no = $sanitized_post_data['cd_ac_no']; + $client_id = $sanitized_post_data['client_id'] ?? null; + $insurer_id = $sanitized_post_data['insurer_id'] ?? null; + $record_date = $sanitized_post_data['record_date'] ?? null; + $cd_ac_pk = $sanitized_post_data['cd_ac_pk'] ?? null; + $cd_ac_no = $sanitized_post_data['cd_ac_no'] ?? null; @@ -856,15 +888,15 @@ class ClientController extends AdminController } $data = [ - 'amount' => $sanitized_post_data['amount'], - 'sub_type_id' => $sanitized_post_data['sub_type_id'], - 'client_id' => $sanitized_post_data['client_id'], + 'amount' => $sanitized_post_data['amount'] ?? null, + 'sub_type_id' => $sanitized_post_data['sub_type_id'] ?? null, + 'client_id' => $sanitized_post_data['client_id'] ?? null, 'client_policy_id' => null, 'cd_ac_no' => $cd_ac_no ?? null, 'cd_ac_pk' => $cd_ac_pk ?? null, 'endorsement_no' => null, - 'insurer_id' => $sanitized_post_data['insurer_id'], - 'description' => $sanitized_post_data['description'], + 'insurer_id' => $sanitized_post_data['insurer_id'] ?? null, + 'description' => $sanitized_post_data['description'] ?? null, 'transaction_type' => $sanitized_post_data['transaction_type'] ?: 'Credit', 'updated_by' => 1, 'record_date' => $record_date @@ -925,6 +957,29 @@ class ClientController extends AdminController } $editData['client_policy'] = $clientPoliceData; + //Notes : $editData['client_policy'] this on called in client_policy page + $rawList = $editData['client_policy']; + + $editData['client_policy'] = (!empty($rawList) && is_array($rawList)) + ? array_values(array_map(function ($item) { + return (object) [ + 'id' => $item->id, + 'policy_no' => $item->policy_no, + 'policy_type_name' => $item->policy_type_name, + 'policy_start_date' => $item->policy_start_date, + 'policy_end_date' => $item->policy_end_date, + 'insurer_short' => $item->insurer_short, + 'insurer_branch_name' => $item->insurer_branch_name, + 'branch_name' => $item->branch_name ?? ' - ', + 'tpa_short' => $item->tpa_short, + 'policy_type_name' => $item->policy_type_name, + 'policy_type_id' => $item->policy_type_id, + 'lead_cd_amount' => $item->lead_cd_amount, + 'tpa_branch_code' => $item->tpa_branch_code, + 'branch_name' => $item->branch_name ?? ' - ', + 'policy_type_id' => $item->policy_type_id, + ]; + }, $rawList)) : []; $editData['client_policy']['role'] = get_role_id(); $editData['notification'] = $this->notificationModel->select('template_name,enabled')->where('client_id', $id)->findAll(); $editData['placeHolders'] = ['member_name', 'member_mobile', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name']; @@ -960,10 +1015,9 @@ class ClientController extends AdminController ] ], 'short_name' => [ - 'rules' => 'required|alpha', + 'rules' => 'required', 'errors' => [ 'required' => 'Client Short Name is required', - 'alpha' => 'Client Short Name can only contain alphabets.', ] ], 'pan' => [ @@ -1778,13 +1832,13 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Client branch EDIT function called'); $data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($data); - $id = $sanitized_post_data['branch_id_primarykey']; - $client_id = $sanitized_post_data['client_id']; + $id = $sanitized_post_data['branch_id_primarykey'] ?? null; + $client_id = $sanitized_post_data['client_id'] ?? null; $pre_branch_id = $sanitized_post_data['pre_branch_id'] ?? ''; $data['pre_branch_id'] = $pre_branch_id; - $units = $sanitized_post_data['units']; + $units = $sanitized_post_data['units'] ?? null; $emp_unit_count = 0; $rr_unit_count = 0; @@ -1980,23 +2034,23 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Client policy CREATE function called'); - $data = $this->request->getPost(); - $sanitized_post_data = sanitizeInputArrayAdvanced($data); + $request_post_data = $this->request->getPost(); + $$sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data); - $policy_type_id = $sanitized_post_data['policy_type_id']; - $client_branch_id = $sanitized_post_data['client_branch_id']; - $client_id = $sanitized_post_data['client_id']; - $base_policy = $sanitized_post_data['base_policy']; + $policy_type_id = $sanitized_post_data['policy_type_id'] ?? null; + $client_branch_id = $sanitized_post_data['client_branch_id'] ?? null; + $client_id = $sanitized_post_data['client_id'] ?? null; + $base_policy = $sanitized_post_data['base_policy'] ?? null; - $insurerValue = (string) $sanitized_post_data['insurer']; + $insurerValue = (string) $sanitized_post_data['insurer'] ?? null; list($insurerBranchId, $insurerId) = explode('-', $insurerValue); - $data['insurer_branch_id'] = $insurerBranchId; - $data['insurer_id'] = $insurerId; + $sanitized_post_data['insurer_branch_id'] = $insurerBranchId; + $sanitized_post_data['insurer_id'] = $insurerId; - $tpaValue = (string) $sanitized_post_data['tpa']; + $tpaValue = (string) $sanitized_post_data['tpa'] ?? null; if ($tpaValue === null || $tpaValue === '') { $tpaBranchId = null; @@ -2006,76 +2060,67 @@ class ClientController extends AdminController } - $insert_data['client_id'] = $client_id; - $insert_data['tpa_branch_id'] = $tpaBranchId; - $insert_data['tpa_id'] = $tpaId; - $insert_data['policy_type_id'] = $sanitized_post_data['policy_type_id']; + $sanitized_post_data['client_id'] = $client_id; + $sanitized_post_data['tpa_branch_id'] = $tpaBranchId; + $sanitized_post_data['tpa_id'] = $tpaId; + $sanitized_post_data['policy_type_id'] = $sanitized_post_data['policy_type_id'] ?? null; - $insert_data['no_of_lives'] = $sanitized_post_data['no_of_lives']; - $insert_data['policy_status'] = $sanitized_post_data['policy_status']; - $insert_data['no_of_employees'] = $sanitized_post_data['no_of_employees']; - $insert_data['earned_premium_date'] = change_date_format($sanitized_post_data['earned_premium_date'], 'd-m-Y', 'Y-m-d') ?? null; - $insert_data['claims_incurred_date'] = change_date_format($sanitized_post_data['claims_incurred_date'], 'd-m-Y', 'Y-m-d') ?? null; - $insert_data['incurred_claims_ratio'] = $sanitized_post_data['incurred_claims_ratio']; - $insert_data['no_lives_at_inception'] = $sanitized_post_data['no_lives_at_inception']; - $insert_data['premium_paid_at_inception'] = $sanitized_post_data['premium_paid_at_inception']; - $insert_data['claims_experience_for_last_3_years'] = $sanitized_post_data['claims_experience_for_last_3_years']; - $insert_data['earned_premium_amount'] = $sanitized_post_data['earned_premium_amount']; - $insert_data['claims_incurred_amount'] = $sanitized_post_data['claims_incurred_amount']; - $insert_data['base_policy'] = ($sanitized_post_data['base_policy'] === '' || $sanitized_post_data['base_policy'] == 0) ? null : $sanitized_post_data['base_policy']; - $insert_data['policy_status'] = 1; - $insert_data['inception_type'] = $sanitized_post_data['inception_type'] ? 2 : 1; - $insert_data['client_branch_id'] = $sanitized_post_data['client_branch_id']; - $insert_data['cd_ac_pk'] = $sanitized_post_data['cd_ac_no']; - $insert_data['gst'] = $sanitized_post_data['gst']; - $insert_data['disclaimer'] = $sanitized_post_data['disclaimer']; - $insert_data['is_member_modify_allowed'] = $sanitized_post_data['is_member_modify_allowed'] ? 1 : 0; - $insert_data['enrolment_visibility'] = $sanitized_post_data['enrolment_visibility'] ? 1 : 0; - $insert_data['is_lgbtq'] = $sanitized_post_data['is_lgbtq'] ? 1 : 0; - $insert_data['wellness_plan_id'] = $sanitized_post_data['wellness_plan_id']; - $insert_data['wellness_vendor_id'] = $sanitized_post_data['wellness_vendor_id']; - $insert_data['wellness_vendor_id'] = !empty($insert_data['wellness_vendor_id']) ? $insert_data['wellness_vendor_id'] : null; + + $sanitized_post_data['earned_premium_date'] = change_date_format($sanitized_post_data['earned_premium_date'] ?? null, 'd-m-Y', 'Y-m-d') ?? null; + $sanitized_post_data['claims_incurred_date'] = change_date_format($sanitized_post_data['claims_incurred_date'] ?? null, 'd-m-Y', 'Y-m-d') ?? null; + + $sanitized_post_dataa['base_policy'] = ($sanitized_post_data['base_policy'] === '' || $sanitized_post_data['base_policy'] == 0) ? null : $sanitized_post_data['base_policy']; + $sanitized_post_data['policy_status'] = 1; + $sanitized_post_data['inception_type'] = $sanitized_post_data['inception_type'] ? 2 : 1; + + + + + $sanitized_post_data['is_member_modify_allowed'] = $sanitized_post_data['is_member_modify_allowed'] ?? null ? 1 : 0; + $sanitized_post_data['enrolment_visibility'] = $sanitized_post_data['enrolment_visibility'] ?? null ? 1 : 0; + $sanitized_post_data['is_lgbtq'] = $sanitized_post_data['is_lgbtq'] ?? null ? 1 : 0; + $sanitized_post_data['wellness_vendor_id'] = !empty($sanitized_post_data['wellness_vendor_id']) ? $sanitized_post_data['wellness_vendor_id'] : null; if ($policy_type_id == 1 || $policy_type_id == 2 || $policy_type_id == 6 || $policy_type_id == 7) { - $insert_data['is_addon'] = 1; // Base Policy + $sanitized_post_data['is_addon'] = 1; // Base Policy } else if ($policy_type_id == 4 || $policy_type_id == 5) { - $insert_data['is_addon'] = 2; // SI TOPUP + $sanitized_post_data['is_addon'] = 2; // SI TOPUP } else if ($policy_type_id == 3) { if ($base_policy) { - $insert_data['is_addon'] = 3; // Dependent Addon + $sanitized_post_data['is_addon'] = 3; // Dependent Addon } else { - $insert_data['is_addon'] = 1; + $sanitized_post_data['is_addon'] = 1; } } - $insert_data['policy_start_date'] = change_date_format($sanitized_post_data['policy_start_date'], 'd-m-Y', 'Y-m-d'); - $insert_data['policy_end_date'] = change_date_format($sanitized_post_data['policy_end_date'], 'd-m-Y', 'Y-m-d'); - $insert_data['policy_no'] = $sanitized_post_data['policy_no']; - if ($insert_data['inception_type'] == 2) { - $insert_data['open_date'] = change_date_format($sanitized_post_data['open_date'], 'd-m-Y', 'Y-m-d'); - $insert_data['close_date'] = change_date_format($sanitized_post_data['close_date'], 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['policy_start_date'] = change_date_format($sanitized_post_data['policy_start_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['policy_end_date'] = change_date_format($sanitized_post_data['policy_end_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['policy_no'] = $sanitized_post_data['policy_no'] ?? null; + if ($sanitized_post_data['inception_type'] == 2) { + $sanitized_post_data['open_date'] = change_date_format($sanitized_post_data['open_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['close_date'] = change_date_format($sanitized_post_data['close_date'] ?? null, 'd-m-Y', 'Y-m-d'); // $data['reminder_date'] = change_date_format($this->request->getPost('reminder_date'), 'd-m-Y', 'Y-m-d'); - $insert_data['reminder_date'] = $sanitized_post_data['reminder_date']; + $sanitized_post_data['reminder_date'] = $sanitized_post_data['reminder_date'] ?? null; } else { - $insert_data['open_date'] = null; - $insert_data['closedate'] = null; - $insert_data['reminder_date'] = null; + $sanitized_post_data['open_date'] = null; + $sanitized_post_data['closedate'] = null; + $sanitized_post_data['reminder_date'] = null; } - $insert_data['created_by'] = get_session_userid(); + $sanitized_post_data['created_by'] = get_session_userid(); - $insert = $this->clientPolicyModel->insert($insert_data); + $insert = $this->clientPolicyModel->insert($sanitized_post_data); if ($insert) { $clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($sanitized_post_data['client_id']); $clientPoliceData['role'] = get_role_id(); - return $this->respond(['status' => true, 'code' => 200, 'data' => $clientPoliceData, 'method' => 'CERATE', 'post_data' => $insert_data], 200); + return $this->respond(['status' => true, 'code' => 200, 'data' => $clientPoliceData, 'client_id' => $client_id, 'method' => 'CERATE', 'post_data' => $insert_data], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200); } @@ -2088,19 +2133,19 @@ class ClientController extends AdminController $data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($data); - $id = $sanitized_post_data['PrimaryKey']; - $client_id = $sanitized_post_data['client_id']; - $policy_type_id = $sanitized_post_data['policy_type_id']; - $base_policy = $sanitized_post_data['base_policy']; + $id = $sanitized_post_data['PrimaryKey'] ?? null; + $client_id = $sanitized_post_data['client_id'] ?? null; + $policy_type_id = $sanitized_post_data['policy_type_id'] ?? null; + $base_policy = $sanitized_post_data['base_policy'] ?? null; $insurerValue = (string) $sanitized_post_data['insurer']; list($insurerBranchId, $insurerId) = explode('-', $insurerValue); - $data['insurer_branch_id'] = $insurerBranchId; - $data['insurer_id'] = $insurerId; + $sanitized_post_data['insurer_branch_id'] = $insurerBranchId ?? null; + $sanitized_post_data['insurer_id'] = $insurerId ?? null; - $tpaValue = (string) $sanitized_post_data['tpa']; + $tpaValue = (string) $sanitized_post_data['tpa'] ?? null; if (!empty($tpaValue) || $tpaValue !== '') { list($tpaBranchId, $tpaId) = explode('-', $tpaValue); } else { @@ -2108,73 +2153,73 @@ class ClientController extends AdminController $tpaId = null; } - $update_data['tpa_branch_id'] = $tpaBranchId; - $update_data['client_id'] = $client_id; - $update_data['tpa_id'] = $tpaId; - $update_data['policy_type_id'] = $sanitized_post_data['policy_type_id']; - $update_data['policy_no'] = $sanitized_post_data['policy_no']; + $sanitized_post_data['tpa_branch_id'] = $tpaBranchId ?? null; + $sanitized_post_data['client_id'] = $client_id ?? null; + $sanitized_post_data['tpa_id'] = $tpaId ?? null; + $sanitized_post_data['policy_type_id'] = $sanitized_post_data['policy_type_id'] ?? null; + $sanitized_post_data['policy_no'] = $sanitized_post_data['policy_no'] ?? null; - $update_data['insured'] = $sanitized_post_data['insured']; - $update_data['no_of_lives'] = $sanitized_post_data['no_of_lives']; - $update_data['policy_status'] = $sanitized_post_data['policy_status']; - $update_data['no_of_employees'] = $sanitized_post_data['no_of_employees']; - $update_data['earned_premium_date'] = change_date_format($sanitized_post_data['earned_premium_date'], 'd-m-Y', 'Y-m-d') ?? null; - $update_data['claims_incurred_date'] = change_date_format($sanitized_post_data['claims_incurred_date'], 'd-m-Y', 'Y-m-d') ?? null; - $update_data['incurred_claims_ratio'] = $sanitized_post_data['incurred_claims_ratio']; - $update_data['no_lives_at_inception'] = $sanitized_post_data['no_lives_at_inception']; - $update_data['premium_paid_at_inception'] = $sanitized_post_data['premium_paid_at_inception']; - $update_data['claims_experience_for_last_3_years'] = $sanitized_post_data['claims_experience_for_last_3_years']; - $update_data['earned_premium_amount'] = $sanitized_post_data['earned_premium_amount']; - $update_data['claims_incurred_amount'] = $sanitized_post_data['claims_incurred_amount']; - $update_data['base_policy'] = ($sanitized_post_data['base_policy'] === '' || $sanitized_post_data['base_policy'] == 0) ? null : $sanitized_post_data['base_policy']; - $update_data['policy_status'] = 1; - $update_data['inception_type'] = $sanitized_post_data['inception_type'] ? 2 : 1; - $update_data['enrolment_visibility'] = $sanitized_post_data['enrolment_visibility'] ? 1 : 0; - $update_data['client_branch_id'] = $sanitized_post_data['client_branch_id']; - $update_data['cd_ac_pk'] = $sanitized_post_data['cd_ac_no']; - $update_data['gst'] = $sanitized_post_data['gst']; - $update_data['disclaimer'] = $sanitized_post_data['disclaimer']; - $update_data['policy_start_date'] = change_date_format($sanitized_post_data['policy_start_date'], 'd-m-Y', 'Y-m-d'); - $update_data['policy_end_date'] = change_date_format($sanitized_post_data['policy_end_date'], 'd-m-Y', 'Y-m-d'); - $update_data['is_member_modify_allowed'] = $sanitized_post_data['is_member_modify_allowed'] ? 1 : 0; - $update_data['is_lgbtq'] = $sanitized_post_data['is_lgbtq'] ? 1 : 0; - $update_data['wellness_plan_id'] = $sanitized_post_data['wellness_plan_id']; - $update_data['wellness_vendor_id'] = $sanitized_post_data['wellness_vendor_id']; - $update_data['wellness_vendor_id'] = !empty($update_data['wellness_vendor_id']) ? $update_data['wellness_vendor_id'] : null; + // $sanitized_post_data['insured'] = $sanitized_post_data['insured']; + $sanitized_post_data['no_of_lives'] = $sanitized_post_data['no_of_lives'] ?? null; + $sanitized_post_data['policy_status'] = $sanitized_post_data['policy_status'] ?? null; + $sanitized_post_data['no_of_employees'] = $sanitized_post_data['no_of_employees'] ?? null; + $sanitized_post_data['earned_premium_date'] = change_date_format($sanitized_post_data['earned_premium_date'] ?? null, 'd-m-Y', 'Y-m-d') ?? null; + $sanitized_post_data['claims_incurred_date'] = change_date_format($sanitized_post_data['claims_incurred_date'] ?? null, 'd-m-Y', 'Y-m-d') ?? null; + $sanitized_post_data['incurred_claims_ratio'] = $sanitized_post_data['incurred_claims_ratio'] ?? null; + $sanitized_post_data['no_lives_at_inception'] = $sanitized_post_data['no_lives_at_inception'] ?? null; + $sanitized_post_data['premium_paid_at_inception'] = $sanitized_post_data['premium_paid_at_inception'] ?? null; + $sanitized_post_data['claims_experience_for_last_3_years'] = $sanitized_post_data['claims_experience_for_last_3_years'] ?? null; + $sanitized_post_data['earned_premium_amount'] = $sanitized_post_data['earned_premium_amount'] ?? null; + $sanitized_post_data['claims_incurred_amount'] = $sanitized_post_data['claims_incurred_amount'] ?? null; + $sanitized_post_data['base_policy'] = ($sanitized_post_data['base_policy'] === '' || $sanitized_post_data['base_policy'] == 0) ? null : $sanitized_post_data['base_policy']; + $sanitized_post_data['policy_status'] = 1; + $sanitized_post_data['inception_type'] = $sanitized_post_data['inception_type'] ?? null ? 2 : 1; + $sanitized_post_data['enrolment_visibility'] = $sanitized_post_data['enrolment_visibility'] ?? null ? 1 : 0; + $sanitized_post_data['client_branch_id'] = $sanitized_post_data['client_branch_id'] ?? null; + $sanitized_post_data['cd_ac_pk'] = $sanitized_post_data['cd_ac_no'] ?? null; + $sanitized_post_data['gst'] = $sanitized_post_data['gst'] ?? null; + $sanitized_post_data['disclaimer'] = $sanitized_post_data['disclaimer'] ?? null; + $sanitized_post_data['policy_start_date'] = change_date_format($sanitized_post_data['policy_start_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['policy_end_date'] = change_date_format($sanitized_post_data['policy_end_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['is_member_modify_allowed'] = $sanitized_post_data['is_member_modify_allowed'] ?? null ? 1 : 0; + $sanitized_post_data['is_lgbtq'] = $sanitized_post_data['is_lgbtq'] ?? null ? 1 : 0; + $sanitized_post_data['wellness_plan_id'] = $sanitized_post_data['wellness_plan_id'] ?? null; + $sanitized_post_data['wellness_vendor_id'] = $sanitized_post_data['wellness_vendor_id'] ?? null; + $sanitized_post_data['wellness_vendor_id'] = !empty($sanitized_post_data['wellness_vendor_id']) ? $sanitized_post_data['wellness_vendor_id'] : null; - if ($update_data['inception_type'] == 2) { - $update_data['open_date'] = change_date_format($sanitized_post_data['open_date'], 'd-m-Y', 'Y-m-d'); - $update_data['close_date'] = change_date_format($sanitized_post_data['close_date'], 'd-m-Y', 'Y-m-d'); - // $data['reminder_date'] = change_date_format($sanitized_post_data['reminder_date'), 'd-m-Y', 'Y-m-d'); - $update_data['reminder_date'] = $sanitized_post_data['reminder_date']; + if ($sanitized_post_data['inception_type'] == 2) { + $sanitized_post_data['open_date'] = change_date_format($sanitized_post_data['open_date'] ?? null, 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['close_date'] = change_date_format($sanitized_post_data['close_date'] ?? null, 'd-m-Y', 'Y-m-d'); + // $sanitized_post_data['reminder_date'] = change_date_format($sanitized_post_data['reminder_date'), 'd-m-Y', 'Y-m-d'); + $sanitized_post_data['reminder_date'] = $sanitized_post_data['reminder_date'] ?? null; } else { - $update_data['open_date'] = null; - $update_data['close_date'] = null; - $update_data['reminder_date'] = null; + $sanitized_post_data['open_date'] = null; + $sanitized_post_data['close_date'] = null; + $sanitized_post_data['reminder_date'] = null; } if ($policy_type_id == 1 || $policy_type_id == 2 || $policy_type_id == 6 || $policy_type_id == 7) { - $update_data['is_addon'] = 1; // Base Policy + $sanitized_post_data['is_addon'] = 1; // Base Policy } else if ($policy_type_id == 4 || $policy_type_id == 5) { - $update_data['is_addon'] = 2; // SI TOPUP + $sanitized_post_data['is_addon'] = 2; // SI TOPUP } else if ($policy_type_id == 3) { if ($base_policy) { - $update_data['is_addon'] = 3; // Dependent Addon + $sanitized_post_data['is_addon'] = 3; // Dependent Addon } else { - $update_data['is_addon'] = 1; + $sanitized_post_data['is_addon'] = 1; } } $policy_terms = $this->clientPolicyModel->where('id', $sanitized_post_data['base_policy'])->first(); $old_client_policy_data = $this->clientPolicyModel->where('is_active', 1)->where('id', $id)->first(); - $update_data['updated_by'] = get_session_userid(); - $update = $this->clientPolicyModel->update($id, $update_data); + $sanitized_post_data['updated_by'] = get_session_userid(); + $update = $this->clientPolicyModel->update($id, $sanitized_post_data); if ($update) { @@ -2190,7 +2235,7 @@ class ClientController extends AdminController ]]); } - return $this->respond(['status' => true, 'code' => 200, 'data' => $clientPoliceData, 'method' => 'EDIT'], 200); + return $this->respond(['status' => true, 'code' => 200, 'data' => $clientPoliceData, 'client_id' => $client_id, 'method' => 'EDIT'], 200); } else { return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200); } @@ -2269,20 +2314,20 @@ class ClientController extends AdminController $data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($data); - $client_id = $sanitized_post_data['client_id']; - $client_policy_id = $sanitized_post_data['client_policy_id']; + $client_id = $sanitized_post_data['client_id'] ?? null; + $client_policy_id = $sanitized_post_data['client_policy_id'] ?? null; $record = $this->clientPolicyModel->where('client_policy.id', $client_policy_id)->first(); - $premium_type = $sanitized_post_data['premium_type']; + $premium_type = $sanitized_post_data['premium_type'] ?? null; if (!empty($client_id) && $client_id != null) { $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); - $client_id = $client_policy_data['client_id']; + $client_id = $client_policy_data['client_id'] ?? null; } $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']); $branch_units = json_decode($branch_units); - $policy_grid_id = $sanitized_post_data['policy_grid_id']; - $rack_rate_name = $sanitized_post_data['rack_rate_name']; + $policy_grid_id = $sanitized_post_data['policy_grid_id'] ?? null; + $rack_rate_name = $sanitized_post_data['rack_rate_name'] ?? null; $relation_data = [ 'self' => $sanitized_post_data['self'] ?? 'NA', @@ -2316,7 +2361,7 @@ class ClientController extends AdminController $jsonDataForRelation = json_encode($relation_data); $json_data_relation_data_for_form_submit_check = json_encode($relation_data_for_form_submit_check); - $si_or_bp = $sanitized_post_data['si_or_bp']; + $si_or_bp = $sanitized_post_data['si_or_bp'] ?? null; $basic_multiplier = str_replace(',', '', $sanitized_post_data['basic_multiplier']); $premium_multiplier = str_replace(',', '', $sanitized_post_data['premium_multiplier']); $multiplier = str_replace(',', '', $sanitized_post_data['multiplier']); @@ -2344,14 +2389,14 @@ class ClientController extends AdminController $premium = str_replace(',', '', $sanitized_post_data['gpa_sum_premium[]']); $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_sum_si[]']); - $multiplier = $sanitized_post_data['gpa_sum_multiplier']; - $unit = $sanitized_post_data['gpa_unit_1[]']; + $multiplier = $sanitized_post_data['gpa_sum_multiplier'] ?? null; + $unit = $sanitized_post_data['gpa_unit_1[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { $data['si'] = $sum_insure[$i]; $data['premium'] = $premium[$i]; $data['multiplier'] = $multiplier; - $data['si_or_bp'] = $sanitized_post_data['si_or_bp']; + $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { $data['unit'] = $branch_units[0]; } else { @@ -2364,9 +2409,9 @@ class ClientController extends AdminController $premium = str_replace(',', '', $sanitized_post_data['gpa_sum_premium2[]']); $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_sum_si2[]']); - $multiplier = $sanitized_post_data['gpa_sum_multiplier2']; - $grade = $sanitized_post_data['gpa_band[]']; - $unit = $sanitized_post_data['gpa_unit_3[]']; + $multiplier = $sanitized_post_data['gpa_sum_multiplier2'] ?? null; + $grade = $sanitized_post_data['gpa_band[]'] ?? null; + $unit = $sanitized_post_data['gpa_unit_3[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { @@ -2374,7 +2419,7 @@ class ClientController extends AdminController $data['premium'] = $premium[$i]; $data['grade'] = $grade[$i]; $data['multiplier'] = $multiplier; - $data['si_or_bp'] = $sanitized_post_data['si_or_bp']; + $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { $data['unit'] = $branch_units[0]; } else { @@ -2388,14 +2433,14 @@ class ClientController extends AdminController $premium = str_replace(',', '', $sanitized_post_data['gpa_basic_premium[]']); $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_basic_si[]']); $basic_pay = str_replace(',', '', $sanitized_post_data['basic_pay[]']); - $unit = $sanitized_post_data['gpa_unit[]']; + $unit = $sanitized_post_data['gpa_unit[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { - $data['si_or_bp'] = $sanitized_post_data['si_or_bp']; + $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; $data['basic_multiplier'] = str_replace(',', '', $sanitized_post_data['basic_multiplier']); - $data['multiplier'] = $sanitized_post_data['premium_multiplier']; + $data['multiplier'] = $sanitized_post_data['premium_multiplier'] ?? null; $data['basic_pay'] = $basic_pay[$i]; $data['si'] = $sum_insure[$i]; $data['premium'] = $premium[$i]; @@ -2412,9 +2457,9 @@ class ClientController extends AdminController $data['premium'] = str_replace(',', '', $sanitized_post_data['gpa_basic_premium']); $data['si'] = str_replace(',', '', $sanitized_post_data['gpa_basic_si']); $data['basic_multiplier'] = str_replace(',', '', $sanitized_post_data['basic_multiplier']); - $data['multiplier'] = $sanitized_post_data['premium_multiplier']; + $data['multiplier'] = $sanitized_post_data['premium_multiplier'] ?? null; $data['basic_pay'] = str_replace(',', '', $sanitized_post_data['basic_pay']); - $data['si_or_bp'] = $sanitized_post_data['si_or_bp']; + $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; $policyPremium = $this->policyPremium1Model->insert($data); } @@ -2423,9 +2468,9 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '2') { - $premium = $sanitized_post_data['gpa_premium29[]']; - $sum_insure = $sanitized_post_data['gpa_si29[]']; - $unit = $sanitized_post_data['gpa_unit29[]']; + $premium = $sanitized_post_data['gpa_premium29[]'] ?? null; + $sum_insure = $sanitized_post_data['gpa_si29[]'] ?? null; + $unit = $sanitized_post_data['gpa_unit29[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2442,9 +2487,9 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '3') { - $premium = $sanitized_post_data['3_premium[]']; - $sum_insure = $sanitized_post_data['3_si[]']; - $unit = $sanitized_post_data['3_unit[]']; + $premium = $sanitized_post_data['3_premium[]'] ?? null; + $sum_insure = $sanitized_post_data['3_si[]'] ?? null; + $unit = $sanitized_post_data['3_unit[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2460,11 +2505,11 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '4') { - $premium = $sanitized_post_data['4_premium[]']; - $sum_insure = $sanitized_post_data['4_si']; - $age_from = $sanitized_post_data['4_age_from[]']; - $age_to = $sanitized_post_data['4_age_to[]']; - $unit = $sanitized_post_data['4_unit[]']; + $premium = $sanitized_post_data['4_premium[]'] ?? null; + $sum_insure = $sanitized_post_data['4_si'] ?? null; + $age_from = $sanitized_post_data['4_age_from[]'] ?? null; + $age_to = $sanitized_post_data['4_age_to[]'] ?? null; + $unit = $sanitized_post_data['4_unit[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2483,11 +2528,11 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '5') { - $premium = $sanitized_post_data['5_premium[]']; - $sum_insure = $sanitized_post_data['5_si[]']; - $age_from = $sanitized_post_data['5_age_from[]']; - $age_to = $sanitized_post_data['5_age_to[]']; - $unit = $sanitized_post_data['5_unit[]']; + $premium = $sanitized_post_data['5_premium[]'] ?? null; + $sum_insure = $sanitized_post_data['5_si[]']?? null; + $age_from = $sanitized_post_data['5_age_from[]']?? null; + $age_to = $sanitized_post_data['5_age_to[]']?? null; + $unit = $sanitized_post_data['5_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2507,11 +2552,11 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '6') { - $premium = $sanitized_post_data['6_premium[]']; - $sum_insure = $sanitized_post_data['6_si']; - $age_from = $sanitized_post_data['6_age_from[]']; - $age_to = $sanitized_post_data['6_age_to[]']; - $unit = $sanitized_post_data['6_unit[]']; + $premium = $sanitized_post_data['6_premium[]']?? null; + $sum_insure = $sanitized_post_data['6_si']?? null; + $age_from = $sanitized_post_data['6_age_from[]']?? null; + $age_to = $sanitized_post_data['6_age_to[]']?? null; + $unit = $sanitized_post_data['6_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2529,11 +2574,11 @@ class ClientController extends AdminController $data = $sanitized_post_data; $insert = true; } else if ($policy_grid_id == '7') { - $premium = $sanitized_post_data['7_premium[]']; - $sum_insure = $sanitized_post_data['7_si[]']; - $age_from = $sanitized_post_data['7_age_from[]']; - $age_to = $sanitized_post_data['7_age_to[]']; - $unit = $sanitized_post_data['7_unit[]']; + $premium = $sanitized_post_data['7_premium[]'] ?? null; + $sum_insure = $sanitized_post_data['7_si[]'] ?? null; + $age_from = $sanitized_post_data['7_age_from[]'] ?? null; + $age_to = $sanitized_post_data['7_age_to[]'] ?? null; + $unit = $sanitized_post_data['7_unit[]'] ?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2551,10 +2596,10 @@ class ClientController extends AdminController $data = $sanitized_post_data; $insert = true; } else if ($policy_grid_id == '8') { - $premium = $sanitized_post_data['8_premium[]']; - $sum_insure = $sanitized_post_data['8_si[]']; - $grade = $sanitized_post_data['8_grade[]']; - $unit = $sanitized_post_data['8_unit[]']; + $premium = $sanitized_post_data['8_premium[]']?? null; + $sum_insure = $sanitized_post_data['8_si[]']?? null; + $grade = $sanitized_post_data['8_grade[]']?? null; + $unit = $sanitized_post_data['8_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2572,9 +2617,9 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '9') { - $premium = $sanitized_post_data['gpa_premium29[]']; - $sum_insure = $sanitized_post_data['gpa_si29[]']; - $unit = $sanitized_post_data['gpa_unit29[]']; + $premium = $sanitized_post_data['gpa_premium29[]']?? null; + $sum_insure = $sanitized_post_data['gpa_si29[]']?? null; + $unit = $sanitized_post_data['gpa_unit29[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2590,11 +2635,11 @@ class ClientController extends AdminController $data = $sanitized_post_data; $insert = true; } else if ($policy_grid_id == '10') { - $premium = $sanitized_post_data['10_premium[]']; - $sum_insure = $sanitized_post_data['10_si[]']; - $age_from = $sanitized_post_data['10_age_from[]']; - $age_to = $sanitized_post_data['10_age_to[]']; - $unit = $sanitized_post_data['10_unit[]']; + $premium = $sanitized_post_data['10_premium[]']?? null; + $sum_insure = $sanitized_post_data['10_si[]']?? null; + $age_from = $sanitized_post_data['10_age_from[]']?? null; + $age_to = $sanitized_post_data['10_age_to[]']?? null; + $unit = $sanitized_post_data['10_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2614,11 +2659,11 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '11') { - $premium = $sanitized_post_data['11_premium[]']; - $sum_insure = $sanitized_post_data['11_si[]']; - $grade = $sanitized_post_data['11_grade[]']; - $max_sum_insure = $sanitized_post_data['11_max_si[]']; - $unit = $sanitized_post_data['11_unit[]']; + $premium = $sanitized_post_data['11_premium[]']?? null; + $sum_insure = $sanitized_post_data['11_si[]']?? null; + $grade = $sanitized_post_data['11_grade[]']?? null; + $max_sum_insure = $sanitized_post_data['11_max_si[]']?? null; + $unit = $sanitized_post_data['11_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2637,10 +2682,10 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '12') { - $premium = $sanitized_post_data['12_premium[]']; - $sum_insure = $sanitized_post_data['12_si[]']; - $relationship = $sanitized_post_data['12_relationship[]']; - $unit = $sanitized_post_data['12_unit[]']; + $premium = $sanitized_post_data['12_premium[]']?? null; + $sum_insure = $sanitized_post_data['12_si[]']?? null; + $relationship = $sanitized_post_data['12_relationship[]']?? null; + $unit = $sanitized_post_data['12_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -2658,12 +2703,12 @@ class ClientController extends AdminController $insert = true; } else if ($policy_grid_id == '13') { - $premium = $sanitized_post_data['13_premium[]']; - $sum_insure = $sanitized_post_data['13_si[]']; - $age_from = $sanitized_post_data['13_age_from[]']; - $age_to = $sanitized_post_data['13_age_to[]']; - $relationship = $sanitized_post_data['13_relationship[]']; - $unit = $sanitized_post_data['13_unit[]']; + $premium = $sanitized_post_data['13_premium[]']?? null; + $sum_insure = $sanitized_post_data['13_si[]']?? null; + $age_from = $sanitized_post_data['13_age_from[]']?? null; + $age_to = $sanitized_post_data['13_age_to[]']?? null; + $relationship = $sanitized_post_data['13_relationship[]']?? null; + $unit = $sanitized_post_data['13_unit[]']?? null; for ($i = 0; $i < count($premium); $i++) { $data['premium'] = str_replace(',', '', $premium[$i]); @@ -5605,7 +5650,7 @@ class ClientController extends AdminController } $data = $this->request->getPost(); $sanitized_post_data = sanitizeInputArrayAdvanced($data); - $id = $sanitized_post_data['vehicle_primary_key']; + $id = $sanitized_post_data['vehicle_primary_key'] ?? null; if ($id) { @@ -5632,9 +5677,9 @@ class ClientController extends AdminController return $this->respond([ 'status' => true, 'vehicle_id' => $vehicle_insert, - 'owner_id' => $sanitized_post_data['owner'], + 'owner_id' => $sanitized_post_data['owner'] ?? null, 'owner_branch_id' => $sanitized_post_data['branch_id'] ?? null, - 'owner_type' => $sanitized_post_data['Owner_type'], + 'owner_type' => $sanitized_post_data['Owner_type']?? null, 'vehicles' => $vehicles, 'message' => 'Vehicle created successfully ' @@ -6597,6 +6642,7 @@ class ClientController extends AdminController // $response = $ticketServiceController->tpaClaimDumpImporter(["file_id" => 51]); //abhi // $response = $ticketServiceController->tpaClaimDumpImporter(["file_id" => 48]); //vidal // $response = $ticketServiceController->tpaClaimDumpImporter(["file_id" => 53]); //icici + // $response = $ticketServiceController->tpaClaimDumpImporter(["file_id" => 54]); //mediassist // $response = $ticketServiceController->tpaClaimDumpToTicketMasterImporters(["file_id" => 48]); // $response = $ticketServiceController->tpaClaimDumpToTicketMasterImporters(["file_id" => 48]); // dd($response); @@ -6641,31 +6687,32 @@ class ClientController extends AdminController $policyTransactionController = new PolicyTransactionController(); // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '281']); // $res = $policyTransactionController->updateInsurerStatement(['file_id' => '62']); - // dd('-----', $res); + // $res = $policyTransactionController->bdsDumpExcelFileFormatValidation(['file_id' => '73']); + // dd($res); // ----------EMP DATA SERVICE CONTROLLER-------------------------------------------------------------------------------- - $batch_data = [ - 'client_id' => 51, - 'client_branch_id' => 40, - 'client_policy_id' => 63, - 'insurer_or_tpa' => "insurer", - 'event_type' => "correction", - 'actions' => "export", - 'file_name' => "deletion_enhancement_test_file.xlsx", - ]; - // $batch_data = [ - // 'client_id' => 20, - // 'client_policy_id' => 77, - // 'client_branch_id' => 72, + // 'client_id' => 51, + // 'client_branch_id' => 40, + // 'client_policy_id' => 63, // 'insurer_or_tpa' => "insurer", - // // 'insurer_or_tpa' => "tpa", - // 'event_type' => "si_enhancement", - // 'file_name' => "si_enhancement_test_file.xlsx", + // 'event_type' => "correction", // 'actions' => "export", + // 'file_name' => "deletion_enhancement_test_file.xlsx", // ]; + $batch_data = [ + 'client_id' => 12, + 'client_policy_id' => 8063, + 'client_branch_id' => 1, + 'insurer_or_tpa' => "insurer", + // 'insurer_or_tpa' => "tpa", + 'event_type' => "inception", + 'file_name' => "si_enhancement_test_file.xlsx", + 'actions' => "export", + ]; + // $batch_data['insurer_or_tpa'] = 'insurer'; // $batch_data['insurer_or_tpa'] = 'tpa'; @@ -6720,6 +6767,21 @@ class ClientController extends AdminController // $EmpDataServiceController->cashDepositCalculationForDeletion($array); // $result = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($batch_data); + // $totals = 0; + // foreach ($result as $item) { + // $totals = $totals + $item->total; + // } + + // clear_cd_balance_session(); + + // $data = [ + // 'cd_balance' => session()->get('cd_balance'), + // 'hr_data' => session()->get('hr_data'), + // 'cd_balance_info' => session()->get('cd_balance_info'), + // get_cd_balance() + // ]; + + // dd($data); // $result = $this->employeePolicyModel->getCorrectionEmployeesDataForExportExcel($batch_data); // dd(db_connect()->getLastQuery()); diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index ff86177d..8d75b095 100755 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -33,6 +33,8 @@ use App\Models\LeadsModel; use App\Models\LeadInstallmentPaymentDetails; use App\Models\PolicyTransactionModel; use App\Models\PTCOShareDetailsModel; +use App\Models\LevelContactModel; + use App\Controllers\Jobs; use App\Controllers\JobWorker; @@ -71,6 +73,8 @@ class EmpDataServiceController extends BaseController protected $leadInstallmentPaymentDetailesModel; protected $policyTransactionModel; protected $PTCOShareDetailsModel; + protected $LevelContactModel; + public function __construct() @@ -99,6 +103,7 @@ class EmpDataServiceController extends BaseController $this->leadInstallmentPaymentDetailesModel = new LeadInstallmentPaymentDetails(); $this->policyTransactionModel = new PolicyTransactionModel(); $this->PTCOShareDetailsModel = new PTCOShareDetailsModel(); + $this->LevelContactModel = new LevelContactModel(); } @@ -199,23 +204,28 @@ class EmpDataServiceController extends BaseController $totals = $totals + $item->total; } - $totals = round($totals, 2); + $totals = round($totals); //check CD amt insufficient only insurer, not tpa // DO NOT REMOVE THIS if($export_data['insurer_or_tpa'] == 'insurer') { if (!empty($cash_balance)) { - if ((int) $cash_balance['balance'] < (int) $totals) { + clear_cd_balance_session(); + if ((int) $cash_balance['balance'] == (int) $totals) { $this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount.'); $this->myLogger->logme('error', 'Inception export failed due to insufficient deposit amount. CASH BALANCE : {balance} and TOTAL AMOUNT : {total}', ['balance' => $cash_balance['balance'], 'total' => $totals]); - session()->set('cd_balance', false); - session()->set('cd_amount', $cash_balance['balance']); - session()->set('excel_file_amt', $totals); + + $cd_session_data = json_encode(['cd_balance' => false, 'cd_amount' => $cash_balance['balance'], 'excel_file_amt' => $totals]); + session()->set('cd_balance_info', $cd_session_data); + session()->set('cd_balance', false); + + $hr_data = $this->getHrdataForInsufficientMailSend($export_data['client_branch_id']); + $session_data = json_encode(['client_id' => $export_data['client_id'], 'hr_data' => $hr_data]); + session()->set('hr_data', $session_data); + }else{ session()->set('cd_balance', true); - session()->set('cd_amount', $cash_balance['balance']); - session()->set('excel_file_amt', $totals); - + } } } @@ -5858,4 +5868,16 @@ class EmpDataServiceController extends BaseController 'gst' => round($amount['gst'] ?? 0, 2) ]; } + + public function getHrdataForInsufficientMailSend($ref_id) + { + $data = $this->LevelContactModel + ->select('id, name, email') + ->where('ref_id', $ref_id) + ->where('is_active', 1) + ->where('contact_type', 'client') + ->findAll(); + + return $data; + } } diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 41eef6df..71749ad4 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -8,6 +8,7 @@ use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; use App\Helpers\DepositHelper; +use App\Helpers\MailHelper; use App\Models\EmployeeModel; @@ -29,6 +30,7 @@ use App\Models\AuditHistoryModel; use App\Models\UserModel; use App\Models\PartnerEndorsementRequestModel; use App\Models\TpaApiDataModel; +use App\Models\LevelContactModel; use App\Controllers\Jobs; @@ -74,6 +76,7 @@ class EmployeeController extends AdminController protected $auditHistory; protected $userModel; protected $partnerEndorsementRequestModel; + protected $LevelContactModel; public function __construct() { @@ -97,6 +100,7 @@ class EmployeeController extends AdminController $this->auditHistory = new AuditHistoryModel(); $this->userModel = new userModel(); $this->partnerEndorsementRequestModel = new PartnerEndorsementRequestModel(); + $this->LevelContactModel = new LevelContactModel(); } public function list() @@ -841,6 +845,7 @@ class EmployeeController extends AdminController { $data = []; + $data['status'] = ['pending' => 'Pending', 'inprogress' => 'In-Progress', 'complete' => 'Complete']; if (count($this->request->getGet())) { $filterData = $this->request->getGet(); @@ -850,9 +855,9 @@ class EmployeeController extends AdminController status: $filterData['status'], branch_id: $filterData['branch_id'] ); - $data['getData'] = $filterData; + $data['getData'] = $filterData; // echo "
";
- // print_r($data); die;
+
}
$this->myLogger->logme('error', 'list called');
@@ -1108,7 +1113,39 @@ class EmployeeController extends AdminController
try {
- $filePath = WRITEPATH . '/uploads/excel/' . $file_name['file_name'];
+ if (!$file_name) {
+ return $this->respond([
+ 'dataStatus' => false,
+ 'code' => 200,
+ 'data' => 'No Data Found',
+ 'file_data' => null
+ ], 200);
+ }
+
+ $filePath = WRITEPATH . 'uploads/excel/' . $file_name['file_name'];
+
+ // ✅ File not exists on disk
+ if (!file_exists($filePath)) {
+ return $this->respond([
+ 'dataStatus' => false,
+ 'code' => 200,
+ 'data' => 'No Data Found',
+ 'file_data' => $file_name
+ ], 200);
+ }
+
+
+ $excel_data = $empDataServiceController->readExcelFileToArray($filePath);
+
+ // ✅ Excel empty or header only
+ if (empty($excel_data) || count($excel_data) <= 1) {
+ return $this->respond([
+ 'dataStatus' => false,
+ 'code' => 200,
+ 'data' => 'No Data Found',
+ 'file_data' => $file_name
+ ], 200);
+ }
if (file_exists($filePath)) {
@@ -1144,8 +1181,7 @@ class EmployeeController extends AdminController
$errorMessage = 'Error occurred:' . PHP_EOL . json_encode($errorData, JSON_PRETTY_PRINT);
$this->myLogger->logme('error', $errorMessage);
- $html = 'No Data Found';
- return $this->respond(['dataStatus' => false, 'code' => 500, 'data' => $html, 'file_data' => $file_name], 500);
+ return $this->respond(['dataStatus' => false, 'code' => 500, 'data' => 'Something went wrong', 'file_data' => $file_name ?? null], 500);
}
}
@@ -3035,12 +3071,12 @@ class EmployeeController extends AdminController
$request_post_data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data);
- $client_id = $sanitized_post_data['client_id'];
- $branch_id = $sanitized_post_data['branch_id'];
- $policy_id = $sanitized_post_data['client_policy_id'];
- $selected_employees = (array)$sanitized_post_data['selected'];
- $si_amt = $sanitized_post_data['si_amt'];
- $policy_start_date_unformatted = $sanitized_post_data['policy_start_date'];
+ $client_id = $sanitized_post_data['client_id'] ?? null;
+ $branch_id = $sanitized_post_data['branch_id'] ?? null;
+ $policy_id = $sanitized_post_data['client_policy_id'] ?? null;
+ $selected_employees = (array)$sanitized_post_data['selected'] ?? [];
+ $si_amt = $sanitized_post_data['si_amt'] ?? null;
+ $policy_start_date_unformatted = $sanitized_post_data['policy_start_date'] ?? null;
$policy_start_date = change_date_format($policy_start_date_unformatted, 'd/M/Y', 'Y-m-d');
@@ -3079,7 +3115,7 @@ class EmployeeController extends AdminController
public function unmapEmployees($actionType){
$request_post_data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data);
- $selected_employees = (array)$sanitized_post_data['selected'];
+ $selected_employees = (array)$sanitized_post_data['selected'] ?? [];
if($actionType == 0){
for($i = 0;$iemployeeModel->set(['client_id' => null, 'client_branch_id' => null])->where('id',$selected_employees[$i])->update();log_message('error',$result1);
@@ -4421,6 +4457,133 @@ class EmployeeController extends AdminController
$this->myLogger->logme('error', "$log_search_context". "END Batch {$batch_no}");
}
+ public function visitOffBoardCheck()
+ {
+ $params = [
+ "memberIds" => ["adi_1034292323", "EMPENHANCE-M1", "EMPENHANCE-M3"],
+ // "policyNumber" => "570000/48/2026/290",
+ "policyNumber" => "09823428509239",
+ "source" => "NHANCE"
+ ];
+ print_rr($this->visitOffBoard($params));
+ }
+
+ /**
+ * Executes the Delete Policy API call.
+ *
+ * @param array $params Contains 'memberIds', 'policyNumber', and 'source'.
+ * @return array
+ */
+ public function visitOffBoard(array $params)
+ {
+ // 1. Load credentials from .env
+ $apiUrl = env('WELLNESS_ONBOARD_ENDPOINT_URL');
+ $apiToken = env('WELLNESS_ONBOARD_AUTHORIZATION');
+
+ // 2. Initialize the CI4 CURL service
+ $client = \Config\Services::curlrequest([
+ 'base_uri' => $apiUrl,
+ 'timeout' => 30,
+ ]);
+
+ // $client = Services::curlrequest([
+ // 'base_uri' => $apiUrl,
+ // 'timeout' => 30,
+ // ]);
+ $params['source'] = 'NHANCE';
+ try {
+ // Log the start of the request for traceability
+ $this->myLogger->logme('error', 'VISIT_OFFBOARD: ' . ($params['policyNumber'] ?? 'N/A'));
+
+ // 3. Perform the POST request
+ $response = $client->request('POST', '', [
+ 'headers' => [
+ 'Authorization' => 'JWT ' . $apiToken,
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json',
+ ],
+ 'json' => [
+ 'memberIds' => $params['memberIds'] ?? [],
+ 'policyNumber' => $params['policyNumber'] ?? '',
+ 'source' => $params['source'] ?? '',
+ ],
+ 'http_errors' => false, // Prevents throwing exceptions on 4xx/5xx responses
+ ]);
+
+ $statusCode = $response->getStatusCode();
+ $rawBody = $response->getBody();
+ $result = json_decode($rawBody, true);
+
+ // 4. Handle based on HTTP Status Code
+ if ($statusCode >= 200 && $statusCode < 300) {
+ $this->myLogger->logme('error', "VISIT_OFFBOARD API Success (Code $statusCode): Policy deleted.");
+ return [
+ 'status' => true,
+ 'data' => $result
+ ];
+ }
+
+ // Log API-level errors (4xx or 5xx)
+ $this->myLogger->logme('error', "VISIT_OFFBOARD API Failure (Code $statusCode): " . json_encode($rawBody));
+ return [
+ 'status' => false,
+ 'message' => 'The API returned an error response.',
+ 'code' => $statusCode,
+ 'details' => $result
+ ];
+
+ } catch (\Exception $e) {
+ // 5. Catch network or system exceptions
+ $this->myLogger->logme('error', 'VISIT_OFFBOARD API Exception: ' . $e->getMessage());
+ return [
+ 'status' => false,
+ 'message' => 'A critical error occurred while contacting the API.',
+ 'error' => $e->getMessage()
+ ];
+ }
+ }
+
+
+ public function insufficientCdBalanceHrMailSend()
+ {
+ $post_data = $this->request->getJson(true);
+
+ if(empty($post_data) || (!isset($post_data['mails']) && !empty($post_data['mails'])) || (!isset($post_data['client_id']) && !empty($post_data['client_id']))){
+ return $this->respond(['status' => false, 'code' => 404, 'message' => 'No data send mail'], 200);
+ }
+
+ $client_data = $this->clientModel->where('is_active', 1)->where('id', $post_data['client_id'])->first();
+
+ $common['mail_type'] = "insufficient_cd_balance_by_hr";
+ $common['client_id'] = $post_data['client_id'];
+ $subject = 'Insufficient CD Balance Notification';
+ $mail_content = '
+ Dear {{HR_NAME}},
+
+ Greetings from Nhance.
+
+ We would like to inform you that the CD balance for {{CLIENT_NAME}} is currently low / insufficient, which may impact further processing of insurance-related activities.
+
+ Kindly request you to credit the required amount at the earliest to avoid any service disruption.
+
+ Please let us know once the amount is credited, or if you need any clarification from our end.
+
+ Thank you for your support and cooperation.
+ ';
+
+
+ foreach ($post_data['mails'] as $hr_id => $hr_data) {
+
+ $mail_content = str_ireplace('{{HR_NAME}}', $hr_data['name'], $mail_content);
+ $mail_content = str_ireplace('{{CLIENT_NAME}}', $client_data['client_name'], $mail_content);
+
+ $res = MailHelper::send_email(['mail' => $hr_data['mail'], 'subject' => $subject, 'message' => $mail_content, 'common' => $common]);
+ }
+
+ return $this->respond(['status' => true, 'code' => 200, 'message' => 'Mail send successfully'], 200);
+
+ }
+
}
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index fa58834a..ebf26139 100755
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -2305,8 +2305,32 @@ class EmployeeRestController extends AdminController
}
+ if($this->request->getGet('policy_status') == 0){
+ $emp_policy_status = 'expired';
+ }else{
+ $emp_policy_status = 'active';
+ }
- $ClientPolicyData = $this->clientPolicyModel->select('client_policy.id as client_policy_id , client_policy.client_id as client_id, client_policy.policy_type_id as policy_type_id, client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type, client_policy.policy_no as policy_no, client_policy.insurer_id as insurer_id, DATE_FORMAT(client_policy.policy_end_date, "%d-%m-%Y") AS policy_expiry_date ')
+ $ClientPolicyData = $this->clientPolicyModel
+ ->select("
+ client_policy.id as client_policy_id ,
+ client_policy.client_id as client_id,
+ client_policy.policy_type_id as policy_type_id,
+ client_policy.is_addon as is_addon ,
+ client_policy.open_for_enrollment as OpenForEnrollment ,
+ client_policy.inception_type as inception_type,
+ client_policy.policy_no as policy_no,
+ client_policy.insurer_id as insurer_id,
+ DATE_FORMAT(client_policy.policy_start_date, '%d-%m-%Y') AS policy_start_date,
+ DATE_FORMAT(client_policy.policy_end_date, '%d-%m-%Y') AS policy_expiry_date,
+ (
+ select round(sum(rata_premimum + gst))
+ from employee_polices
+ where is_active = 1
+ and status = $emp_policy_status
+ and client_policy_id = client_policy_id
+ ) as total_premium
+ ")
->where('md5(client_policy.client_id)', $this->request->getGet('client_id'))
->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id'))
->where('client_policy.is_active', 1)
@@ -2443,7 +2467,12 @@ class EmployeeRestController extends AdminController
if ($this->request->is('get')) {
- $data['claim_status'] = $this->claimStatusModel->select('id,ticket_type,claim_status')->where('is_active', 1)->findAll();
+ $data['claim_status'] = $this->claimStatusModel
+ ->select('id,ticket_type, display_name as claim_status')
+ ->where('is_active', 1)
+ ->groupBy('display_name')
+ ->findAll();
+
$data['ticket_type'] = [
["ticket_type" => "1", "type_name" => "Claim-GMC"],
["ticket_type" => "2", "type_name" => "Claim-GPA"],
@@ -2463,7 +2492,8 @@ class EmployeeRestController extends AdminController
$from_date = isset($search_data['from_date']) ? $search_data['from_date'] : null;
$to_date = isset($search_data['to_date']) ? $search_data['to_date'] : null;
- unset($search_data['from_date'], $search_data['to_date']);
+ $claim_status_id = isset($search_data['claim_status_id']) ? $search_data['claim_status_id'] : null;
+ unset($search_data['from_date'], $search_data['to_date'], $search_data['claim_status_id']);
$where = [];
@@ -2474,6 +2504,11 @@ class EmployeeRestController extends AdminController
}
}
+ $claim_status_ids = [];
+ if(!empty($claim_status_id)){
+ $claim_status_ids = $this->getTicketClaimStatusIdBasedOnTheDisplayName($claim_status_id);
+ }
+
$builder = $db->table('ticket_master tm');
$builder->select([
'tm.id',
@@ -2485,6 +2520,12 @@ class EmployeeRestController extends AdminController
ELSE UPPER(tcs.display_name)
END AS status
",
+ "CASE
+ WHEN tm.tpa_claim_type IS NOT NULL OR tm.tpa_claim_type != ''
+ THEN tm.tpa_claim_type
+ ELSE 'Reimbursement'
+ END AS cl_type
+ ",
'tm.claim_number AS claim_no',
'tm.claim_status_id',
'tm.is_head_approved',
@@ -2568,6 +2609,10 @@ class EmployeeRestController extends AdminController
$builder->where($where);
}
+ if (!empty($claim_status_ids)) {
+ $builder->whereIn('claim_status_id', $claim_status_ids);
+ }
+
$builder->orderBy('tm.id', 'DESC');
$data = $builder->get()->getResultArray();
@@ -5305,6 +5350,18 @@ class EmployeeRestController extends AdminController
return $this->respond(['status' => false, 'code' => 400, 'message' => 'Failed to upload the file'], 200);
}
}
+
+ public function getTicketClaimStatusIdBasedOnTheDisplayName($claim_status_id)
+ {
+ $claim_status_data_display_name = $this->claimStatusModel->where('is_active', 1)->where('id', $claim_status_id)->first();
+ $claim_status_data_id = $this->claimStatusModel
+ ->select('id')
+ ->where('is_active', 1)
+ ->where('display_name', $claim_status_data_display_name['display_name'])
+ ->findAll();
+ return $claim_status_data_id;
+ }
+
}
diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php
index 8154fc82..c8413098 100644
--- a/app/Controllers/LeadsController.php
+++ b/app/Controllers/LeadsController.php
@@ -437,7 +437,7 @@ class LeadsController extends BaseController
];
$request_data = $this->request->getPost();
$data = sanitizeInputArrayAdvanced($request_data);
- if($data['lead_form_type'] == 2){
+ if (isset($data['lead_form_type']) && (int)$data['lead_form_type'] === 2) {
$rules['client_type'] = [
'rules' => 'required',
'errors' => ['required' => 'Client Type is required']
diff --git a/app/Controllers/LoginController.php b/app/Controllers/LoginController.php
index fb073f21..0e118e10 100755
--- a/app/Controllers/LoginController.php
+++ b/app/Controllers/LoginController.php
@@ -62,7 +62,7 @@ class LoginController extends BaseController
set_session_data($session_data);
// Bind session to device
- set_session_data(['fingerprint' => generateFingerprint()]);
+ // set_session_data(['fingerprint' => generateFingerprint()]);
log_message('error', 'Set The UserId : `'. $user->id .'` in Session');
log_message('error', 'User Login Sucessfully');
diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php
index e645daf2..7c46bc9a 100755
--- a/app/Controllers/MasterController.php
+++ b/app/Controllers/MasterController.php
@@ -322,13 +322,13 @@ class MasterController extends AdminController
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $insert_data['addition_add_day'] = (!empty($sanitized_post_data['addition_add_day'])) ? 1 : 0;
- $insert_data['deletion_add_day'] = (!empty($sanitized_post_data['deletion_add_day'])) ? 1 : 0;
- $insert_data['is_multi_event'] = (!empty($sanitized_post_data['is_multi_event'])) ? 1 : 0;
- $insert_data['created_by'] = get_session_userid();
- $insert_data['insurer_logo'] = $file_name;
+ $sanitized_post_data['addition_add_day'] = (!empty($sanitized_post_data['addition_add_day'])) ? 1 : 0;
+ $sanitized_post_data['deletion_add_day'] = (!empty($sanitized_post_data['deletion_add_day'])) ? 1 : 0;
+ $sanitized_post_data['is_multi_event'] = (!empty($sanitized_post_data['is_multi_event'])) ? 1 : 0;
+ $sanitized_post_data['created_by'] = get_session_userid();
+ $sanitized_post_data['insurer_logo'] = $file_name;
- $insert = $this->insurerModel->insert($insert_data);
+ $insert = $this->insurerModel->insert($sanitized_post_data);
if($insert){
$insurer_data = $this->insurerModel->where(['id' => $insert, 'is_active' => 1])->first();
@@ -455,10 +455,10 @@ class MasterController extends AdminController
'contact_type' => 'insurer',
'ref_id' => $insert,
'created_by' => get_session_userid(),
- 'name' => $sanitized_post_data['name'][$i],
- 'email' => $sanitized_post_data['email'][$i],
- 'mobile' => $sanitized_post_data['mobile'][$i],
- 'designation' => $sanitized_post_data['designation'][$i]
+ 'name' => $sanitized_post_data['name'][$i] ?? null,
+ 'email' => $sanitized_post_data['email'][$i] ?? null,
+ 'mobile' => $sanitized_post_data['mobile'][$i] ?? null,
+ 'designation' => $sanitized_post_data['designation'][$i] ?? null
];
$contacts = $this->levelContactModel->insert($sanitized_post_data_for_level);
}
@@ -537,19 +537,19 @@ class MasterController extends AdminController
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
$id = $sanitized_post_data['PrimaryKey'];
- $update_data['addition_add_day'] = (!empty($sanitized_post_data['addition_add_day'])) ? 1 : 0;
- $update_data['deletion_add_day'] = (!empty($sanitized_post_data['deletion_add_day'])) ? 1 : 0;
- $update_data['is_multi_event'] = (!empty($sanitized_post_data['is_multi_event'])) ? 1 : 0;
- $update_data['updated_by'] = get_session_userid();
+ $sanitized_post_data['addition_add_day'] = (!empty($sanitized_post_data['addition_add_day'])) ? 1 : 0;
+ $sanitized_post_data['deletion_add_day'] = (!empty($sanitized_post_data['deletion_add_day'])) ? 1 : 0;
+ $sanitized_post_data['is_multi_event'] = (!empty($sanitized_post_data['is_multi_event'])) ? 1 : 0;
+ $sanitized_post_data['updated_by'] = get_session_userid();
if(!empty($file_name)){
- $update_data['insurer_logo'] = $file_name;
+ $sanitized_post_data['insurer_logo'] = $file_name;
}
- $update = $this->insurerModel->update($id,$update_data);
+ $update = $this->insurerModel->update($id,$sanitized_post_data);
if($update){
- echo json_encode(array("status" => true , 'data' => $data));
+ echo json_encode(array("status" => true , 'data' => $sanitized_post_data));
}else{
echo json_encode(array("status" => false));
}
@@ -673,7 +673,7 @@ class MasterController extends AdminController
}
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $id = $sanitized_post_data['PrimaryKey'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
$update = $this->insurerBranchModel->update($id, $sanitized_post_data);
if($update){
@@ -687,11 +687,11 @@ class MasterController extends AdminController
'contact_type' => 'insurer',
'ref_id' => $id,
'created_by' => get_session_userid(),
- 'name' => $sanitized_post_data['name'][$i],
- 'email' => $sanitized_post_data['email'][$i],
- 'mobile' => $sanitized_post_data['mobile'][$i],
- 'designation' => $sanitized_post_data['designation'][$i]
- ];
+ 'name' => $sanitized_post_data['name'][$i] ?? null,
+ 'email' => $sanitized_post_data['email'][$i] ?? null,
+ 'mobile' => $sanitized_post_data['mobile'][$i] ?? null,
+ 'designation' => $sanitized_post_data['designation'][$i] ?? null
+ ];
$contacts = $this->levelContactModel->insert($sanitized_post_data_for_level);
}
}
@@ -922,16 +922,16 @@ class MasterController extends AdminController
$eCardTemplate = $sanitized_post_data['ecard_content'];
- $insert_data['created_by'] = get_session_userid();
- $insert_data['tpa_logo'] = $file_name;
- $insert_data['front_card'] = $front_card_file_name;
- $insert_data['back_card'] = $back_card_file_name;
- $insert_data['network_hospitals'] = $sanitized_post_data['network_hospitals'];
+ $sanitized_post_data['created_by'] = get_session_userid();
+ $sanitized_post_data['tpa_logo'] = $file_name;
+ $sanitized_post_data['front_card'] = $front_card_file_name;
+ $sanitized_post_data['back_card'] = $back_card_file_name;
+ $sanitized_post_data['network_hospitals'] = $sanitized_post_data['network_hospitals'];
- $insert = $this->tpaModel->insert($insert_data);
+ $insert = $this->tpaModel->insert($sanitized_post_data);
- $tpa_name = (string) $sanitized_post_data['name'];
- $short_name = (string) $sanitized_post_data['short_name'];
+ $tpa_name = ((string) $sanitized_post_data['name']) ?? null;
+ $short_name = ((string) $sanitized_post_data['short_name']) ?? null;
$filename = strtolower(str_replace(' ', '_', $short_name)) . '.html';
$file_directory = WRITEPATH . 'e_card_template/';
@@ -1080,10 +1080,10 @@ class MasterController extends AdminController
'contact_type' => 'tpa',
'ref_id' => $insert,
'created_by' => get_session_userid(),
- 'name' => $sanitized_post_data['name'][$i],
- 'email' => $sanitized_post_data['email'][$i],
- 'mobile' => $sanitized_post_data['mobile'][$i],
- 'designation' => $sanitized_post_data['designation'][$i]
+ 'name' => $sanitized_post_data['name'][$i] ?? null,
+ 'email' => $sanitized_post_data['email'][$i] ?? null,
+ 'mobile' => $sanitized_post_data['mobile'][$i] ?? null,
+ 'designation' => $sanitized_post_data['designation'][$i] ?? null
];
$contacts = $this->levelContactModel->insert($sanitized_post_data_for_level);
}
@@ -1209,29 +1209,29 @@ class MasterController extends AdminController
$front_card_file_name = file_Upload($this->request->getFile('fc'), $template_bg_path);
$back_card_file_name = file_Upload($this->request->getFile('bc'), $template_bg_path);
- $id = $sanitized_post_data['PrimaryKey'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
- $update_data['updated_by'] = get_session_userid();
+ $sanitized_post_data['updated_by'] = get_session_userid();
if(!empty($file_name)){
- $update_data['tpa_logo'] = $file_name;
+ $sanitized_post_data['tpa_logo'] = $file_name;
}
if(!empty($front_card_file_name)){
- $update_data['front_card'] = $front_card_file_name;
+ $sanitized_post_data['front_card'] = $front_card_file_name;
}
if(!empty($back_card_file_name)){
- $update_data['back_card'] = $back_card_file_name;
+ $sanitized_post_data['back_card'] = $back_card_file_name;
}
- $update_data['network_hospitals'] = $sanitized_post_data['network_hospitals'];
- $update = $this->tpaModel->update($id,$update_data);
+ $sanitized_post_data['network_hospitals'] = $sanitized_post_data['network_hospitals'] ?? null;
+ $update = $this->tpaModel->update($id,$sanitized_post_data);
- $tpa_name = (string) $sanitized_post_data['name'];
- $short_name = (string) $sanitized_post_data['short_name'];
- $eCardTemplate = $sanitized_post_data['ecard_content'];
+ $tpa_name = ((string) $sanitized_post_data['name']) ?? null;
+ $short_name = ((string) $sanitized_post_data['short_name']) ?? null;
+ $eCardTemplate = $sanitized_post_data['ecard_content'] ?? null;
$filename = strtolower(str_replace(' ', '_', $short_name)) . '.html';
$file_directory = WRITEPATH . 'e_card_template/';
@@ -1258,7 +1258,7 @@ class MasterController extends AdminController
if($update){
- echo json_encode(array("status" => true , 'data' => $update_data));
+ echo json_encode(array("status" => true , 'data' => $sanitized_post_data));
}else{
echo json_encode(array("status" => false));
}
@@ -1383,7 +1383,7 @@ class MasterController extends AdminController
}
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $id = $sanitized_post_data['PrimaryKey'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
$update = $this->tpaBranchModel->update($id, $sanitized_post_data);
// print_r($this->request->getPost('name[]'));
@@ -1402,10 +1402,10 @@ class MasterController extends AdminController
'contact_type' => 'tpa',
'ref_id' => $id,
'created_by' => get_session_userid(),
- 'name' => $sanitized_post_data['name'][$i],
- 'email' => $sanitized_post_data['email'][$i],
- 'mobile' => $sanitized_post_data['mobile'][$i],
- 'designation' => $sanitized_post_data['designation'][$i]
+ 'name' => $sanitized_post_data['name'][$i] ?? null,
+ 'email' => $sanitized_post_data['email'][$i] ?? null,
+ 'mobile' => $sanitized_post_data['mobile'][$i] ?? null,
+ 'designation' => $sanitized_post_data['designation'][$i] ?? null
];
$contacts = $this->levelContactModel->insert($sanitized_post_data_for_level);
}
@@ -1644,7 +1644,7 @@ class MasterController extends AdminController
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $id = $sanitized_post_data['PrimaryKey'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
$sanitized_post_data['updated_by'] = get_session_userid();
$update = $this->kycEntityTypeModel->update($id,$sanitized_post_data);
if($update){
@@ -1995,7 +1995,7 @@ class MasterController extends AdminController
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $id = $sanitized_post_data['PrimaryKey'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
$sanitized_post_data['updated_by'] = get_session_userid();
$update = $this->policyTypeModel->update($id,$sanitized_post_data);
if($update){
@@ -2048,8 +2048,10 @@ class MasterController extends AdminController
public function editPolicies()
{
$this->myLogger->logme('error','edit Policy general info function called');
- $id = $this->request->getPost('PrimaryKey');
- $data = $this->request->getPost();
+ $request_post_data = $this->request->getPost();
+ $data = sanitizeInputArrayAdvanced($request_post_data);
+
+ $id = $data['PrimaryKey'] ?? null;
$data['updated_by'] = get_session_userid();
$update = $this->policesModel->update($id,$data);
if($update){
@@ -2196,10 +2198,10 @@ class MasterController extends AdminController
// CD Account Details
// ======================
'opening_date' => [
- 'rules' => 'required|valid_date[Y-m-d]',
+ 'rules' => 'required|valid_date[d-m-Y]',
'errors' => [
'required' => 'Opening date is required',
- 'valid_date' => 'Opening date must be in YYYY-MM-DD format'
+ 'valid_date' => 'Opening date must be in DD-MM-YYYY format'
]
],
@@ -2259,13 +2261,13 @@ class MasterController extends AdminController
if ($insert) {
$cd_tranction_data = [
- 'amount' => $sanitized_post_data['opening_bal'],
+ 'amount' => $sanitized_post_data['opening_bal'] ?? null,
'sub_type_id' => 7,
- 'client_id' => $sanitized_post_data['client_id'],
+ 'client_id' => $sanitized_post_data['client_id'] ?? null,
'client_policy_id' => null,
- 'cd_ac_no' => $sanitized_post_data['cd_ac_no'],
+ 'cd_ac_no' => $sanitized_post_data['cd_ac_no'] ?? null,
'endorsement_no' => null,
- 'insurer_id' => $sanitized_post_data['insurer_id'],
+ 'insurer_id' => $sanitized_post_data['insurer_id'] ?? null,
'description' => 'Opening Amount',
'transaction_type' => 'Credit',
'event_name' => null,
@@ -2377,10 +2379,10 @@ class MasterController extends AdminController
// CD Account Details
// ======================
'opening_date' => [
- 'rules' => 'required|valid_date[Y-m-d]',
+ 'rules' => 'required|valid_date[d-m-Y]',
'errors' => [
'required' => 'Opening date is required',
- 'valid_date' => 'Opening date must be in YYYY-MM-DD format'
+ 'valid_date' => 'Opening date must be in DD-MM-YYYY format'
]
],
@@ -2410,8 +2412,8 @@ class MasterController extends AdminController
}
$data = $this->request->getPost();
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
- $id = $sanitized_post_data['PrimaryKey'];
- $date = (string) $sanitized_post_data['opening_date'];
+ $id = $sanitized_post_data['PrimaryKey'] ?? null;
+ $date = ((string) $sanitized_post_data['opening_date']) ?? null;
$sanitized_post_data['opening_date'] = date('Y-m-d', strtotime($date));
if ($data) {
@@ -2713,11 +2715,11 @@ class MasterController extends AdminController
$fetch_data = [
- 'insurer_id' => $sanitized_post_data['insurer_id'],
- 'policy_type_id' => $sanitized_post_data['policy_type'],
- 'event_name' => $sanitized_post_data['event'],
+ 'insurer_id' => $sanitized_post_data['insurer_id'] ?? null ,
+ 'policy_type_id' => $sanitized_post_data['policy_type'] ?? null,
+ 'event_name' => $sanitized_post_data['event'] ?? null,
'type_name' => 'export',
- 'jsoncolumns' => $sanitized_post_data['json_data'],
+ 'jsoncolumns' => $sanitized_post_data['json_data'] ?? null,
'is_active' => 1,
'created_by' => get_session_userid(),
];
diff --git a/app/Controllers/NotificationController.php b/app/Controllers/NotificationController.php
index 0d85df18..b0e5b4cf 100755
--- a/app/Controllers/NotificationController.php
+++ b/app/Controllers/NotificationController.php
@@ -52,6 +52,7 @@ class NotificationController extends AdminController
// Create Or Update the Notification
public function createNotification()
{
+
$form_data['template_name'] = $this->camelCaseToSnakeCase($this->request->getPost('template_name'));
$form_data['subject'] = $this->request->getPost('subject');
$form_data['mail_content'] = $this->request->getPost('mailContent');
diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php
index 723a171e..dc57d03f 100644
--- a/app/Controllers/PolicyTransactionController.php
+++ b/app/Controllers/PolicyTransactionController.php
@@ -309,7 +309,7 @@
'format' => null,
'allowed_values' => null,
'custom' => 'check_agent_exist',
- 'params' => ['row', 'agent_data']
+ 'params' => ['row', 'pos_data']
],
'base_premium' => [
@@ -4944,6 +4944,7 @@
$pt_data = $this->policyTransactionModel->where('is_active', 1)->findAll();
$user_data = $this->userModel->where('is_active', 1)->findAll();
$agent_data = db_connect()->table('partner_agent')->where('is_active', 1)->get()->getResultArray();
+ $pos_data = db_connect()->table('partner_pos')->where('is_active', 1)->get()->getResultArray();
$rto_master = db_connect()->table('rto_master')->where('is_active', 1)->get()->getResultArray();
$vehicle_type = db_connect()->table('vehicle_type')->where('is_active', 1)->get()->getResultArray();
$nhance_branch_data = db_connect()->table('nhance_branch')->where('is_active', 1)->get()->getResultArray();
@@ -5109,6 +5110,7 @@
$vehicle_data = $this->vehicleModel->where('is_active', 1)->findAll();
$user_data = $this->userModel->where('is_active', 1)->findAll();
$agent_data = db_connect()->table('partner_agent')->where('is_active', 1)->get()->getResultArray();
+ $pos_data = db_connect()->table('partner_pos')->where('is_active', 1)->get()->getResultArray();
$rto_master = db_connect()->table('rto_master')->where('is_active', 1)->get()->getResultArray();
$vehicle_type_data = db_connect()->table('vehicle_type')->where('is_active', 1)->get()->getResultArray();
$nhance_branch_data = db_connect()->table('nhance_branch')->where('is_active', 1)->get()->getResultArray();
@@ -5191,7 +5193,8 @@
$current_insurer_branch_data = check_insurer_branch_exist($row, $insurer_branch_data, $current_insurer_data)['branch'] ?? null;
$current_nhance_branch = check_nhance_branch($row, $nhance_branch_data)['branch'] ?? null;
- $current_agent_data = check_agent_exist($row, $agent_data)['agent'] ?? null;
+ // $current_agent_data = check_agent_exist($row, $agent_data)['agent'] ?? null;
+ $current_agent_data = check_agent_exist($row, $pos_data)['agent'] ?? null;
$salse = check_user_exist($row, 13, $user_data)['user'] ?? null;
$service = check_user_exist($row, 14, $user_data)['user'] ?? null;
@@ -5229,8 +5232,9 @@
'salse_person_manager_id' => $salse['rm_id'] ?? null,
'service_person_manager_id' => $service['rm_id'] ?? null,
'service_person_branch_id' => $service['nhance_branch_id'] ?? null,
- 'agent_id' => $current_agent_data['id'] ?? null,
- 'agent_code' => $current_agent_data['agent_code'] ?? null,
+ // 'agent_id' => $current_agent_data['id'] ?? null,
+ // 'agent_code' => $current_agent_data['agent_code'] ?? null,
+ 'pos_id' => $current_agent_data['id'] ?? null,
'file_id' => $params['file_id'],
'endorsement_no' => null,
'client_branch_id' => null,
diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php
index 59307eac..1dbe0636 100644
--- a/app/Controllers/TicketController.php
+++ b/app/Controllers/TicketController.php
@@ -424,7 +424,6 @@ class TicketController extends BaseController
return $this->loadLayout('ticket_search', $data);
} else {
-
$isFromDashboard = $this->request->getPost("is_dashboard");
log_message('error', 'Is From Dashboard: ' . $isFromDashboard);
@@ -446,7 +445,6 @@ class TicketController extends BaseController
}
$data['claim_status'] = $this->claimStatus->select('id,ticket_type,claim_status')->where('is_active', 1)->findAll();
$data['client_list'] = $this->clientModel->select('id,client_name')->where('is_active', 1)->findAll();
- // dd($data);
return $this->loadLayout('ticket_search', $data);
}
diff --git a/app/Filters/AuthMVC.php b/app/Filters/AuthMVC.php
index ef2da046..298a72b9 100755
--- a/app/Filters/AuthMVC.php
+++ b/app/Filters/AuthMVC.php
@@ -23,11 +23,11 @@ class AuthMVC implements FilterInterface
// }
// Fingerprint validation
- $fp = generateFingerprint();
- // log_message('error',$fp);
- if (session()->get('fingerprint') !== $fp) {
- return AuthLogout::logout();
- }
+ // $fp = generateFingerprint();
+ // // log_message('error',$fp);
+ // if (session()->get('fingerprint') !== $fp) {
+ // return AuthLogout::logout();
+ // }
}
diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php
index a4f773cd..5b5d6b7b 100755
--- a/app/Helpers/excel_util_helper.php
+++ b/app/Helpers/excel_util_helper.php
@@ -3149,7 +3149,7 @@ if (!function_exists('check_agent_exist')) {
// Loop agent data from DB
foreach ($agent_data as $agent) {
// Assuming DB keys: agent_code
- if (isset($agent['agent_code']) && $agent['agent_code'] == $agent_code) {
+ if (isset($agent['pos_code']) && (strtolower($agent['pos_code']) == strtolower($agent_code))) {
return [
'status' => true,
'error' => null,
@@ -3173,6 +3173,24 @@ if (!function_exists('check_rto_data')) {
$vehicle_no = strtoupper(trim($row[2])); // Example: TN10AB1234
$new_vehicle = strtolower(trim($row[2]));
+ if(!validate_indian_vehicle_number($vehicle_no)['status']){
+ return [
+ 'status' => false,
+ 'error' => 'Invalid Vehicle Number. Format should be like TN82AX2024 (no spaces or special characters).'
+ ];
+ };
+
+ // BH Series: 22BH1234AA
+ $bhPattern = '/^[0-9]{2}BH[0-9]{4}[A-Z]{2}$/';
+
+ if (preg_match($bhPattern, $vehicle_no)) {
+ return [
+ 'status' => true,
+ 'error' => null,
+ 'rto_data' => []
+ ];
+ }
+
if($new_vehicle == "new"){
return [
'status' => true,
diff --git a/app/Helpers/sendMailNotification.php b/app/Helpers/sendMailNotification.php
index cc46a3cd..5327f8d5 100755
--- a/app/Helpers/sendMailNotification.php
+++ b/app/Helpers/sendMailNotification.php
@@ -116,6 +116,21 @@ class sendMailNotification
$tpa_id = $params['tpa_id'];
$common = $params['common'];
+ $mailAttachmentModel = new MailAttachmentModel();
+ $attachment_data = $mailAttachmentModel
+ ->select('file_path, file_name')
+ ->where('notification_id', $notification['id'])
+ ->where('is_active', 1)
+ ->findAll();
+
+ $attachments = [];
+ foreach ($attachment_data as $data) {
+ $attachments[] = [
+ "filePath" => WRITEPATH . $data['file_path'],
+ "fileName" => $data['file_name']
+ ];
+ }
+
$mail_content = $notification['mail_content'];
$mail = $get_emp_email_and_other_details['email_corporate'];
@@ -160,7 +175,7 @@ class sendMailNotification
$mail_content = view('mail_template', $data);
- $wholeData = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content,'bcc'=> $client_data['common_mails'], 'reply_to' => $client_data['reply_to'], 'common' => $common];
+ $wholeData = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content,'bcc'=> $client_data['common_mails'],'attachments' => $attachments, 'reply_to' => $client_data['reply_to'], 'common' => $common];
return $wholeData;
diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php
index dc7ba8b2..efec7f1d 100755
--- a/app/Helpers/utility_helper.php
+++ b/app/Helpers/utility_helper.php
@@ -640,6 +640,8 @@ if (!function_exists('change_date_format')) {
'd/m/Y', // 01/01/2025
'd-m-Y', // 01-01-2025
+ 'm/d/Y h:i:s A', // 01-01-2025
+ 'm/d/Y', // 25-05-2025
];
@@ -1099,3 +1101,33 @@ if (!function_exists('convertGoogleDriveToDownloadLink')) {
}
}
+if (!function_exists('get_cd_balance')) {
+ function get_cd_balance(): array
+ {
+ $session = session();
+
+ return [
+ 'has_cd_balance' => $session->has('cd_balance'),
+ 'hr_data' => $session->get('hr_data') ?? [],
+ 'cd_balance_info' => $session->get('cd_balance_info') ?? [],
+ ];
+ }
+}
+
+if (!function_exists('clear_cd_balance_session')) {
+ function clear_cd_balance_session(): void
+ {
+ $session = session();
+
+ $session->remove('cd_balance');
+ $session->remove('hr_data');
+ $session->remove('cd_balance_info');
+
+ log_message('error', 'clear_cd_balance_session clered');
+ }
+}
+
+
+
+
+
diff --git a/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php b/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php
index 1f62ea7f..21818613 100644
--- a/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/AbhiClaimImportService.php
@@ -82,7 +82,6 @@ class AbhiClaimImportService extends BaseTpaClaimImportService
["excel_column" => ["col_name" => "CORPORATE_EMPLOYEE_CODE", "col_index" => 63], "db_column" => "corporate_employee_code"],
];
-
protected $ticketMasterMapping = [
// Employee / Member details
@@ -115,19 +114,31 @@ class AbhiClaimImportService extends BaseTpaClaimImportService
// Misc
'diagnosis' => 'claim_description',
'healthcard_id' => 'tpa_no',
-
- 'priority' => 1,
- 'mode_of_intimation' => 5,
- 'ticket_type_id' => 1,
];
-
protected $statusMapping = [
'Settled' => 11,
'Rejected' => 8,
'Cancelled' => 13,
];
+ protected $dateColumns = [
+ 'policy_from',
+ 'policy_upto',
+
+ 'intimation_date',
+ 'date_of_doc_rec',
+
+ 'doa',
+ 'dod',
+
+ 'repudiation_date',
+ 'settled_date',
+
+ 'expected_doa',
+ 'expected_dod',
+ ];
+
/**
* ABSTRACT FUNCTIONs
@@ -215,14 +226,13 @@ class AbhiClaimImportService extends BaseTpaClaimImportService
$dbColumn = $map['db_column'];
$value = $row[$excelColumn] ?? null;
-
- if ($this->isDateValue($value)) {
- $value = $this->normalizeDate($value);
- }
-
$item[$dbColumn] = trim($value);
}
+ foreach ($this->dateColumns as $key => $value) {
+ $item[$value] = change_date_format($item[$value] ?? null, 'm/d/Y h:i:s A', 'Y-m-d');
+ }
+
$params = [
'doa' => $item['doa'] ?? null,
'member_code' => $item['member_code'] ?? null,
@@ -346,6 +356,10 @@ class AbhiClaimImportService extends BaseTpaClaimImportService
$item['claim_dump_ref_id'] = $row['id'];
$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;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
+
$mapped[] = $item;
}
diff --git a/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php b/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php
index ced6c2f3..72614418 100644
--- a/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/FhplClaimImportService.php
@@ -4,8 +4,6 @@ namespace App\Libraries\TPAClaimsImportServices;
use App\Models\TicketMasterModel;
use App\Models\ClientPolicyModel;
-use App\Models\ClientRMModel;
-use App\Models\EmployeeModel;
use App\Models\ClaimDumpFileModel;
use App\Models\ClaimsDumpFhplModel;
@@ -140,39 +138,45 @@ class FhplClaimImportService extends BaseTpaClaimImportService
protected $ticketMasterMapping = [
- // Employee / Member details
- 'member_code' => 'emp_code',
- 'relation' => 'relationship',
+ // Claim / Reference
+ 'claim_id' => 'claim_number',
- // Policy / Claim identifiers
- 'policy_number' => 'policy_no',
- 'certificate_no' => 'claim_number',
- 'abhi_claim_no' => 'tpa_claim_id',
+ // Policy
+ 'policy_no' => 'policy_no',
- // Dates
- 'doa' => 'doa',
- 'dod' => 'dod',
- 'intimation_date' => 'date_of_intimat',
+ // Employee / Member
+ 'employee_id' => 'emp_code',
+ 'relationship' => 'relationship',
- // Claim info
- 'claim_type' => 'claim_type',
- 'claim_status' => 'tpa_claim_status',
- 'claimed_amount' => 'claim_amount',
- 'abhi_amount_less_coins_current_month' => 'approved_amount',
+ // Claim Dates
+ 'admission_date' => 'doa',
+ 'discharge_date' => 'dod',
+ 'claim_received_date' => 'date_of_intimat',
+ 'claim_passed_date' => 'approved_date',
+ 'settled_date' => 'settled_date',
- // Hospital details
- 'hospital_name' => 'hospital_name',
- 'hospital_city' => 'hospital_city',
- 'hospital_state' => 'hospital_state',
+ 'current_claim_status' => 'tpa_claim_status',
- // Settlement / decision
- 'repudiation_date' => 'denial_date',
- 'settled_date' => 'settled_date',
- 'rejection_category' => 'denial_reason',
+ // Amounts
+ 'claim_amount' => 'claim_amount',
+ 'settled_amount' => 'settled_amount',
+ 'disallowed_amount' => 'denial_reason',
+ 'coverage_amount' => 'si_amt',
- // Misc
- 'diagnosis' => 'claim_description',
- 'healthcard_id' => 'tpa_no',
+ // Hospital
+ 'provider_name' => 'hospital_name',
+ 'provider_address' => 'hospital_address',
+ 'provider_state' => 'hospital_state',
+ 'provider_place' => 'hospital_city',
+ 'provider_pincode' => 'hospital_pin_code',
+
+ // Remarks / Description
+ 'diagnosis' => 'claim_description',
+ 'rejection_remarks' => 'return_remark',
+
+ // Payment
+ 'cheque_no' => 'utr_details',
+ 'uhid_no' => 'tpa_no',
'priority' => 1,
'mode_of_intimation' => 5,
@@ -184,6 +188,33 @@ class FhplClaimImportService extends BaseTpaClaimImportService
'Rejected' => 8,
];
+ protected $dateColumns = [
+ 'intimation_date',
+ 'policy_start_date',
+ 'policy_commencing_date',
+ 'policy_expiry_date',
+ 'claim_received_date',
+ 'admission_date',
+ 'discharge_date',
+ 'cheque_date',
+ 'claim_passed_date',
+ 'settled_date',
+ 'ir_date',
+ 'ir_retrieval_date',
+ 'first_reminder',
+ 'second_reminder',
+ 'date_of_joining',
+ 'nidb_removed_date',
+ 'investigation_date',
+ 'investigation_retrieval_date',
+ 'reopened_date',
+ 'refer_to_insurer_date',
+ 'received_date_from_insurer',
+ 'claim_created_datetime',
+ 'last_modified_date'
+ ];
+
+
/**
* ABSTRACT FUNCTIONs
*/
@@ -260,27 +291,26 @@ class FhplClaimImportService extends BaseTpaClaimImportService
$dbColumn = $map['db_column'];
$value = $row[$excelColumn] ?? null;
-
- if ($this->isDateValue($value)) {
- $value = $this->normalizeDate($value);
- }
-
$item[$dbColumn] = trim($value);
}
- // $params = [
- // 'admission_date' => change_date_format($item['admission_date'] ?? '') ?? null,
- // 'employee_number' => $item['employee_number'] ?? null,
- // 'claim_amount' => $item['claim_amount'] ?? null,
- // 'primary_policy_holder_card_id' => $item['primary_policy_holder_card_id'] ?? null
- // ];
+ foreach ($this->dateColumns as $key => $value) {
+ $item[$value] = change_date_format($item[$value] ?? null, 'd-M-y', 'Y-m-d');
+ }
- // $is_duplicate = $this->checkDuplicateTpaClaim('claims_dump_fhpl', $params);
+ $params = [
+ 'admission_date' => $item['admission_date'] ?? null,
+ 'employee_id' => $item['employee_id'] ?? null,
+ 'claim_amount' => $item['claim_amount'] ?? null,
+ 'uhid_no' => $item['uhid_no'] ?? null
+ ];
- // if ($is_duplicate) {
- // $item = [];
- // continue;
- // }
+ $is_duplicate = $this->checkDuplicateTpaClaim('claims_dump_fhpl', $params);
+
+ if ($is_duplicate) {
+ $item = [];
+ continue;
+ }
$item['file_id'] = $file_id ?? null;
$item['client_id'] = $file_data['client_id'] ?? null;
@@ -332,10 +362,10 @@ class FhplClaimImportService extends BaseTpaClaimImportService
foreach ($tpaClaimDumpData as $row) {
$params = [
- 'doa' => change_date_format($row['date_of_admission'] ?? '') ?? null,
- 'emp_code' => $row['employee_number'] ?? null,
+ 'doa' => change_date_format($row['admission_date'] ?? '') ?? null,
+ 'emp_code' => $row['employee_id'] ?? null,
'claim_amount' => $row['claim_amount'] ?? null,
- 'tpa_no' => $row['primary_policy_holder_card_id'] ?? null
+ 'tpa_no' => $row['uhid_no'] ?? null
];
$isduplicate = $this->checkDublicateTicketMasterClaim($params);
@@ -354,9 +384,9 @@ class FhplClaimImportService extends BaseTpaClaimImportService
$item['tpa_id'] = $client_policy_data['tpa_id'] ?? null;
$item['acm_id'] = $client_policy_data['acm_id'] ?? null;
$item['policy_no'] = $client_policy_data['policy_no'] ?? null;
- $item['relationship'] = $this->convertRelation($row['relation'] ?? null, $row['gender'] ?? null);
+ $item['relationship'] = $this->convertRelation($row['relationship'] ?? null);
- $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_number'], $item['relationship']);
+ $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_id'], $item['relationship']);
if (!empty($employee_data)) {
$item['emp_id'] = $employee_data['id'] ?? null;
@@ -390,7 +420,10 @@ class FhplClaimImportService extends BaseTpaClaimImportService
$item['file_id'] = $file_id;
$item['claim_dump_ref_id'] = $row['id'];
$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['claim_type'] = 1;
+ $item['priority'] = 1;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
$mapped[] = $item;
}
@@ -419,83 +452,47 @@ class FhplClaimImportService extends BaseTpaClaimImportService
* HELPER FUNCTIONs
*/
- public function isDateValue($value): bool
- {
- if (empty($value)) {
- return false;
- }
-
- // Excel numeric date (e.g. 44927)
- if (is_numeric($value) && $value > 30000) {
- return true;
- }
-
- // Common date formats
- return preg_match(
- '/^\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}$|^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/',
- (string) $value
- ) === 1;
- }
-
-
- public function normalizeDate($value): ?string
- {
- try {
- // Excel numeric date
- if (is_numeric($value)) {
- return date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
- }
-
- // String date
- return date('Y-m-d', strtotime(str_replace('/', '-', $value)));
- } catch (\Throwable $e) {
- return null;
- }
- }
-
-
- public function convertRelation(string $relation, string $gender): ?string
+ public function convertRelation(?string $relation): ?string
{
if (empty($relation)) {
return null;
}
$relation = strtolower($relation);
- $gender = strtolower($gender);
- if ($relation == 'self') {
- return $relation;
+ if (str_contains($relation, 'self')) {
+ return 'self';
}
- if ($relation == 'spouse') {
- return $relation;
+ if (str_contains($relation, 'spouse') || str_contains($relation, 'wife') || str_contains($relation, 'husband')) {
+ return 'spouse';
}
- if ($relation == 'child' && $gender == 'male') {
- return 'son';
- }
-
- if ($relation == 'child' && $gender == 'female') {
+ if (str_contains($relation, 'daughter')) {
return 'daughter';
}
- if ($relation == 'parents' && $gender == 'male') {
- return 'father';
+ if (str_contains($relation, 'son')) {
+ return 'son';
}
- if ($relation == 'parents' && $gender == 'female') {
- return 'mother';
- }
-
- if ($relation == 'parents-in-law' && $gender == 'male') {
+ if (str_contains($relation, 'father in law') || str_contains($relation, 'father-in-law')) {
return 'father-in-law';
}
- if ($relation == 'parents-in-law' && $gender == 'female') {
+ if (str_contains($relation, 'mother in law') || str_contains($relation, 'mother-in-law')) {
return 'mother-in-law';
}
- return null;
+ if (str_contains($relation, 'father')) {
+ return 'father';
+ }
+
+ if (str_contains($relation, 'mother')) {
+ return 'mother';
+ }
+
+ return null; // unmatched case
}
diff --git a/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php b/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php
index 9f1ddfe3..b89221ae 100644
--- a/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/IciciClaimImportService.php
@@ -99,7 +99,7 @@ class IciciClaimImportService extends BaseTpaClaimImportService
'hospital_state' => 'hospital_state',
'cheque_number' => 'utr_details',
- 'tpa_no' => 'uhid',
+ 'uhid' => 'tpa_no',
'rejected_query_desc' => 'claim_description',
];
@@ -108,6 +108,23 @@ class IciciClaimImportService extends BaseTpaClaimImportService
'REJECTED' => 8,
];
+ protected $dateColumns = [
+ 'policy_start_date',
+ 'policy_end_date',
+
+ 'dt_of_deficiencies_sent',
+ 'dt_of_deficiencies_received',
+
+ 'payment_date',
+
+ 'doa',
+ 'dod',
+
+ 'rejected_query_closed_date',
+ 'rejreopen_closure_date',
+ ];
+
+
/**
* ABSTRACT FUNCTIONs
@@ -203,14 +220,13 @@ class IciciClaimImportService extends BaseTpaClaimImportService
$dbColumn = $map['db_column'];
$value = $row[$excelColumn] ?? null;
-
- if ($this->isDateValue($value)) {
- $value = $this->normalizeDate($value);
- }
-
$item[$dbColumn] = $value;
}
+ foreach ($this->dateColumns as $key => $value) {
+ $item[$value] = change_date_format($item[$value] ?? null);
+ }
+
$params = [
'doa' => change_date_format($item['doa'] ?? '') ?? null,
'employee_member_id' => $item['employee_member_id'] ?? null,
@@ -297,9 +313,9 @@ class IciciClaimImportService extends BaseTpaClaimImportService
$item['tpa_id'] = $client_policy_data['tpa_id'] ?? null;
$item['acm_id'] = $client_policy_data['acm_id'] ?? null;
$item['policy_no'] = $client_policy_data['policy_no'] ?? null;
- $item['relationship'] = strtolower($row['relation_group'] ?? '');
+ $item['relationship'] = $this->convertRelation($row['relation_group'] ?? '');
- $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_number'], $item['relationship']);
+ $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_member_id'], $item['relationship']);
if (!empty($employee_data)) {
$item['emp_id'] = $employee_data['id'] ?? null;
@@ -330,9 +346,13 @@ class IciciClaimImportService extends BaseTpaClaimImportService
// Meta fields
$item['claim_status_id'] = $statusMapping[$row['updated_status']] ?? 61;
+ $item['claim_dump_ref_id'] = $row['id'];
$item['file_id'] = $file_id;
$item['created_by'] = $file_data['created_by'] ?? null;
$item['claim_type'] = 1;
+ $item['priority'] = 1;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
$mapped[] = $item;
}
@@ -361,83 +381,48 @@ class IciciClaimImportService extends BaseTpaClaimImportService
* HELPER FUNCTIONs
*/
- public function isDateValue($value): bool
- {
- if (empty($value)) {
- return false;
- }
- // Excel numeric date (e.g. 44927)
- if (is_numeric($value) && $value > 30000) {
- return true;
- }
-
- // Common date formats
- return preg_match(
- '/^\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}$|^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/',
- (string) $value
- ) === 1;
- }
-
-
- public function normalizeDate($value): ?string
- {
- try {
- // Excel numeric date
- if (is_numeric($value)) {
- return date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
- }
-
- // String date
- return date('Y-m-d', strtotime(str_replace('/', '-', $value)));
- } catch (\Throwable $e) {
- return null;
- }
- }
-
-
- public function convertRelation(string $relation, string $gender): ?string
+ public function convertRelation(?string $relation): ?string
{
if (empty($relation)) {
return null;
}
$relation = strtolower($relation);
- $gender = strtolower($gender);
- if ($relation == 'self') {
- return $relation;
+ if (str_contains($relation, 'self')) {
+ return 'self';
}
- if ($relation == 'spouse') {
- return $relation;
+ if (str_contains($relation, 'spouse') || str_contains($relation, 'wife') || str_contains($relation, 'husband')) {
+ return 'spouse';
}
- if ($relation == 'child' && $gender == 'male') {
- return 'son';
- }
-
- if ($relation == 'child' && $gender == 'female') {
+ if (str_contains($relation, 'daughter')) {
return 'daughter';
}
- if ($relation == 'parents' && $gender == 'male') {
- return 'father';
+ if (str_contains($relation, 'son')) {
+ return 'son';
}
- if ($relation == 'parents' && $gender == 'female') {
- return 'mother';
- }
-
- if ($relation == 'parents-in-law' && $gender == 'male') {
+ if (str_contains($relation, 'father in law') || str_contains($relation, 'father-in-law')) {
return 'father-in-law';
}
- if ($relation == 'parents-in-law' && $gender == 'female') {
+ if (str_contains($relation, 'mother in law') || str_contains($relation, 'mother-in-law')) {
return 'mother-in-law';
}
- return null;
+ if (str_contains($relation, 'father')) {
+ return 'father';
+ }
+
+ if (str_contains($relation, 'mother')) {
+ return 'mother';
+ }
+
+ return null; // unmatched case
}
diff --git a/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php b/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php
index c8e39b21..7326567d 100644
--- a/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/MediAssistClaimImportService.php
@@ -112,7 +112,6 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
["excel_column" => ["col_name" => "balance_sum_insured_exhausted", "col_index" => 93], "db_column" => "balance_sum_insured_exhausted"],
];
-
protected $ticketMasterMapping = [
// Employee / Beneficiary details
@@ -121,12 +120,11 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
// Policy / Claim identifiers
'policy_no' => 'policy_no',
- 'claim_id' => 'tpa_claim_id',
- 'insurer_claim_ref_no' => 'tpa_no',
+ 'claim_id' => 'claim_number',
+ 'event_id' => 'tpa_no',
'claim_pre_auths' => 'tpa_claim_push_reference_no',
// Claim type & status
- 'claim_type' => 'claim_type',
'claim_status' => 'tpa_claim_status',
// Dates
@@ -155,12 +153,8 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
// Payment
'utr_no' => 'utr_details',
- 'priority' => 1,
- 'mode_of_intimation' => 5,
- 'ticket_type_id' => 1,
];
-
protected $statusMapping = [
'Settled' => 11,
'Rejected' => 8,
@@ -248,19 +242,14 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
$dbColumn = $map['db_column'];
$value = $row[$excelColumn] ?? null;
-
- if ($this->isDateValue($value)) {
- $value = $this->normalizeDate($value);
- }
-
$item[$dbColumn] = $value;
}
$params = [
'date_of_admission' => change_date_format($item['date_of_admission'] ?? '') ?? null,
- 'employee_number' => $item['employee_number'] ?? null,
+ 'pribenef_employee_code' => $item['pribenef_employee_code'] ?? null,
'claim_amount' => $item['claim_amount'] ?? null,
- 'primary_policy_holder_card_id' => $item['primary_policy_holder_card_id'] ?? null
+ 'event_id' => $item['event_id'] ?? null
];
$is_duplicate = $this->checkDuplicateTpaClaim('claims_dump_medi_assist', $params);
@@ -321,9 +310,9 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
$params = [
'doa' => change_date_format($row['date_of_admission'] ?? '') ?? null,
- 'emp_code' => $row['employee_number'] ?? null,
+ 'emp_code' => $row['pribenef_employee_code'] ?? null,
'claim_amount' => $row['claim_amount'] ?? null,
- 'tpa_no' => $row['primary_policy_holder_card_id'] ?? null
+ 'tpa_no' => $row['event_id'] ?? null
];
$isduplicate = $this->checkDublicateTicketMasterClaim($params);
@@ -342,9 +331,9 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
$item['tpa_id'] = $client_policy_data['tpa_id'] ?? null;
$item['acm_id'] = $client_policy_data['acm_id'] ?? null;
$item['policy_no'] = $client_policy_data['policy_no'] ?? null;
- $item['relationship'] = $this->convertRelation($row['relation'] ?? null, $row['gender'] ?? null);
+ $item['relationship'] = $this->convertRelation($row['benef_relation'] ?? null);
- $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_number'], $item['relationship']);
+ $employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['pribenef_employee_code'], $item['relationship']);
if (!empty($employee_data)) {
$item['emp_id'] = $employee_data['id'] ?? null;
@@ -378,7 +367,10 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
$item['file_id'] = $file_id;
$item['claim_status_id'] = $statusMapping[$row['claim_status']] ?? 61;
$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['claim_type'] = 1;
+ $item['priority'] = 1;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
$mapped[] = $item;
}
@@ -407,85 +399,48 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
* HELPER FUNCTIONs
*/
- public function isDateValue($value): bool
- {
- if (empty($value)) {
- return false;
- }
-
- // Excel numeric date (e.g. 44927)
- if (is_numeric($value) && $value > 30000) {
- return true;
- }
-
- // Common date formats
- return preg_match(
- '/^\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}$|^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/',
- (string) $value
- ) === 1;
- }
-
-
- public function normalizeDate($value): ?string
- {
- try {
- // Excel numeric date
- if (is_numeric($value)) {
- return date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
- }
-
- // String date
- return date('Y-m-d', strtotime(str_replace('/', '-', $value)));
- } catch (\Throwable $e) {
- return null;
- }
- }
-
-
- public function convertRelation(string $relation, string $gender): ?string
+ public function convertRelation(?string $relation): ?string
{
if (empty($relation)) {
return null;
}
$relation = strtolower($relation);
- $gender = strtolower($gender);
- if ($relation == 'self') {
- return $relation;
+ if (str_contains($relation, 'self')) {
+ return 'self';
}
- if ($relation == 'spouse') {
- return $relation;
+ if (str_contains($relation, 'spouse') || str_contains($relation, 'wife') || str_contains($relation, 'husband')) {
+ return 'spouse';
}
- if ($relation == 'child' && $gender == 'male') {
- return 'son';
- }
-
- if ($relation == 'child' && $gender == 'female') {
+ if (str_contains($relation, 'daughter')) {
return 'daughter';
}
- if ($relation == 'parents' && $gender == 'male') {
- return 'father';
+ if (str_contains($relation, 'son')) {
+ return 'son';
}
- if ($relation == 'parents' && $gender == 'female') {
- return 'mother';
- }
-
- if ($relation == 'parents-in-law' && $gender == 'male') {
+ if (str_contains($relation, 'father in law') || str_contains($relation, 'father-in-law')) {
return 'father-in-law';
}
- if ($relation == 'parents-in-law' && $gender == 'female') {
+ if (str_contains($relation, 'mother in law') || str_contains($relation, 'mother-in-law')) {
return 'mother-in-law';
}
- return null;
+ if (str_contains($relation, 'father')) {
+ return 'father';
+ }
+
+ if (str_contains($relation, 'mother')) {
+ return 'mother';
+ }
+
+ return null; // unmatched case
}
-
}
diff --git a/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php b/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php
index 8fef8232..4808d89e 100644
--- a/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/RcareClaimImportService.php
@@ -60,8 +60,6 @@ class RcareClaimImportService extends BaseTpaClaimImportService
// Employee / Member
'employee_member_id' => 'emp_code',
- 'insured_name' => 'insured_name',
- 'patient_name' => 'emp_name',
'relation' => 'relationship',
// Policy
@@ -95,10 +93,6 @@ class RcareClaimImportService extends BaseTpaClaimImportService
// References
'cl_inward_no' => 'claim_number',
-
- 'priority' => 1,
- 'mode_of_intimation' => 5,
- 'ticket_type_id' => 1,
];
protected $statusMapping = [
@@ -112,6 +106,17 @@ class RcareClaimImportService extends BaseTpaClaimImportService
'Cashless Document Awaited' => 3,
];
+ protected $dateColumns = [
+ 'inward_date',
+ 'policy_start_date',
+ 'policy_end_date',
+ 'doa_opd_treatment_from',
+ 'dod_opd_treatment_to',
+ 'approved_date',
+ 'cheque_neft_date'
+ ];
+
+
/**
* ABSTRACT FUNCTIONs
*/
@@ -205,14 +210,13 @@ class RcareClaimImportService extends BaseTpaClaimImportService
$dbColumn = $map['db_column'];
$value = $row[$excelColumn] ?? null;
-
- if ($this->isDateValue($value)) {
- $value = $this->normalizeDate($value);
- }
-
$item[$dbColumn] = $value;
}
+ foreach ($this->dateColumns as $key => $value) {
+ $item[$value] = change_date_format($item[$value] ?? null, 'd-M-y', 'Y-m-d');
+ }
+
$params = [
'doa_opd_treatment_from' => $item['doa_opd_treatment_from'] ?? null,
'employee_member_id' => $item['employee_member_id'] ?? null,
@@ -299,7 +303,7 @@ class RcareClaimImportService extends BaseTpaClaimImportService
$item['tpa_id'] = $client_policy_data['tpa_id'] ?? null;
$item['acm_id'] = $client_policy_data['acm_id'] ?? null;
$item['policy_no'] = $client_policy_data['policy_no'] ?? null;
- $item['relationship'] = $this->convertRelation($row['relation'] ?? null, $row['gender'] ?? null);
+ $item['relationship'] = $this->convertRelation($row['relation'] ?? null);
$employee_data = $this->getEmployeeDetails($file_data['client_id'], $file_data['client_policy_id'], $row['employee_member_id'], $item['relationship']);
@@ -334,7 +338,12 @@ class RcareClaimImportService extends BaseTpaClaimImportService
$item['claim_status_id'] = $statusMapping[$row['final_status']] ?? 61;
$item['file_id'] = $file_id;
$item['created_by'] = $file_data['created_by'] ?? null;
+ $item['claim_dump_ref_id'] = $row['id'];
$item['claim_type'] = 1;
+ $item['priority'] = 1;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
+
$mapped[] = $item;
}
@@ -363,83 +372,47 @@ class RcareClaimImportService extends BaseTpaClaimImportService
* HELPER FUNCTIONs
*/
- public function isDateValue($value): bool
- {
- if (empty($value)) {
- return false;
- }
-
- // Excel numeric date (e.g. 44927)
- if (is_numeric($value) && $value > 30000) {
- return true;
- }
-
- // Common date formats
- return preg_match(
- '/^\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}$|^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/',
- (string) $value
- ) === 1;
- }
-
-
- public function normalizeDate($value): ?string
- {
- try {
- // Excel numeric date
- if (is_numeric($value)) {
- return date('Y-m-d', \PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($value));
- }
-
- // String date
- return date('Y-m-d', strtotime(str_replace('/', '-', $value)));
- } catch (\Throwable $e) {
- return null;
- }
- }
-
-
- public function convertRelation(string $relation, string $gender): ?string
+ public function convertRelation(?string $relation): ?string
{
if (empty($relation)) {
return null;
}
$relation = strtolower($relation);
- $gender = strtolower($gender);
- if ($relation == 'self') {
- return $relation;
+ if (str_contains($relation, 'self')) {
+ return 'self';
}
- if ($relation == 'spouse') {
- return $relation;
+ if (str_contains($relation, 'spouse') || str_contains($relation, 'wife') || str_contains($relation, 'husband')) {
+ return 'spouse';
}
- if ($relation == 'child' && $gender == 'male') {
- return 'son';
- }
-
- if ($relation == 'child' && $gender == 'female') {
+ if (str_contains($relation, 'daughter')) {
return 'daughter';
}
- if ($relation == 'parents' && $gender == 'male') {
- return 'father';
+ if (str_contains($relation, 'son')) {
+ return 'son';
}
- if ($relation == 'parents' && $gender == 'female') {
- return 'mother';
- }
-
- if ($relation == 'parents-in-law' && $gender == 'male') {
+ if (str_contains($relation, 'father in law') || str_contains($relation, 'father-in-law')) {
return 'father-in-law';
}
- if ($relation == 'parents-in-law' && $gender == 'female') {
+ if (str_contains($relation, 'mother in law') || str_contains($relation, 'mother-in-law')) {
return 'mother-in-law';
}
- return null;
+ if (str_contains($relation, 'father')) {
+ return 'father';
+ }
+
+ if (str_contains($relation, 'mother')) {
+ return 'mother';
+ }
+
+ return null; // unmatched case
}
diff --git a/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php b/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php
index 33243d22..b8bc92b8 100644
--- a/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php
+++ b/app/Libraries/TPAClaimsImportServices/VidalClaimImportService.php
@@ -346,9 +346,6 @@ class VidalClaimImportService extends BaseTpaClaimImportService
// Meta
'file_id' => 'file_id',
- 'priority' => 1,
- 'mode_of_intimation' => 5,
- 'ticket_type_id' => 1,
];
@@ -566,6 +563,9 @@ class VidalClaimImportService extends BaseTpaClaimImportService
$item['claim_dump_ref_id'] = $row['id'];
$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;
+ $item['mode_of_intimation'] = 5;
+ $item['ticket_type_id'] = 1;
$mapped[] = $item;
}
diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php
index a466e712..fa7672ec 100755
--- a/app/Models/ClientPolicyModel.php
+++ b/app/Models/ClientPolicyModel.php
@@ -118,7 +118,16 @@ class ClientPolicyModel extends Model
return $this->db->table('client_policy')
- ->select('client_policy.*')
+ ->select('
+
+ client_policy.*,
+ CASE
+ WHEN client_policy.policy_entry_from = 3
+ AND client_policy.cd_ac_pk IS NULL
+ THEN leads.cd_amount
+ ELSE NULL
+ END AS lead_cd_amount
+ ', false)
->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
->select('policy_type.policy_type as policy_type_name')
@@ -132,6 +141,7 @@ class ClientPolicyModel extends Model
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
->join('policy_type', 'policy_type.id = client_policy.policy_type_id')
->join('client_branch', 'client_branch.id = client_policy.client_branch_id')
+ ->join('leads', 'client_policy.is_from_lead = leads.id', 'left')
->where('client_policy.client_id', $client_id)
// ->where('client_policy.policy_status', 1)
->where('client_policy.is_active', 1)
diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php
index 70f0485c..7df0e021 100755
--- a/app/Models/EmployeePolicyModel.php
+++ b/app/Models/EmployeePolicyModel.php
@@ -494,7 +494,6 @@ class EmployeePolicyModel extends Model
) as batch_data ON employee_polices.id = batch_data.emp_policy_id
WHERE employee_polices.client_policy_id = :client_policy_id:
- AND (employee_polices.:id: IS NULL OR employee_polices.:id: = '')
AND employees.client_branch_id = :client_branch_id:
AND employee_polices.is_active = 1
AND employee_polices.status = 'active'
@@ -502,6 +501,14 @@ class EmployeePolicyModel extends Model
AND employees.emp_status = 'active'
";
+ if($insurer_or_tpa == 'insurer'){
+ $sql .= "AND (employee_polices.uhid IS NULL OR employee_polices.uhid <> '')";
+ }
+
+ if($insurer_or_tpa == 'tpa'){
+ $sql .= "AND (employee_polices.tpa_id IS NULL OR employee_polices.tpa_id <> '')";
+ }
+
$binds = ["datas" => $datas,"event" => $event
,"insurer_or_tpa" => $insurer_or_tpa
,"client_policy_id" => $client_policy_id
diff --git a/app/Models/TicketMasterModel.php b/app/Models/TicketMasterModel.php
index 845a6fe2..f2feb0d5 100644
--- a/app/Models/TicketMasterModel.php
+++ b/app/Models/TicketMasterModel.php
@@ -92,6 +92,7 @@ class TicketMasterModel extends Model
'claim_description',
'required_docs',
'policy_transaction_id',
+ 'tpa_claim_type',
];
diff --git a/app/Views/cd_master_add_modal.php b/app/Views/cd_master_add_modal.php
index 84de0dd8..d07b87d4 100644
--- a/app/Views/cd_master_add_modal.php
+++ b/app/Views/cd_master_add_modal.php
@@ -289,7 +289,6 @@
$('#opening_date').val('');
$('#cd_ac_no_for_cd_master').val('');
- $('#opening_bal').val('');
// $('#CDMasterForm').attr('action', '');
$('#title').html('Add Opening Amount');
$('#cd_master_btn_Submit').html('Submit');
diff --git a/app/Views/client_api.php b/app/Views/client_api.php
index e57051f4..7cfd1ae7 100644
--- a/app/Views/client_api.php
+++ b/app/Views/client_api.php
@@ -57,7 +57,7 @@
Get Branch Wise Employee Data
= base_url("getClientBranchEmpData") ?>
-
+ -->
diff --git a/app/Views/client_list.php b/app/Views/client_list.php
index 0277d199..8169b0b0 100755
--- a/app/Views/client_list.php
+++ b/app/Views/client_list.php
@@ -102,7 +102,7 @@ table.dataTable thead th {
=$index+1?>
client_name; ?> ( short_name; ?> )
-
+
+
+ = $row->account_managers ?>
@@ -389,8 +392,10 @@ $(document).ready(function()
method: 'GET',
success: function(response) {
if (response.status === "success" && Array.isArray(response.data)) {
+ console.error("#CL 1 : ", response.data);
renderRows(response.data);
} else {
+ console.error("#CL 2 : ", response.data);
renderRows([]);
}
},
@@ -407,21 +412,21 @@ $(document).ready(function()
table.clear();
if (Array.isArray(data) && data.length) {
data.forEach((row, index) => {
- let clientrm = = json_encode($client_rm) ?>;
- let account_managers = "";
-
- clientrm.forEach(client => {
- if (client.client_id == row.id) {
- account_managers += client.account_manager + ", ";
- }
- });
- account_managers = account_managers.replace(/,\s*$/, "");
- if (account_managers === "") account_managers = "N/A";
+ // let clientrm = json_encode($client_rm)
+ // let account_managers = "";
+ //
+ // clientrm.forEach(client => {
+ // if (client.client_id == row.id) {
+ // account_managers += client.account_manager + ", ";
+ // }
+ // });
+ // account_managers = account_managers.replace(/,\s*$/, "");
+ // if (account_managers === "") account_managers = "N/A";
let rowData = [
index + 1,
`${row.client_name} (${row.short_name})`,
- account_managers,
+ row.account_managers,
`