Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
velz 2024-05-15 17:33:59 +05:30
commit d0f6db8884
12 changed files with 522 additions and 117 deletions

View File

@ -285,6 +285,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
$routes->post("calculatePremium", "EmployeeRestController::calculatePremium");
$routes->get("getEmployeeOldPolicy", "EmployeeRestController::getEmployeeOldPolicy");
$routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEmployeeActiveOrInactivePolicy");
});
$routes->post("sendEmail", "EmployeeRestController::send_email");

View File

@ -168,6 +168,8 @@ class ClientController extends AdminController
// echo "<pre>";
// print_r($data); die;
$data['placeHolders'] = ['member_name','nhance_logo','tpa_id','ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'client_name'];
echo view('layout/header', $headerData);
echo view('client_onboarding', $data);
@ -1241,19 +1243,19 @@ class ClientController extends AdminController
$client_policy_id = $this->request->getPost("client_policy_id");
$data['sum_insured'] =str_replace(',', '',$this->request->getPost("sum_insured"));
$data['family_floater'] =$this->request->getPost("family_floater");
$data['corporatebuffer'] = $this->request->getPost("corporatebuffer");
$data['family_floater'] =$this->request->getPost("family_floater") ? $this->request->getPost("family_floater") : 0;
$data['corporatebuffer'] = $this->request->getPost("corporatebuffer") ? $this->request->getPost("corporatebuffer") : 0;
$data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];
// print_r($this->request->getPost());die;
$data['age_ratio']['self']['min'] = $this->request->getPost("self_min_age");
$data['age_ratio']['self']['max'] = $this->request->getPost("self_max_age");
$data['age_ratio']['spouse']['min'] = $this->request->getPost("spouse_min_age");
$data['age_ratio']['spouse']['max'] = $this->request->getPost("spouse_max_age");
$data['age_ratio']['child']['min'] = $this->request->getPost("child_min_age");
$data['age_ratio']['child']['max'] = $this->request->getPost("child_max_age");
$data['age_ratio']['elders']['min'] = $this->request->getPost("other_member_min_age");
$data['age_ratio']['elders']['max'] = $this->request->getPost("other_member_max_age");
$data['age_ratio']['self']['min'] = $this->request->getPost("self_min_age") ? $this->request->getPost("self_min_age") :0;
$data['age_ratio']['self']['max'] = $this->request->getPost("self_max_age") ? $this->request->getPost("self_max_age") : 0;
$data['age_ratio']['spouse']['min'] = $this->request->getPost("spouse_min_age") ? $this->request->getPost("spouse_min_age") : 0;
$data['age_ratio']['spouse']['max'] = $this->request->getPost("spouse_max_age") ? $this->request->getPost("spouse_max_age") : 0;
$data['age_ratio']['child']['min'] = $this->request->getPost("child_min_age") ? $this->request->getPost("child_min_age") : 0;
$data['age_ratio']['child']['max'] = $this->request->getPost("child_max_age") ? $this->request->getPost("child_max_age") : 0;
$data['age_ratio']['elders']['min'] = $this->request->getPost("other_member_min_age") ? $this->request->getPost("other_member_min_age") :0;
$data['age_ratio']['elders']['max'] = $this->request->getPost("other_member_min_age") ? $this->request->getPost("other_member_min_age") : 0;
@ -1327,7 +1329,7 @@ class ClientController extends AdminController
}
}
$data['family_floaters']['elders_count'] =$this->request->getPost("member_count");
$data['family_floaters']['elders_count'] =$this->request->getPost("member_count") ? $this->request->getPost("member_count") : 0;
$data['waiverofpreexistingdiseases'] =$this->request->getPost("waiverofpreexistingdiseases");
if ($data['waiverofpreexistingdiseases'] == 1) {

View File

@ -563,7 +563,12 @@ class EmpDataServiceController extends BaseController
public function importInceptionFileValidation($params)
{
$this->myLogger->logme('info', 'importInceptionFileValidation called');
$file_id = $params['file_id'];
$this->myLogger->logme('error', 'importInceptionFileValidation batch file table primary id : {data}', ['data' => $file_id]);
$file = $this->batchFileModel->where('id', $file_id)->first();
$client_id = $file['client_id'];
$client_policy_id = $file['client_policy_id'];
@ -631,6 +636,7 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
$this->myLogger->logme('error', 'importInceptionFileValidation TPAID already updated');
return 3;
@ -641,14 +647,22 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
$this->myLogger->logme('error', 'importInceptionFileValidation UHID already updated');
return 5;
}
$this->myLogger->logme('error', 'importInceptionFileValidation UHID or TPAID already updated or the uploadedfile is not correct');
}
$excel_data_count = count($excel_data);
$emp_data_count = count($employee_data);
$this->myLogger->logme('error', 'importInceptionFileValidation excel file count : {data}', ['data' => $excel_data_count]);
$this->myLogger->logme('error', 'importInceptionFileValidation database count : {data}', ['data' => $emp_data_count]);
// dd($excel_data_count, $emp_data_count);
$difference = $emp_data_count - $excel_data_count;
@ -657,9 +671,11 @@ class EmpDataServiceController extends BaseController
$status = 'in-progress-partially';
$partially_updated_data = 'Expected : ' . $emp_data_count . ', ' . 'Updated : ' . $excel_data_count . ', ' . 'difference : ' . $difference;
$this->myLogger->logme('error', 'importInceptionFileValidation excel file count partially : {data}', ['data' => $partially_updated_data]);
}
if ($emp_data_count < $excel_data_count) {
$data = [
@ -667,6 +683,8 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
$this->myLogger->logme('error', 'importInceptionFileValidation excel file count ( {excel} ) exceeds db count ( {db} )', ['db' => $emp_data_count, 'excel' => $excel_data_count]);
return 6;
}
@ -905,6 +923,8 @@ class EmpDataServiceController extends BaseController
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'importInceptionUpdateTPAandUHID','payload' => ['file_id' => $file_id]]);
// $this->importInceptionUpdateTPAandUHID(['file_id' => $file_id]);
}
}
@ -913,6 +933,8 @@ class EmpDataServiceController extends BaseController
public function importInceptionUpdateTPAandUHID($params)
{
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID called');
$file_id = $params['file_id'];
$file = $this->batchFileModel->find($file_id);
if (!$file) {
@ -921,6 +943,8 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID the Physical file not found - file id : {data}', ['data' => $file_id]);
return 0; // Return error code if file not found
}
@ -929,13 +953,16 @@ class EmpDataServiceController extends BaseController
$insurer_or_tpa = $file['insurer_or_tpa'];
$status = $file['status'];
$batch_code = $file['batch_code'];
$user_id = $file['created_by'];
$status_val = 'success';
if($status == 'in-progress-partially'){
if ($status == 'in-progress-partially') {
$status_val = 'partially success';
}
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID file name : {data}', ['data'=> $file['file_name']]);
$file_name_with_path = WRITEPATH . "/uploads/import_excel/" . $file['file_name'];
$excel_data = $this->readExcelFileToArray($file_name_with_path);
@ -943,6 +970,7 @@ class EmpDataServiceController extends BaseController
array_pop($excel_data); // Remove footer row
$totals = 0;
$empty_emp_tpa_uh_ids = [];
$emp_count = count($excel_data);
$db = \Config\Database::connect();
@ -956,15 +984,43 @@ class EmpDataServiceController extends BaseController
$totals += $amount;
// Execute the query
$query = $db->table('employee_polices');
$query->select('employee_polices.id');
$query->join('employees', 'employees.id = employee_polices.employee_id');
$query->where('employee_polices.client_policy_id', $client_policy_id);
$query->where('employees.client_id', $client_id);
$query->where('employees.name', $name);
$query->where('employees.emp_code', $emp_code);
if ($file['insurer_or_tpa'] == 'tpa') {
$query->where('(employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = "")');
} else if ($file['insurer_or_tpa'] == 'insurer') {
$query->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")');
}
$query->where('employee_polices.is_active', 1);
$query->limit(1);
// Get the result
$result = $query->get()->getRowArray();
if (isset($result['id']) && $result['id'] !== null) {
$empty_emp_tpa_uh_ids[] = $result['id'];
}
$sql = "
UPDATE employee_polices
JOIN employees ON employees.id = employee_polices.employee_id
SET tpa_id = ?
WHERE employees.name = ?
AND employees.emp_code = ?
AND employee_polices.client_policy_id = ?
AND (employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = '')";
$params = [$tpa_id, $name, $emp_code];
$params = [$tpa_id, $name, $emp_code, $client_policy_id];
$db->query($sql, $params);
@ -975,9 +1031,10 @@ class EmpDataServiceController extends BaseController
SET employee_polices.uhid = ?
WHERE employees.name = ?
AND employees.emp_code = ?
AND employee_polices.client_policy_id = ?
AND (employee_polices.uhid IS NULL OR employee_polices.uhid = '')";
$params = [$uhid, $name, $emp_code];
$params = [$uhid, $name, $emp_code, $client_policy_id];
$db->query($sql, $params);
}
@ -988,6 +1045,50 @@ class EmpDataServiceController extends BaseController
'amount' => $totals,
]);
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID employee count : {data}', ['data'=> $emp_count]);
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID batch file status : {data}', ['data'=> $status_val]);
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID total amount for cash deposite : {data}', ['data'=> $totals]);
if ($file['insurer_or_tpa'] == 'tpa') {
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE');
$policy_name = $this->getPolicyNameUsingClientPolicyId($client_policy_id);
$depositeData = [
'employeeIds' => $empty_emp_tpa_uh_ids,
'client_id' => $client_id,
'client_policy_id' => $client_policy_id,
'count' => $emp_count,
'event' => $file['event_type'],
'policy_name' => $policy_name['policy_name'],
'user_id' => $user_id,
];
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'cashDepositCalculationForInception','payload' => [
'employeeIds' => $empty_emp_tpa_uh_ids,
'client_id' => $client_id,
'client_policy_id' => $client_policy_id,
'count' => $emp_count,
'event' => $file['event_type'],
'policy_name' => $policy_name['policy_name'],
'user_id' => $user_id,
]]);
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'sendMailForDownloadingECard','payload' => $empty_emp_tpa_uh_ids]);
// $this->cashDepositCalculationForInception($depositeData);
// $this->sendMailForDownloadingECard($empty_emp_tpa_uh_ids);
}
return 1;
}
@ -1600,6 +1701,11 @@ class EmpDataServiceController extends BaseController
$insurer_id = $this->clientPolicyModel->where('id', $arrayData['client_policy_id'])->first();
$description = 'The following amount of Rs. ' . $amount->total_sum . '/- has been debited for the ' . $arrayData['count'] . ' employees at ' . remove_underscore_capitalize_first_letter($arrayData['event']) . ' to ' . remove_underscore_capitalize_first_letter($arrayData['policy_name']) . '.';
if(get_session_userid() == null){
}
$data = [
'amount' => $amount->total_sum ?? 0,
@ -1608,10 +1714,10 @@ class EmpDataServiceController extends BaseController
'insurer_id' => $insurer_id['insurer_id'],
'description' => $description,
'transaction_type' => 'Debit',
'updated_by' => get_session_userid(),
'updated_by' => $arrayData['user_id'],
'is_active' => 1,
];
$response = DepositHelper::saveDeposit($data, get_session_userid());
$response = DepositHelper::saveDeposit($data, $arrayData['user_id']);
return true;
// print_r($response);
// $query = $this->employeePolicyModel->getLastQuery();
@ -1934,55 +2040,93 @@ class EmpDataServiceController extends BaseController
public function sendMailForDownloadingECard(array $ids)
{
try {
$count = 0;
foreach ($ids as $key => $id) {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - function called');
if (count($ids) > 0) {
$get_emp_email_and_other_details = $this->employeePolicyModel
->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
->join('employees', 'employees.id = employee_polices.employee_id')
->where('employees.emp_status', 'active')
->where('employees.is_active', '1')
->where('employee_polices.status', 'active')
->where('employee_polices.is_active', '1')
->where('employee_polices.id', $id)->first();
// echo "<pre>";
// print_r($notification);
// die;
$client_data = $this->clientModel->where('id',$get_emp_email_and_other_details['client_id'])->first();
$notification = $this->notificationModel->where('client_id',$get_emp_email_and_other_details['client_id'])->where('template_name','member_ecard_mail')->first();
if ($get_emp_email_and_other_details != null && $get_emp_email_and_other_details != "" && $notification['enabled'] == 1) {
$rand_string = $get_emp_email_and_other_details['rand_string'];
$tpa_id = $get_emp_email_and_other_details['tpa_id'];
$params['rand_string'] = $rand_string;
$params['tpa_id'] = $tpa_id;
$params['notification'] = $notification;
$params['client_data'] = $client_data;
$params['notification'] = $notification;
$params['notification'] = $notification;
$params['get_emp_email_and_other_details'] = $get_emp_email_and_other_details;
$wholeData = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
$count++;
$temp_id = $ids[0];
$get_client_info_for_notification = $this->employeePolicyModel
->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
->join('employees', 'employees.id = employee_polices.employee_id')
->where('employees.emp_status', 'active')
->where('employees.is_active', '1')
->where('employee_polices.status', 'active')
->where('employee_polices.is_active', '1')
->where('employee_polices.id', $ids[0])->first();
$client_data = $this->clientModel->where('id', $get_client_info_for_notification['client_id'])->first();
$notification = $this->notificationModel->where('client_id', $get_client_info_for_notification['client_id'])->where('template_name', 'member_ecard_mail')->first();
if ($notification != null && !empty($notification) && $notification['enabled'] == 1) {
try {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - inside try');
$count = 0;
foreach ($ids as $key => $id) {
$get_emp_email_and_other_details = $this->employeePolicyModel
->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
->join('employees', 'employees.id = employee_polices.employee_id')
->where('employees.emp_status', 'active')
->where('employees.is_active', '1')
->where('employee_polices.status', 'active')
->where('employee_polices.is_active', '1')
->where('employee_polices.id', $id)->first();
$this->myLogger->logme('error', 'sendMailForDownloadingECard - emp_policy_id : {id}', ['id' => $id]);
if ($get_emp_email_and_other_details != null && !empty($get_emp_email_and_other_details)) {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function inside if condition ',);
if($count == 20 || $count == count($ids)-1){
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]);
$wholeData = [];
$count = 0;
}
$rand_string = $get_emp_email_and_other_details['rand_string'];
$tpa_id = $get_emp_email_and_other_details['tpa_id'];
$params['rand_string'] = $rand_string;
$params['tpa_id'] = $tpa_id;
$params['notification'] = $notification;
$params['client_data'] = $client_data;
$params['notification'] = $notification;
$params['notification'] = $notification;
$params['get_emp_email_and_other_details'] = $get_emp_email_and_other_details;
$wholeData[] = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
$count++;
if ($count == 20 || $count == count($ids) - 1) {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job to bulk mail',);
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $wholeData]);
$wholeData = [];
$count = 0;
}
$this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function end ',);
}
}
return true; // Email(s) sent successfully
} catch (\Exception $e) {
// Log the error
$this->myLogger->logme('error', 'sendMailForDownloadingECard : inside catch');
$this->myLogger->logme('error', 'Error occurred while sending email: ' . $e->getMessage());
return false; // Email(s) sending failed
}
} else {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - the client notification setup not created or not enabled the E-Card Notification');
return false;
}
return true; // Email(s) sent successfully
} catch (\Exception $e) {
// Log the error
$this->myLogger->log('error', 'Error occurred while sending email: ' . $e->getMessage());
return false; // Email(s) sending failed
} else {
$this->myLogger->logme('error', 'sendMailForDownloadingECard - employee_policy_ids are empty');
return false;
}
}

View File

@ -424,7 +424,7 @@ class EmployeeController extends AdminController
$return = 1;
// $return = $empDataServiceController->importExcelDataForInception($batch_data);
// $return = $empDataServiceController->importInceptionFileValidation(['file_id' => $file_id]);
if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully. File is being validated.');
@ -858,11 +858,15 @@ class EmployeeController extends AdminController
// $data['data'] = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
$data = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
// dd($data);
$template_data_path = WRITEPATH . 'e_card_template/';
$tpa_short_name = strtolower(str_replace(' ', '_', $get_emp_code_and_client_policy_id['short_name'])) . '.html';
$final_path = $template_data_path . $tpa_short_name;
// dd($template_data_path, $tpa_short_name, $final_path);
if (!file_exists($final_path)) {
$data['message'] = 'Record Not Found';
@ -871,6 +875,7 @@ class EmployeeController extends AdminController
$tmplt_data = file_get_contents($final_path);
// dd($tmplt_data);
$html = ""; // Initialize the HTML variable
foreach ($data as $key => $value) {
@ -895,6 +900,7 @@ class EmployeeController extends AdminController
'{EMP_ID}' =>$value['emp_code'],
'{CORPORATE_NAME}' =>$value['client_name'],
'{AGE}' =>$value['emp_age'],
'{TPA_NAME}' =>$value['emp_age'],
];
// Replace placeholders with values in HTML content

View File

@ -618,7 +618,6 @@ class EmployeeRestController extends AdminController
$client_data = $this->clientModel->where('id', $client_id)->first();
$notification = $this->notificationModel->where('client_id',$client_id)->where('template_name','member_welcome_mail')->first();
$jwt = $this->request->getHeader('Authorization');
$jwtParts = explode(' ', $jwt);
@ -874,8 +873,9 @@ class EmployeeRestController extends AdminController
$emp_policy = $this->employeePolicyModel->insert($emp_policy_data);
}
$notification = $this->notificationModel->where('client_id',$client_id)->where('template_name','member_welcome_mail')->first();
if ($notification['enabled'] == 1) {
if (isset($notification) && $notification['enabled'] == 1) {
//trigger
if ($dataToInsert[$a]['relationship'] == 'Self') {
@ -900,7 +900,6 @@ class EmployeeRestController extends AdminController
// if ($dataToInsert[$a]['email_corporate'] != null || $dataToInsert[$a]['email_corporate'] != '' && $dataToInsert[$a]['relationship'] == 'Self') {
}
}
return $this->respond(['status' => 'success', 'code' => 200, 'message' => "Success" ], 200);
}else{
@ -917,7 +916,19 @@ class EmployeeRestController extends AdminController
//-------------------------------------
public function getAgeRange($terms,$familyFloatesValue)
{
$ageRangeArray = ['self' => ['min' => 18, 'max' => 60] , 'spouse' => ['min' => 18, 'max' => 60] , 'child' => ['min' => 0, 'max' => 25] , 'elders' => ['min' => 18, 'max' => 60] ];
$ageKey = (preg_replace('/\d/', '', $familyFloatesValue) == 'parent' || preg_replace('/\d/', '', $familyFloatesValue) == 'parent_in_law') ? 'elders' : preg_replace('/\d/', '', $familyFloatesValue);
if(isset($terms->age_ratio)){
return $terms->age_ratio->$ageKey;
}else{
return $ageRangeArray[$ageKey];
}
}
public function getEmployeePolicy()
{
try {
@ -960,7 +971,7 @@ public function getEmployeePolicy()
// Construct value for policy type GPA
if($getSlabAndGridData['grid_master']['policy_type'] == "GPA"){
if($getSlabAndGridData['grid_master']['policy_type'] == "GPA" && $this->request->getGet('policy') == 'GPA'){
// Filter employee data where the family_floater_key is 'self'
$selfData = array_filter($empData, fn($arr) => trim(strtolower($arr['family_floater_key'])) === 'self');
@ -985,7 +996,7 @@ public function getEmployeePolicy()
}
// Construct value for policy type GMC
}else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC"){
}else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC" && $this->request->getGet('policy') == 'GMC' ){
@ -1022,10 +1033,10 @@ public function getEmployeePolicy()
$temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
$temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent;
$temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$ageKey = ($dependent == 'parent' || $dependent == 'parent_in_law') ? 'elders' : $dependent;
$temp['data']['age_validation'] = $decodedArray->age_ratio->$ageKey;
$temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$temp['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp);
unset($empData[$key]);
@ -1035,7 +1046,7 @@ public function getEmployeePolicy()
}
}
}
// dd($data);
// Remove Unwanted floter key from floters array based on either-parents-pil term value
@ -1064,6 +1075,9 @@ public function getEmployeePolicy()
$temp2['data']['client_policy_id'] = $array->ClientPolicyId;
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
$temp2['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp2);
@ -1191,8 +1205,8 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
$temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent;
$temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$ageKey = ($dependent == 'parent' || $dependent == 'parent_in_law') ? 'elders' : $dependent;
$temp['data']['age_validation'] = $array->Policy_Terms->age_ratio->$ageKey;
$temp['data']['age_validation'] = $this->getAgeRange($array->Policy_Terms,$familyFloatesValue);
array_push($data,$temp);
unset($empData[$key]);
@ -1229,7 +1243,7 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
$temp2['data']['client_policy_id'] = $array->ClientPolicyId;
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
$temp2['data']['age_validation'] = $this->getAgeRange($array->Policy_Terms,$familyFloatesValue);
array_push($data,$temp2);
}
@ -1430,7 +1444,9 @@ public function getAddOnPolicy()
$temp['data']['client_policy_id'] = $array['id'];
$temp['data']['form_type'] = $dependent;
$temp['data']['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
$temp['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
$temp['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
$temp['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp);
unset($addOnEmployeeData[$key]);
$floters = array_diff($floters, [$familyFloatesValue]);
@ -1487,6 +1503,8 @@ public function getAddOnPolicy()
$temp2['data']['client_policy_id'] = $array['id'];
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
$temp2['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp2);
@ -1650,26 +1668,33 @@ public function iAgreeForAddOn()
$find = $this->employeeModel->getEmpFamilybyEmpCode(client_policy_id: $value,emp_code: $emp_code,client_id: $client_id,emp_status:['draft','enrolled'],policy_status:['draft','enrolled']);
$array_list[] = $find;
}
$params ['array_list'] = $array_list;
$params ['client_policy_id'] = $client_policy_id;
$params ['emp_code'] = $emp_code;
$params ['client_id'] = $client_id;
$wholeData =sendMailNotification::sendMailNotification('member_review_and_summary_mail', $params);
MailHelper::send_email($wholeData[0]);
$notification = $this->notificationModel->where('client_id' ,$client_id)->where('template_name', 'member_review_and_summary_mail')->first();
if (isset($wholeData[0])) {
$account_manager_wholeData =sendMailNotification::sendMailNotification('account_maneger_summary_mail', $params);
foreach ($account_manager_wholeData as $key => $value) {
MailHelper::send_email($value);
}
if (isset($notification) && $notification['enabled'] == 1) {
$params ['array_list'] = $array_list;
$params ['client_policy_id'] = $client_policy_id;
$params ['emp_code'] = $emp_code;
$params ['client_id'] = $client_id;
$params ['notification'] = $notification;
$client_hr_wholeData =sendMailNotification::sendMailNotification('client_hr_summary_mail', $params);
$wholeData =sendMailNotification::sendMailNotification('member_review_and_summary_mail', $params);
MailHelper::send_email($wholeData[0]);
foreach ($client_hr_wholeData as $key => $value) {
MailHelper::send_email($value);
if (isset($wholeData[0])) {
$account_manager_wholeData =sendMailNotification::sendMailNotification('account_maneger_summary_mail', $params);
foreach ($account_manager_wholeData as $key => $value) {
MailHelper::send_email($value);
}
$client_hr_wholeData =sendMailNotification::sendMailNotification('client_hr_summary_mail', $params);
foreach ($client_hr_wholeData as $key => $value) {
MailHelper::send_email($value);
}
}
}
@ -2023,6 +2048,83 @@ function getEmployeeOldPolicy()
}
function getEmployeeActiveOrInactivePolicy()
{
if($this->request->getGet('type') == 'Active'){ $value = 1; }else{ $value = 0; }
$ClientPolicyData = $this->clientPolicyModel->select('client_policy.* , policies.name as policy_name , policy_type.policy_type as policy_type')
->join('policies', 'client_policy.policy_id = policies.id', 'left')
->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
->where('client_policy.client_id', $this->request->getGet('client_id') )
->where('client_policy.is_active', 1 )
->where('client_policy.policy_status', $value)
->orderby('client_policy.id' , 'ASC')
->findAll();
// Retrieve employee and dependents data by passing the employee code
$employeeData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code'))
->where('client_id',$this->request->getGet('client_id'))
->where('is_active', 1 )->findAll();
$whereArrayForId = [];
foreach ( $employeeData as $key => $value) { array_push($whereArrayForId, $value['id']); }
if(count($ClientPolicyData) > 0 && count($employeeData) > 0)
{
$result = [];
foreach ($ClientPolicyData as $key => $ClientPolicyValue) {
$terms = json_decode($ClientPolicyValue['policy_terms']);
// dd($terms);
$data['client_id'] = $ClientPolicyValue['client_id'];
$data['client_policy_id'] = $ClientPolicyValue['id'];
$data['policy_name'] = $ClientPolicyValue['policy_name'];
$data['policy_type'] = $ClientPolicyValue['policy_type'];
$data['policy_type'] = $ClientPolicyValue['policy_type'];
$data['policy_start_date'] = $this->convertDateFormatDisplay($ClientPolicyValue['policy_start_date']);
$data['policy_end_date'] = $this->convertDateFormatDisplay($ClientPolicyValue['policy_end_date']);
if($ClientPolicyValue['policy_type_id'] == 1){ $data['heading'] = 'Group Personal Accident Coverage'; }else
if($ClientPolicyValue['policy_type_id'] == 2){ $data['heading'] = 'Group Medical Coverage'; }else
if($ClientPolicyValue['policy_type_id'] == 3){ $data['heading'] = 'Group Medical Coverage - Parents'; }else
if($ClientPolicyValue['policy_type_id'] == 4){ $data['heading'] = 'Group Medical Coverage - Top Up'; }else
if($ClientPolicyValue['policy_type_id'] == 5){ $data['heading'] = 'Group Medical Coverage - Parents (Top Up)'; }
if($ClientPolicyValue['policy_type_id'] == 1){ $data['floter_text_heading'] = 'Sum Insured'; }
else
{
if($terms->family_floater == 1){ $data['floter_text_heading'] = 'Floter Sum Insured'; }else{ $data['floter_text_heading'] = 'Sum Insured'; }
}
$employee_policy = $this->employeePolicyModel->select('employees.*,employee_polices.employee_id , employee_polices.basic_cover_si , employee_polices.premium , employee_polices.gst , employee_polices.tpa_id , employee_polices.rand_string')
->join('employees', 'employee_polices.employee_id = employees.id', 'left')
->whereIn('employee_polices.employee_id',$whereArrayForId)
->where('employee_polices.client_policy_id',$ClientPolicyValue['id'])
->where('employee_polices.is_active', 1 )->findAll();
$si_value = 0;
$si_premium_value = 0;
$si_gst_value = 0;
foreach ($employee_policy as $key => $value) {
if(isset($value['basic_cover_si'])){ $si_value = $value['basic_cover_si']; }
if(isset($value['premium'])){ $si_premium_value = $si_premium_value + $value['premium'];}
if(isset($value['gst'])){ $si_gst_value = $si_gst_value + $value['gst'];}
}
$data['si_value'] = $si_value;
$data['si_premium_value'] = ($ClientPolicyValue['policy_type_id'] == 1 || $ClientPolicyValue['policy_type_id'] == 2) ? 0 : $si_premium_value;
$data['si_gst_value'] = ($ClientPolicyValue['policy_type_id'] == 1 || $ClientPolicyValue['policy_type_id'] == 2) ? 0 : $si_gst_value;
$data['EmployeePolicy'] = $employee_policy;
array_push($result, $data);
}
return $this->respond(['status' => 'success','code' => 200,'data' => $result ], 200);
}else{
return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 200);
}
}
private function convertDateFormatDisplay($dateString)
{

View File

@ -18,6 +18,8 @@ class JobWorker extends AdminController
'add' => ['type' => 'HC', 'handler' => 'App\\Helpers\\HttpRequestHelper'], 'sub' => ['type' => 'CC', 'handler' => 'App\\Controllers\\Jobs\SubJob'], 'fancy_date_time_format' => ['type' => 'HF', 'handler' => 'fancy_date_time_format'], 'addNumber' => ['type' => 'HC', 'handler' => 'App\\Model\\HttpRequestHelper'], 'excelFileFormatValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'excelFileDataValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesOnboardPreprocess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeeDisembark' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesSIEnhanceProcess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesCorrectionProcess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'send_email' => ['type' => 'HC', 'handler' => 'App\\Helpers\\MailHelper'], 'bulk_mail' => ['type' => 'HC', 'handler' => 'App\\Helpers\\MailHelper'], 'insertBatchList' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'importInceptionFileValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'importInceptionUpdateTPAandUHID' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'cashDepositCalculationForInception' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'sendMailForDownloadingECard' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
];
public function __construct()
{

View File

@ -58,7 +58,6 @@ class MailHelper
}
}
public static function bulk_mail(array $mails = [])
{
// print_r();die;
@ -78,6 +77,5 @@ class MailHelper
}
}
}
?>

View File

@ -263,6 +263,13 @@ input:checked + .slider:before {
success: function(res) {
console.log(res);
console.log($('#general_PrimaryKey').val());
if($('#general_PrimaryKey').val() == ""){
window.location.href = '<?= base_url("client/list/"); ?>' + res.data.id;
}
if(res){
setTimeout(function() {
@ -300,7 +307,6 @@ input:checked + .slider:before {
var client_id_for_file = res.data.id;
console.log()
if(PrimaryKey === ''){
$.ajax({

View File

@ -201,11 +201,11 @@ body {
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
$('#btnBranchAdd').hide();
$('#notification-tab').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
if ($('#notification-tab')[0].style.display == 'none') {
$('#notification-tab').show();
}
}
@ -236,10 +236,10 @@ body {
client_branch_contact();
});
// document.getElementById("notification_tab").addEventListener("click", function(event) {
// event.preventDefault();
// client_notification();
// });
document.getElementById("notification_tab").addEventListener("click", function(event) {
event.preventDefault();
client_notification();
});
</script>

View File

@ -25,6 +25,7 @@
$member_review_and_summary_mail = 0;
$account_maneger_summary_mail = 0;
$client_hr_summary_mail = 0;
if(isset($notification)){
foreach($notification as $value){
if ($value['template_name'] == 'member_welcome_mail') {
@ -50,6 +51,7 @@
if ($value['template_name'] == 'client_hr_summary_mail') {
$client_hr_summary_mail = $value['enabled'];
}
}
}
?></p>
</div>
@ -57,15 +59,15 @@
<div class="form-row">
<div class="form-group col-md-6">
<label for="branch_name">Nhance team mail ID's<span class="text-danger">*</span></label>
<textarea name="" id="nhance_team_mail_ids" class="form-control" placeholder="Example: jhon@gmail.com, dave@gmail.com"><?php echo $client['common_mails'] ?></textarea>
<textarea name="" id="nhance_team_mail_ids" class="form-control" placeholder="Example: jhon@gmail.com, dave@gmail.com"><?php echo isset($client['common_mails']) ? $client['common_mails'] : ''; ?></textarea>
</div>
<div class="form-group col-md-6">
<label for="branch_name">HR mail ID's<span class="text-danger">*</span></label>
<textarea name="" id="hr_mail_id" class="form-control" placeholder="Example: jhon@gmail.com, dave@gmail.com"><?php echo $client['hr_mails'] ?></textarea>
<textarea name="" id="hr_mail_id" class="form-control" placeholder="Example: jhon@gmail.com, dave@gmail.com"><?php echo isset($client['hr_mails']) ? $client['hr_mails'] : ''; ?></textarea>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-5">
<div class="form-group col-md-6">
<label for="branch_name">Member welcome mail</label>
<label class="switch">
<input id="member_welcome_mail_btn" type="checkbox" name="member_welcome_mail_btn" <?= ($member_welcome_mail == 1) ? 'checked' : '' ?>>
@ -81,8 +83,8 @@
</div>
<div class="form-row">
<div class="form-group col-md-5">
<label for="branch_name">Member remider mail</label>
<div class="form-group col-md-6">
<label for="branch_name">Member reminder mail</label>
<label class="switch">
<input id="member_reminder_mail_btn" type="checkbox" name="member_reminder_mail_btn" <?= $member_reminder_mail == 1 ? 'checked' : '' ?>>
<span class="slider round" style="height: 27px;"></span>
@ -96,7 +98,7 @@
</div>
<div class="form-row">
<div class="form-group col-md-5">
<div class="form-group col-md-6">
<label for="branch_name">Member ECard mail</label>
<label class="switch">
<input id="member_ecard_mail_btn" type="checkbox" name="member_ecard_mail_btn" <?= $member_ecard_mail == 1 ? 'checked' : '' ?>>
@ -111,7 +113,7 @@
</div>
<div class="form-row">
<div class="form-group col-md-5">
<div class="form-group col-md-6">
<label for="branch_name">Member Review and summary mail</label>
<label class="switch">
<input id="member_review_and_summary_mail_btn" type="checkbox" name="member_review_and_summary_mail_btn" <?= $member_review_and_summary_mail == 1 ? 'checked' : '' ?>>
@ -126,7 +128,7 @@
</div>
<div class="form-row">
<div class="form-group col-md-5">
<div class="form-group col-md-6">
<label for="branch_name">Account Maneger summary mail</label>
<label class="switch">
<input id="account_maneger_summary_mail_btn" type="checkbox" name="account_maneger_summary_mail_btn" <?= $account_maneger_summary_mail ? 'checked' : '' ?>>
@ -141,7 +143,7 @@
</div>
<div class="form-row">
<div class="form-group col-md-5">
<div class="form-group col-md-6">
<label for="branch_name">Client HR summary mail</label>
<label class="switch">
<input id="client_hr_summary_mail_btn" type="checkbox" name="client_hr_summary_mail_btn" <?= $client_hr_summary_mail == 1 ? 'checked' : '' ?>>
@ -210,7 +212,7 @@
<div class="form-group col-md-12">
<select id="member_welcome_mail_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;">
<option value="">PlaceHolders</option>
<?php foreach ($placeHolders as $value): ?>
<?php foreach ($placeHolders as $value): ?>
<?php if($value == 'member_name' || $value == 'nhance_logo' || $value == 'client_logo' || $value == 'app_link' || $value == 'client_name'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
@ -265,7 +267,7 @@
<label for="emp_code">Template Name</label>
</div>
<div class="form-group col-md-5">
<input type="text" id="template_name" name="template_name" class="form-control" value="Member Remider Mail" readonly placeholder="Template Name">
<input type="text" id="template_name" name="template_name" class="form-control" value="Member Reminder Mail" readonly placeholder="Template Name">
</div>
</div>
@ -293,7 +295,7 @@
<div class="form-group col-md-12">
<select id="member_reminder_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;">
<option value="">PlaceHolders</option>
<?php foreach ($placeHolders as $value): ?>
<?php foreach ($placeHolders as $value): ?>
<?php if($value == 'member_name' || $value == 'nhance_logo' || $value == 'client_logo' || $value == 'app_link' || $value == 'client_name'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>

View File

@ -136,13 +136,13 @@
<tr>
<td style="width: 11%;"><span style="margin-right: 20px;">Self:</span></td>
<td style="width: 11%;"><input type="checkbox" style="margin-right: 70px;" name="family_floaters[]" value="self" id="self" checked> </td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($self_min_age) ? $self_min_age : '18'; ?>" style="width: 25%;;" type="number" name="self_min_age" id="self_min_age" oninput="this.value = this.value.replace(/\D/g, '').substring(0, 2)"></div></td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo (isset($self_min_age) && $self_min_age > 0) ? $self_min_age : '18'; ?>" style="width: 25%;;" type="number" name="self_min_age" id="self_min_age" oninput="this.value = this.value.replace(/\D/g, '').substring(0, 2)"></div></td>
<td style="width: 28%;" ><div class="self-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($self_max_age) ? $self_max_age : '60'; ?>" style="width: 25%;;" type="number" name="self_max_age" id="self_max_age" oninput="this.value = this.value.replace(/\D/g, '').substring(0, 2)"></div></td>
</tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
<tr>
<td style="width: 11%;"><span style="margin-right: 20px;">Spouse:</span></td>
<td style="width: 11%;"><input type="checkbox" style="margin-right: 70px;"name="family_floaters[]" value="spouse" id="spouse"></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo isset($spouse_min_age) ? $spouse_min_age : '18'; ?>" style="width: 25%;;" type="number" name="spouse_min_age" id="spouse_min_age" oninput="this.value = this.value.replace(/\D/g, '').substring(0, 2)"></div></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Min Age:</span><input class="underline-input min_age" value="<?php echo (isset($spouse_min_age) && $spouse_min_age > 0) ? $spouse_min_age : '18'; ?>" style="width: 25%;;" type="number" name="spouse_min_age" id="spouse_min_age" oninput="this.value = Math.max(this.value.replace(/\D/g, '').substring(0, 2),18)"></div></td>
<td style="width: 28%;" ><div class="spouse-age"><span style="margin-right: 20px;">Max Age:</span><input class="underline-input max_age" value="<?php echo isset($spouse_max_age) ? $spouse_max_age : '60'; ?>" style="width: 25%;;" type="number" name="spouse_max_age" id="spouse_max_age" oninput="this.value = this.value.replace(/\D/g, '').substring(0, 2)"></div></td>
</tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>
<tr>
@ -686,8 +686,8 @@
if (!$('#self').prop('checked')) {
$('#self_min_age').removeAttr('name')
$('#self_max_age').removeAttr('name')
$('#self_min_age').removeAttr('name');
$('#self_max_age').removeAttr('name');
}
if (!$('#spouse').prop('checked')) {
@ -1040,6 +1040,9 @@
if ($('#spouse').prop('checked')) {
$('.spouse-age').css('display','');
// $('#spouse_min_age').val(18);
// $('#spouse_max_age').val(60);
} else {
$('.spouse-age').css('display','none');
}
@ -1253,6 +1256,12 @@
$('#spouse').change(function () {
if ($(this).prop('checked')) {
$('.spouse-age').css('display','');
if($('#spouse_min_age').val() < 17 || $('#spouse_min_age').val() == '' ){
$('#spouse_min_age').val(18);
}
if($('#spouse_max_age').val() < 17 || $('#spouse_max_age').val() == '' ){
$('#spouse_max_age').val(60);
}
}else{
$('.spouse-age').css('display','none');
}
@ -1262,6 +1271,13 @@
$('#children').change(function () {
if ($(this).val() != 0) {
$('.child-age').css('display','');
if($('#child_min_age').val() < 0 || $('#child_min_age').val() == '' ){
$('#child_min_age').val(0);
}
if($('#child_max_age').val() < 24 || $('#child_max_age').val() == '' ){
$('#child_max_age').val(25);
}
}else{
$('.child-age').css('display','none');
}
@ -1273,6 +1289,13 @@
var family_floaters = $(this).val();
if($('#family_floaters').val() != 0){
$('.other-member-age').css('display','');
if($('#other_member_min_age').val() < 17 || $('#other_member_min_age').val() == '' ){
$('#other_member_min_age').val(18);
}
if($('#other_member_max_age').val() < 79 || $('#other_member_max_age').val() == '' ){
$('#other_member_max_age').val(60);
}
}else{
$('.other-member-age').css('display','none');
}

View File

@ -0,0 +1,119 @@
<body>
<div style="display: flex;justify-content: center;gap: 10px; width:840px;margin:0 auto 15px; page-break-after: auto;">
<div style="border: 1px solid black;width: 400px;max-height: 300px;background: url('{FRONT_CARD}');background-size: 100% 100%;padding: 10px;">
<div style="display: flex;">
<div><img src="{INSURER_LOGO}" alt="" width="60px"
width="60px" style="object-fit: fill;;"></div>
<div style="text-align: center;font-family: sans-serif;font-weight: 600;margin-top: 10px;"><span>THE NEW
INDIA ASSURANCE CO.LTD.</span> <br><span style="font-size: 15px;">GOOD HEALTH MEDICLAIM
POLICY</span></div>
</div>
<table
style="font-family: sans-serif;font-size: 14px;width: 100%;margin-top: 20px;margin-left: 20px;line-height: 20px;">
<tbody>
<tr>
<td>MDID : {TPA_ID}</td>
</tr>
<tr>
<td colspan="2"><b>{NAME}</b></td>
</tr>
<tr>
<td>Certificate No : {UHID}</td>
</tr>
<tr>
<td><span>Sex : {GENDER} </span> <span style="margin-left: 30px;"> Date of Birth : {DOB}</span>
</td>
</tr>
<tr>
<td colspan="2"><b>{SELF_NAME}</b></td>
</tr>
<tr>
<td>Valid form :{POLICY_DATE}</td>
</tr>
</tbody>
</table>
</div>
<div style="border: 1px solid black;width: 400px;max-height: 300px;padding: 5px;">
<div style="font-size: 11px;text-align: center;">The card is for identification purpose only</div>
<table style="width: 100%;text-align: center;font-size: 11px;">
<tbody>
<tr>
<td>General & Claim Enquiry Helpline</td>
<td>Cashless Enquiry helpline</td>
</tr>
</tbody>
</table>
<table style="font-size: 11px;width: 100%;text-align: center;">
<tbody>
<tr>
<td style="border: 1px solid black;">Toll Free : 1800-209-7777 <br>Email :
citibank_chennai@mdindia.com</td>
<td style="border: 1px solid black;">Toll Free : 1800-209-7800 <br>Email:
authorisation@mdindia.com</td>
</tr>
</tbody>
</table>
<div style="font-size: 14px;text-align: center;">CITI MDIndia branch contact</div>
<div>
<table style="text-align: center;width: 100%;font-size: 12px;">
<thead>
<tr>
<th style="border: 1px solid black;">Center</th>
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
<th style="border: 1px solid black;">Center</th>
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border: 1px solid black;">Chennai</td>
<td style="border: 1px solid black;">9381819401</td>
<td style="border: 1px solid black;">Delhi</td>
<td style="border: 1px solid black;">9310596976</td>
</tr>
<tr>
<td style="border: 1px solid black;">Chennai</td>
<td style="border: 1px solid black;">9381819501</td>
<td style="border: 1px solid black;">Mumbai</td>
<td style="border: 1px solid black;">9320373542</td>
</tr>
<tr>
<td style="border: 1px solid black;">Hyderabad</td>
<td style="border: 1px solid black;">9390838023</td>
<td style="border: 1px solid black;">Pune</td>
<td style="border: 1px solid black;">9371644536</td>
</tr>
<tr>
<td style="border: 1px solid black;">Bangalore</td>
<td style="border: 1px solid black;">9341555665</td>
<td style="border: 1px solid black;">Kolkata</td>
<td style="border: 1px solid black;">9333441389</td>
</tr>
</tbody>
</table>
</div>
<div>
<h6 style="margin: 5px;">TERMS AND CONDITIONS</h6>
<ol style="font-size: 11px;padding-left: 15px;margin-top: 0px;">
<li>Pre authorisation is compulsary from tpa prior to planned admission within 24hours for
emergencies.</li>
<li>Admission for Investigation/Evaluation Not covered.</li>
<li>All terms and conditions of the policy would be applicable</li>
<li>cashless hospitalisation in network hospitals can be obtained in conjunction with this card.an
authorisation letter issued by tpa and photo identification and such as Voters ID,Driver
Licence,Passport,etc.</li>
</ol>
</div>
</div>
</div>
</body>