CHANGE_NOTIFICATION : AADHAVAN

This commit is contained in:
aadhavan valli 2024-05-14 17:22:21 +05:30
commit 0a6403a133
50 changed files with 4541 additions and 2052 deletions

View File

@ -9,6 +9,8 @@ use CodeIgniter\Router\RouteCollection;
$routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']);
// Reminder Mail Notification
$routes->get("reminder_mail", "NotificationController::reminder_mail");
// $routes->get('/', 'LoginController::index'); // $routes->get('/', 'LoginController::index');
$routes->get('/test', 'Home::index'); $routes->get('/test', 'Home::index');
@ -18,6 +20,7 @@ $routes->get('/oauth2callback', 'LoginController::receiveGoogleOAuthResponse');
$routes->get('/auth/google', 'LoginController::initiateGoogleOAuth'); $routes->get('/auth/google', 'LoginController::initiateGoogleOAuth');
$routes->get('/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus'); $routes->get('/update-emp-policy-status', 'ClientController::updateEmpAndPolicyStatus');
$routes->get('download-e-card/(:segment)', 'EmployeeController::generateIDCardForEmployee/$1'); $routes->get('download-e-card/(:segment)', 'EmployeeController::generateIDCardForEmployee/$1');
$routes->get('download-kyc-docs/(:segment)', 'ClientController::downloadKYCDocument/$1');
@ -223,6 +226,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) {
$routes->get("init-Emp-onboard/(:any)", "EmployeeController::initiateManualEmployeesOnboardProcess/$1"); $routes->get("init-Emp-onboard/(:any)", "EmployeeController::initiateManualEmployeesOnboardProcess/$1");
$routes->get("full-excel-error-file/(:any)", "EmployeeController::downloadFullExcelErrorFile/$1"); $routes->get("full-excel-error-file/(:any)", "EmployeeController::downloadFullExcelErrorFile/$1");
$routes->get("id-card", "EmployeeController::viewECard/$1"); $routes->get("id-card", "EmployeeController::viewECard/$1");
$routes->get("preview-card/(:any)", "EmployeeController::previewTemplate/$1");
}); });
$routes->cli('cli/processjob', 'JobWorker::processJob'); $routes->cli('cli/processjob', 'JobWorker::processJob');
@ -250,7 +254,6 @@ $routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfi
$routes->post("/calculatePremium", "EmployeeRestController::calculatePremium"); $routes->post("/calculatePremium", "EmployeeRestController::calculatePremium");
$routes->post("employeeUpload", "EmployeeRestController::employeeUpload");
$routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {

View File

@ -267,9 +267,9 @@ class ClientController extends AdminController
$editData['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $id)->findAll(); $editData['client_kyc'] = $this->clientKYCDocsModel->where('client_id', $id)->findAll();
$editData['client_branch'] = $this->clientBranchModel->where(['client_id' => $id, 'is_active' => 1])->findAll(); $editData['client_branch'] = $this->clientBranchModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
$editData['client_relation'] = $this->clientRMModel->where(['client_id' => $id, 'is_active' => 1])->findAll(); $editData['client_relation'] = $this->clientRMModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
// dd('Hi');
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($id); $clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($id);
// dd($this->clientPolicyModel->getLastQuery());
foreach ($clientPoliceData as $key => $value) { foreach ($clientPoliceData as $key => $value) {
$clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date)); $clientPoliceData[$key]->policy_start_date = date('d-M-Y', strtotime($value->policy_start_date));
@ -280,10 +280,8 @@ class ClientController extends AdminController
$editData['notification'] =$this->notificationModel->select('template_name,enabled')->where('client_id',$id)->findAll(); $editData['notification'] =$this->notificationModel->select('template_name,enabled')->where('client_id',$id)->findAll();
$editData['placeHolders'] = ['user_name','nhance_logo','tpa_id','ecard_download_link', 'client_logo', 'policy_no', 'ecard_link', 'app_link', 'member_summary']; $editData['placeHolders'] = ['member_name','nhance_logo','tpa_id','ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'client_name'];
// echo "<pre>";
// dd($editData); die;
echo view('layout/header', $headerData); echo view('layout/header', $headerData);
echo view('client_onboarding', $editData); echo view('client_onboarding', $editData);
@ -593,7 +591,14 @@ class ClientController extends AdminController
$data['insurer_id'] = $insurerId; $data['insurer_id'] = $insurerId;
$tpaValue = (string) $this->request->getPost('tpa'); $tpaValue = (string) $this->request->getPost('tpa');
if ($tpaValue === null || $tpaValue === '') {
$tpaBranchId = null;
$tpaId = null;
} else {
list($tpaBranchId, $tpaId) = explode('-', $tpaValue); list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
}
$data['client_id'] = $client_id; $data['client_id'] = $client_id;
$data['tpa_branch_id'] = $tpaBranchId; $data['tpa_branch_id'] = $tpaBranchId;
@ -615,6 +620,8 @@ class ClientController extends AdminController
$data['is_addon'] = $this->request->getPost('is_addon'); $data['is_addon'] = $this->request->getPost('is_addon');
$data['base_policy'] = $this->request->getPost('base_policy'); $data['base_policy'] = $this->request->getPost('base_policy');
$data['policy_status'] = 1; $data['policy_status'] = 1;
$data['inception_type'] = $this->request->getPost('inception_type') ? 2 : 1;
@ -635,8 +642,11 @@ class ClientController extends AdminController
$data['policy_terms'] = json_encode($decoded_policyTerm); $data['policy_terms'] = json_encode($decoded_policyTerm);
} else { } else {
$data['policy_terms'] = $policy_terms['policy_terms'];
if ($this->request->getPost('policy_type_id') != 3) {
$data['policy_terms'] = $policy_terms['policy_terms'];
}
} }
} }
@ -702,6 +712,8 @@ class ClientController extends AdminController
$data['is_addon'] = $this->request->getPost('is_addon'); $data['is_addon'] = $this->request->getPost('is_addon');
$data['base_policy'] = $this->request->getPost('base_policy'); $data['base_policy'] = $this->request->getPost('base_policy');
$data['policy_status'] = 1; $data['policy_status'] = 1;
$data['inception_type'] = $this->request->getPost('inception_type') ? 2 : 1;
$policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first(); $policy_terms = $this->clientPolicyModel->where('id', $this->request->getPost('base_policy'))->first();
@ -753,12 +765,19 @@ class ClientController extends AdminController
$policy_type = $this->request->getPost('policy_type'); $policy_type = $this->request->getPost('policy_type');
$client_id = $this->request->getPost('client_id'); $client_id = $this->request->getPost('client_id');
$client_policy_id = $this->request->getPost('client_policy_id'); $client_policy_id = $this->request->getPost('client_policy_id');
$premium_type = $this->request->getPost('premium_type'); // $premium_type = $this->request->getPost('premium_type');
if (!empty($client_id) && $client_id != null) { if (!empty($client_id) && $client_id != null) {
$client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); $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'];
} }
$policy_grid_id = $this->request->getPost('policy_grid_id'); $policy_grid_id = $this->request->getPost('policy_grid_id');
if($policy_grid_id == 10 || $policy_grid_id == 11){
$premium_type = 1;
}else{
$premium_type = 2;
}
$si_or_bp = $this->request->getPost('si_or_bp'); $si_or_bp = $this->request->getPost('si_or_bp');
$basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier')); $basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier'));
$premium_multiplier = str_replace(',', '', $this->request->getPost('premium_multiplier')); $premium_multiplier = str_replace(',', '', $this->request->getPost('premium_multiplier'));
@ -782,10 +801,14 @@ class ClientController extends AdminController
if ($policy_grid_id == '1') { if ($policy_grid_id == '1') {
if ($si_or_bp == '1') { if ($si_or_bp == '1') {
$premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]')); $premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]')); $sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier'); $multiplier = $this->request->getPost('gpa_sum_multiplier');
for ($i = 0; $i < count($premium); $i++) { for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i]; $data['si'] = $sum_insure[$i];
$data['premium'] = $premium[$i]; $data['premium'] = $premium[$i];
@ -794,7 +817,26 @@ class ClientController extends AdminController
$policyPremium = $this->policyPremium1Model->insert($data); $policyPremium = $this->policyPremium1Model->insert($data);
} }
} else if ($si_or_bp == '3') {
$premium = str_replace(',', '', $this->request->getPost('gpa_sum_premium2[]'));
$sum_insure = str_replace(',', '', $this->request->getPost('gpa_sum_si2[]'));
$multiplier = $this->request->getPost('gpa_sum_multiplier2');
$grade = $this->request->getPost('gpa_band[]');
for ($i = 0; $i < count($premium); $i++) {
$data['si'] = $sum_insure[$i];
$data['premium'] = $premium[$i];
$data['grade'] = $grade[$i];
$data['multiplier'] = $multiplier;
$data['si_or_bp'] = $this->request->getPost('si_or_bp');
$policyPremium = $this->policyPremium1Model->insert($data);
}
}else { }else {
$data['premium'] = str_replace(',', '', $this->request->getPost('gpa_basic_premium')); $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_basic_premium'));
$data['si'] = str_replace(',', '', $this->request->getPost('gpa_basic_si')); $data['si'] = str_replace(',', '', $this->request->getPost('gpa_basic_si'));
$data['basic_multiplier'] = str_replace(',', '', $this->request->getPost('basic_multiplier')); $data['basic_multiplier'] = str_replace(',', '', $this->request->getPost('basic_multiplier'));
@ -804,6 +846,7 @@ class ClientController extends AdminController
$policyPremium = $this->policyPremium1Model->insert($data); $policyPremium = $this->policyPremium1Model->insert($data);
} }
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '2') { } else if ($policy_grid_id == '2') {
@ -825,6 +868,8 @@ class ClientController extends AdminController
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '4') { } else if ($policy_grid_id == '4') {
$premium = $this->request->getPost('4_premium[]'); $premium = $this->request->getPost('4_premium[]');
$sum_insure = $this->request->getPost('4_si'); $sum_insure = $this->request->getPost('4_si');
$age_from = $this->request->getPost('4_age_from[]'); $age_from = $this->request->getPost('4_age_from[]');
@ -838,6 +883,8 @@ class ClientController extends AdminController
} }
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '5') { } else if ($policy_grid_id == '5') {
$premium = $this->request->getPost('5_premium[]'); $premium = $this->request->getPost('5_premium[]');
$sum_insure = $this->request->getPost('5_si[]'); $sum_insure = $this->request->getPost('5_si[]');
@ -853,19 +900,23 @@ class ClientController extends AdminController
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '6') { } else if ($policy_grid_id == '6') {
$premium = $this->request->getPost('6_premium[]'); $premium = $this->request->getPost('6_premium[]');
$sum_insure = $this->request->getPost('6_si[]'); $sum_insure = $this->request->getPost('6_si');
$age_from = $this->request->getPost('6_age_from[]'); $age_from = $this->request->getPost('6_age_from[]');
$age_to = $this->request->getPost('6_age_to[]'); $age_to = $this->request->getPost('6_age_to[]');
for ($i = 0; $i < count($premium); $i++) { for ($i = 0; $i < count($premium); $i++) {
$data['premium'] = str_replace(',', '', $premium[$i]); $data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]); $data['si'] = str_replace(',', '', $sum_insure);
$data['age_from'] = $age_from[$i]; $data['age_from'] = $age_from[$i];
$data['age_to'] = $age_to[$i]; $data['age_to'] = $age_to[$i];
$dataa = $this->policyPremium2Model->insert($data); $dataa = $this->policyPremium2Model->insert($data);
} }
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '7') { } else if ($policy_grid_id == '7') {
$premium = $this->request->getPost('7_premium[]'); $premium = $this->request->getPost('7_premium[]');
$sum_insure = $this->request->getPost('7_si[]'); $sum_insure = $this->request->getPost('7_si[]');
@ -924,6 +975,7 @@ class ClientController extends AdminController
$data = $this->request->getPost(); $data = $this->request->getPost();
$insert = true; $insert = true;
} else if ($policy_grid_id == '11') { } else if ($policy_grid_id == '11') {
$premium = $this->request->getPost('11_premium[]'); $premium = $this->request->getPost('11_premium[]');
$sum_insure = $this->request->getPost('11_si[]'); $sum_insure = $this->request->getPost('11_si[]');
$grade = $this->request->getPost('11_grade[]'); $grade = $this->request->getPost('11_grade[]');
@ -932,7 +984,7 @@ class ClientController extends AdminController
$data['premium'] = str_replace(',', '', $premium[$i]); $data['premium'] = str_replace(',', '', $premium[$i]);
$data['si'] = str_replace(',', '', $sum_insure[$i]); $data['si'] = str_replace(',', '', $sum_insure[$i]);
$data['grade'] = $grade[$i]; $data['grade'] = $grade[$i];
$data['max_si'] = $max_sum_insure[$i]; $data['max_si'] = str_replace(',', '', $max_sum_insure[$i]);
$dataa = $this->policyPremium2Model->insert($data); $dataa = $this->policyPremium2Model->insert($data);
} }
$data = $this->request->getPost(); $data = $this->request->getPost();
@ -1123,12 +1175,13 @@ class ClientController extends AdminController
try { try {
foreach ($results as $index => $record) { foreach ($results as $index => $record) {
if ($self->self == 1 && $self->spouse == 0 && $self->childrens == 0 && $self->parents == 0 && $self->{'parents-in-law'} == 0 && $self->{'either-parents-pil'} == 0 && $family_floater == 0) { // if ($self->self == 1 && $self->spouse == 0 && $self->childrens == 0 && $self->parents == 0 && $self->{'parents-in-law'} == 0 && $self->{'either-parents-pil'} == 0 && $family_floater == 0) {
if ($index == '0' || $index == '1' || $index == '2') { if ($family_floater == 1) {
if ($index == '7' || $index == '8' || $index == '9' || $index == '10') {
$resultss[$index] = $record; $resultss[$index] = $record;
} }
} else { } else {
if ($index == '3' || $index == '4' || $index == '5' || $index == '6' || $index == '8' || $index == '7' || $index == '9' || $index == '10') { if ($index == '0' || $index == '1' || $index == '2' || $index == '3' || $index == '4' || $index == '5' || $index == '6') {
$resultss[$index] = $record; $resultss[$index] = $record;
} }
} }
@ -1307,6 +1360,13 @@ class ClientController extends AdminController
$data['familytransportationbenefit'] =str_replace(',', '',$this->request->getPost("familytransportationbenefit")); $data['familytransportationbenefit'] =str_replace(',', '',$this->request->getPost("familytransportationbenefit"));
$data['reasonableandcustomarycharges'] =str_replace(',', '',$this->request->getPost("reasonableandcustomarycharges")); $data['reasonableandcustomarycharges'] =str_replace(',', '',$this->request->getPost("reasonableandcustomarycharges"));
$data['ayudhtreatmentcover'] =str_replace(',', '',$this->request->getPost("ayudhtreatmentcover")); $data['ayudhtreatmentcover'] =str_replace(',', '',$this->request->getPost("ayudhtreatmentcover"));
if ($data['ayudhtreatmentcover'] == 1) {
$data['ayushTreatmentCoverData'] = str_replace(',', '',$this->request->getPost("ayushTreatmentCoverData"));
}else{
$data['ayushTreatmentCoverData'] ="";
}
$data['armdcovered'] =str_replace(',', '',$this->request->getPost("armdcovered")); $data['armdcovered'] =str_replace(',', '',$this->request->getPost("armdcovered"));
$data['suminsuredenhancement'] =str_replace(',', '',$this->request->getPost("suminsuredenhancement")); $data['suminsuredenhancement'] =str_replace(',', '',$this->request->getPost("suminsuredenhancement"));
$data['automaticsuminsuredreinstatement'] =str_replace(',', '',$this->request->getPost("automaticsuminsuredreinstatement")); $data['automaticsuminsuredreinstatement'] =str_replace(',', '',$this->request->getPost("automaticsuminsuredreinstatement"));
@ -1322,6 +1382,15 @@ class ClientController extends AdminController
$data['special_condition_label'] = str_replace(',', '',$this->request->getPost("special_condition_label")) ?? []; $data['special_condition_label'] = str_replace(',', '',$this->request->getPost("special_condition_label")) ?? [];
$data['special_condition_input'] = str_replace(',', '',$this->request->getPost("special_condition_input")) ?? []; $data['special_condition_input'] = str_replace(',', '',$this->request->getPost("special_condition_input")) ?? [];
$data['cataract'] =str_replace(',', '',$this->request->getPost("cataract"));
if ($data['cataract'] == 1) {
$data['cataractData'] = str_replace(',', '',$this->request->getPost("cataractData"));
}else{
$data['cataractData'] ="";
}
$jsonData = json_encode($data); $jsonData = json_encode($data);
$dataa = array( $dataa = array(
'policy_terms' => $jsonData, 'policy_terms' => $jsonData,
@ -1360,23 +1429,24 @@ class ClientController extends AdminController
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first(); $record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
$policy_name = $this->policesModel->select('name')->where('id', $record['policy_id'])->first(); $policy_name = $this->policesModel->select('name')->where('id', $record['policy_id'])->first();
$emp_count = $this->employeeModel ->join('client_policy cp',"employees.client_id = cp.client_id") // $emp_count = $this->employeeModel ->join('client_policy cp',"employees.client_id = cp.client_id")
->join('employee_polices ep',"cp.id = ep.client_policy_id AND employees.id = ep.employee_id") // ->join('employee_polices ep',"cp.id = ep.client_policy_id AND employees.id = ep.employee_id")
->where("employees.client_id", $record['client_id']) // ->where("employees.client_id", $record['client_id'])
->where("employees.emp_status",'active') // ->where("employees.emp_status",'active')
->countAllResults(); // ->countAllResults();
$emp_count_by_policy = $this->employeePolicyModel->where('client_policy_id',$client_policy_id)->where('is_active',1)->countAllResults(); $emp_count_by_policy = $this->employeePolicyModel->where('client_policy_id',$client_policy_id)->where('is_active',1)->countAllResults();
if($emp_count == 0){
$emp_count = true; // if($emp_count == 0){
}else{ // $emp_count = true;
$emp_count = false; // }else{
} // $emp_count = false;
// }
if ($record) { if ($record) {
return $this->respond(['Status' => true,'code' => 200,'data' => $record['policy_terms'], 'count' => $emp_count, 'policy_name' => $policy_name,'policy_addon' => $record['is_addon'], 'emp_count_by_policy'=>$emp_count_by_policy], 200); return $this->respond(['Status' => true,'code' => 200,'data' => $record['policy_terms'], 'policy_name' => $policy_name,'policy_addon' => $record['is_addon'], 'emp_count_by_policy'=>$emp_count_by_policy], 200);
} else { } else {
return $this->respond(['Status' => false,'code' => 200,'message' => 'Record not found.', 'count' => $emp_count, 'policy_name' => $policy_name], 200); return $this->respond(['Status' => false,'code' => 200,'message' => 'Record not found.', 'policy_name' => $policy_name], 200);
} }
} }
@ -1438,6 +1508,9 @@ class ClientController extends AdminController
$data['animalSnakeInsectBite'] = $this->request->getPost("animalSnakeInsectBite"); $data['animalSnakeInsectBite'] = $this->request->getPost("animalSnakeInsectBite");
$data['terrorism'] = $this->request->getPost("terrorism"); $data['terrorism'] = $this->request->getPost("terrorism");
$data['worldwideCover'] = $this->request->getPost("worldwideCover"); $data['worldwideCover'] = $this->request->getPost("worldwideCover");
$data['gpa_special_condition_label'] = str_replace(',', '',$this->request->getPost("gpa_special_condition_label")) ?? [];
$data['gpa_special_condition_input'] = str_replace(',', '',$this->request->getPost("gpa_special_condition_input")) ?? [];
$jsonData = json_encode($data); $jsonData = json_encode($data);
$dataa = array( $dataa = array(
@ -1487,14 +1560,17 @@ class ClientController extends AdminController
{ {
$client_policy_id = $this->request->getGet('client_policy_id'); $client_policy_id = $this->request->getGet('client_policy_id');
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
$message = 'Policy updated Successfully'; $message = 'Policy updated Successfully';
$record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
if ($record['open_for_enrollment'] == 0) { if ($record['open_for_enrollment'] == 0) {
$open_for_enrollment_update_value = 1; $open_for_enrollment_update_value = 1;
$message = 'Update Open Enrollment Successfully'; $message = 'Enrollment Opened Successfully';
} else if ($record['open_for_enrollment'] == 1) { } else if ($record['open_for_enrollment'] == 1) {
$open_for_enrollment_update_value = 0; $open_for_enrollment_update_value = 0;
$message = 'Update Open Enrollment Successfully'; $message = 'Enrollment Closed Successfully';
} }
$data = $this->policesModel->getPolicyPremium($record['policy_id']); $data = $this->policesModel->getPolicyPremium($record['policy_id']);
@ -1529,7 +1605,7 @@ class ClientController extends AdminController
} }
// Check if 'family_floater' key exists and has a value // Check if 'family_floater' key exists and has a value
if (isset($termsData->family_floater) && empty($termsData->family_floater)) { if (isset($termsData->family_floater) && $termsData->family_floater == null) {
return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty'], 200); return $this->respond(['status' => false, 'code' => 200, 'message' => 'The Policy terms Family Floater field is empty'], 200);
} }
@ -1544,7 +1620,8 @@ class ClientController extends AdminController
return $this->respond(['status' => false, 'code' => 200, 'message' => 'Please define policy premium'], 200); return $this->respond(['status' => false, 'code' => 200, 'message' => 'Please define policy premium'], 200);
} }
$policy_status = $this->clientPolicyModel->where('id', $client_policy_id )->set('policy_status', 1)->update(); // $policy_status = $this->clientPolicyModel->where('id', $client_policy_id )->set('policy_status', 1)->update();
$json_data = ''; $json_data = '';
$open_for_enrollment = $this->clientPolicyModel->where('id', $client_policy_id)->set('open_for_enrollment', $open_for_enrollment_update_value)->update(); $open_for_enrollment = $this->clientPolicyModel->where('id', $client_policy_id)->set('open_for_enrollment', $open_for_enrollment_update_value)->update();
if ($open_for_enrollment) { if ($open_for_enrollment) {
@ -1555,8 +1632,9 @@ class ClientController extends AdminController
$json_data = json_encode(['open_for_enrollment' => $open_for_enrollment_value, 'client_policy_id' => $client_policy_id_value]); $json_data = json_encode(['open_for_enrollment' => $open_for_enrollment_value, 'client_policy_id' => $client_policy_id_value]);
} }
return $this->respond(['status' => true,'code' => 200, 'message' => $message, 'data' => $termsData, 'racRate' => $racRate, 'open_for_enrollment' => $json_data], 200);
return $this->respond(['status' => true, 'code' => 200, 'message' => $message, 'data' => $termsData, 'racRate' => $racRate, 'open_for_enrollment' => $json_data, 'client_policy_data' => $record], 200);
} }
@ -1606,4 +1684,17 @@ class ClientController extends AdminController
} }
public function downloadKYCDocument($file_name)
{
$file = WRITEPATH . 'uploads/client_kyc_documents/' . $file_name; // Example file path
if (file_exists($file)) {
return $this->response->download($file, null)->setFileName($file_name);
} else {
return "File not found.";
}
}
} }

View File

@ -9,6 +9,7 @@ use Psr\Log\LoggerInterface;
use App\Helpers\DepositHelper; use App\Helpers\DepositHelper;
use App\Helpers\MailHelper; use App\Helpers\MailHelper;
use App\Helpers\sendMailNotification;
use App\Models\EmployeeModel; use App\Models\EmployeeModel;
@ -28,6 +29,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx; use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Reader\Exception as SpreadsheetReaderException; use PhpOffice\PhpSpreadsheet\Reader\Exception as SpreadsheetReaderException;
use PhpParser\Node\Expr\Cast\Double;
use function PHPUnit\Framework\returnSelf; use function PHPUnit\Framework\returnSelf;
@ -112,7 +114,10 @@ class EmpDataServiceController extends BaseController
// Fetch employee data for export from the database // Fetch employee data for export from the database
$objects = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data); $objects = $this->employeePolicyModel->getInceptionEmployeeDataForExportExcel($export_data);
// dd($objects); $insurer_id = $this->clientPolicyModel->where('id', $export_data['client_policy_id'])->first();
$cash_balance = $this->clientDepositModel->where('client_id',$export_data['client_id'] )->where('insurer_id', $insurer_id['insurer_id'])->orderBy('id', 'DESC')->first();
$totals = 0; $totals = 0;
foreach ($objects as $key => $value) { foreach ($objects as $key => $value) {
@ -120,6 +125,11 @@ class EmpDataServiceController extends BaseController
$totals += $value->total; $totals += $value->total;
} }
if((int) $cash_balance['balance'] < (int) $totals){
return 0;
}
// Log the count of exported data // Log the count of exported data
$count = count($objects); $count = count($objects);
@ -1621,41 +1631,23 @@ class EmpDataServiceController extends BaseController
// print_r($notification); // print_r($notification);
// die; // die;
$client_data = $this->clientModel->where('id',$get_emp_email_and_other_details['client_id'])->first(); $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(); $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) { 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']; $rand_string = $get_emp_email_and_other_details['rand_string'];
$tpa_id = $get_emp_email_and_other_details['tpa_id']; $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);
$mail_content = $notification['mail_content'];
$mail = $get_emp_email_and_other_details['email_corporate'];
$subject = $notification['subject'];
$link = generate_download_link($rand_string);
$app_link = $_ENV['App_Url'];
$name = $get_emp_email_and_other_details['name'];
$mail_content = $notification['mail_content'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[user_name]]", $name, $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
$mail_content = str_replace("[[tpa_id]]", $tpa_id, $mail_content);
$mail_content = str_replace("[[ecard_download_link]]", "<a href='$link'>Download Insurance Card</a>", $mail_content);
$message = $mail_content;
$count++; $count++;
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $message,'cc'=> $client_data['common_mails']];
if($count == 20 || $count == count($ids)-1){ if($count == 20 || $count == count($ids)-1){
$job_details = new Jobs(); $job_details = new Jobs();
@ -1672,4 +1664,5 @@ class EmpDataServiceController extends BaseController
return false; // Email(s) sending failed return false; // Email(s) sending failed
} }
} }
} }

View File

@ -16,6 +16,7 @@ use App\Models\BatchListModel;
use App\Models\BatchFileModel; use App\Models\BatchFileModel;
use App\Models\EmpEndorsementModel; use App\Models\EmpEndorsementModel;
use App\Models\ClientPolicyModel; use App\Models\ClientPolicyModel;
use App\Models\TPAModel;
use App\Controllers\Jobs; use App\Controllers\Jobs;
use App\Controllers\JobWorker; use App\Controllers\JobWorker;
@ -30,6 +31,8 @@ use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Dompdf\Dompdf; use Dompdf\Dompdf;
use Dompdf\Options;
class EmployeeController extends AdminController class EmployeeController extends AdminController
{ {
@ -45,6 +48,7 @@ class EmployeeController extends AdminController
protected $batchFileModel; protected $batchFileModel;
protected $empEndorsementModel; protected $empEndorsementModel;
protected $clientPolicyModel; protected $clientPolicyModel;
protected $TPAModel;
public function __construct() public function __construct()
{ {
@ -59,6 +63,7 @@ class EmployeeController extends AdminController
$this->batchFileModel = new BatchFileModel(); $this->batchFileModel = new BatchFileModel();
$this->empEndorsementModel = new EmpEndorsementModel(); $this->empEndorsementModel = new EmpEndorsementModel();
$this->clientPolicyModel = new ClientPolicyModel(); $this->clientPolicyModel = new ClientPolicyModel();
$this->TPAModel = new TPAModel();
} }
public function list() public function list()
@ -66,8 +71,7 @@ class EmployeeController extends AdminController
// $model = new UserModel(); // $model = new UserModel();
$data = []; $data = [];
$data['status'] = ['draft' => 'Draft', 'active' => 'Active', 'inactive' => 'In-Active', 'expired' => 'Expired']; $data['status'] = ['draft' => 'Draft', 'active' => 'Active', 'inactive' => 'In-Active', 'expired' => 'Expired'];
if(count($this->request->getGet())) if (count($this->request->getGet())) {
{
$filterData = $this->request->getGet(); $filterData = $this->request->getGet();
$data['employees'] = $this->employeePolicyModel->getEmployeePolicy(client_id: $filterData['client_id'], policy_id: $filterData['policy_id'], status: $filterData['status']); $data['employees'] = $this->employeePolicyModel->getEmployeePolicy(client_id: $filterData['client_id'], policy_id: $filterData['policy_id'], status: $filterData['status']);
$data['getData'] = $filterData; $data['getData'] = $filterData;
@ -83,12 +87,9 @@ class EmployeeController extends AdminController
$result = $this->clientModel->clientsWithPolicies(); $result = $this->clientModel->clientsWithPolicies();
// print_r($result);die(); // print_r($result);die();
if(!count($result)) if (!count($result)) {
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200);
} } else {
else
{
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $result], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $result], 200);
} }
@ -104,12 +105,9 @@ class EmployeeController extends AdminController
// echo $file_id;die(); // echo $file_id;die();
$file = $this->fileModel->find($file_id); $file = $this->fileModel->find($file_id);
// print_r($result);die(); // print_r($result);die();
if(!isset($file)) if (!isset($file)) {
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200);
} } else {
else
{
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $file['reason']], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $file['reason']], 200);
} }
@ -164,8 +162,7 @@ class EmployeeController extends AdminController
// dd($failure_reason); // dd($failure_reason);
// } // }
if($this->request->getMethod() == 'post') if ($this->request->getMethod() == 'post') {
{
//validate uploaded file //validate uploaded file
$filename = ''; $filename = '';
$validated = $this->validate([ $validated = $this->validate([
@ -180,10 +177,7 @@ class EmployeeController extends AdminController
$avatar = $this->request->getFile('emplist'); $avatar = $this->request->getFile('emplist');
$is_moved = $avatar->move(WRITEPATH . 'uploads/excel/'); $is_moved = $avatar->move(WRITEPATH . 'uploads/excel/');
$filename = $avatar->getName(); $filename = $avatar->getName();
} else {
}
else
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'invalid file'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'invalid file'], 200);
} }
@ -204,13 +198,11 @@ class EmployeeController extends AdminController
$empServiceController = new EmployeeServiceController(); $empServiceController = new EmployeeServiceController();
$result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]); $result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]);
//endof validation process //endof validation process
if(isset($result['error_summary']) && count($result['error_summary'])) if (isset($result['error_summary']) && count($result['error_summary'])) {
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file rejected with errors'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'file rejected with errors'], 200);
} }
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
} }
@ -238,11 +230,9 @@ class EmployeeController extends AdminController
// dd($data['fileList']);die(); // dd($data['fileList']);die();
if($this->request->getMethod() == "get") if ($this->request->getMethod() == "get") {
{
$this->loadLayout('import_export', $data); $this->loadLayout('import_export', $data);
} }
} }
public function getExcelFileErrors() public function getExcelFileErrors()
@ -261,7 +251,6 @@ class EmployeeController extends AdminController
$data['message'] = 'File Not Found Physically'; $data['message'] = 'File Not Found Physically';
return view('errors/404', $data); return view('errors/404', $data);
} else { } else {
echo view('errors/html/production'); echo view('errors/html/production');
@ -356,19 +345,26 @@ class EmployeeController extends AdminController
if ($event_type == 'inception' || $event_type == 'addition' || $event_type == 'dependent_addition') { if ($event_type == 'inception' || $event_type == 'addition' || $event_type == 'dependent_addition') {
$return = $empDataServiceController->generateExcelForAdditionandInception($batch_data); $return = $empDataServiceController->generateExcelForAdditionandInception($batch_data);
if($return == 0){
session()->setFlashdata('error', "The insurer has an insufficient deposit amount.");
return redirect()->to(base_url('employee/upload'));
}
if (!$return) { if (!$return) {
if ($insurer_or_tpa == 'tpa') { if ($insurer_or_tpa == 'tpa') {
session()->setFlashdata('error', "No data was found for this action. The TPA ID has already been updated."); session()->setFlashdata('error', "No data was found for this action. The TPA ID has already been updated.");
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($insurer_or_tpa == 'insurer') { } else if ($insurer_or_tpa == 'insurer') {
session()->setFlashdata('error', "No data was found for this action. The UHID has already been updated."); session()->setFlashdata('error', "No data was found for this action. The UHID has already been updated.");
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} }
} else { } else {
$this->myLogger->logme('error', 'Successfully exported Excel file in {data}.', ['data' => $event_type]); $this->myLogger->logme('error', 'Successfully exported Excel file in {data}.', ['data' => $event_type]);
} }
} else if ($event_type == 'correction') { } else if ($event_type == 'correction') {
$return = $empDataServiceController->generateExcelForCorrection($batch_data); $return = $empDataServiceController->generateExcelForCorrection($batch_data);
@ -378,7 +374,6 @@ class EmployeeController extends AdminController
} else { } else {
$this->myLogger->logme('error', 'Successfully exported Excel file in Correction.'); $this->myLogger->logme('error', 'Successfully exported Excel file in Correction.');
} }
} else if ($event_type == 'si_enhancement') { } else if ($event_type == 'si_enhancement') {
$return = $empDataServiceController->generateExcelForSIEnhancement($batch_data); $return = $empDataServiceController->generateExcelForSIEnhancement($batch_data);
@ -388,7 +383,6 @@ class EmployeeController extends AdminController
} else { } else {
$this->myLogger->logme('error', 'Successfully exported Excel file in SI_Enhancement.'); $this->myLogger->logme('error', 'Successfully exported Excel file in SI_Enhancement.');
} }
} else if ($event_type == 'deletion') { } else if ($event_type == 'deletion') {
$return = $empDataServiceController->generateExcelForDeletion($batch_data); $return = $empDataServiceController->generateExcelForDeletion($batch_data);
@ -399,8 +393,6 @@ class EmployeeController extends AdminController
$this->myLogger->logme('error', 'Successfully exported Excel file in Deletion.'); $this->myLogger->logme('error', 'Successfully exported Excel file in Deletion.');
} }
} }
} else if ($actions == 'import') { } else if ($actions == 'import') {
$batch_data['file'] = $this->request->getFile('import_file_data'); $batch_data['file'] = $this->request->getFile('import_file_data');
@ -411,40 +403,31 @@ class EmployeeController extends AdminController
if ($return == 1) { if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully'); session()->setFlashdata('success', 'Data updated successfully');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 2) { } else if ($return == 2) {
session()->setFlashdata('error', 'The TPA ID column is either partially or entirely empty.'); session()->setFlashdata('error', 'The TPA ID column is either partially or entirely empty.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 0) { } else if ($return == 0) {
session()->setFlashdata('error', 'Please upload the correct file.'); session()->setFlashdata('error', 'Please upload the correct file.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 3) { } else if ($return == 3) {
session()->setFlashdata('error', 'The list of employees provided has already been updated with the TPA ID, or this is not the correct file'); session()->setFlashdata('error', 'The list of employees provided has already been updated with the TPA ID, or this is not the correct file');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 4) { } else if ($return == 4) {
session()->setFlashdata('error', 'The UHID column is either partially or entirely empty.'); session()->setFlashdata('error', 'The UHID column is either partially or entirely empty.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 5) { } else if ($return == 5) {
session()->setFlashdata('error', 'The list of employees provided has already been updated with the UHID, or this is not the correct file'); session()->setFlashdata('error', 'The list of employees provided has already been updated with the UHID, or this is not the correct file');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} }
} else if ($event_type == 'correction') { } else if ($event_type == 'correction') {
$return = $empDataServiceController->importExcelDataForCorrection($batch_data); $return = $empDataServiceController->importExcelDataForCorrection($batch_data);
if ($return == 1) { if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully'); session()->setFlashdata('success', 'Data updated successfully');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 2) { } else if ($return == 2) {
session()->setFlashdata('error', 'The Endorsement ID columns are empty.'); session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 0) { } else if ($return == 0) {
session()->setFlashdata('error', 'Please upload the correct file'); session()->setFlashdata('error', 'Please upload the correct file');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
@ -452,18 +435,15 @@ class EmployeeController extends AdminController
session()->setFlashdata('error', 'File already uploaded'); session()->setFlashdata('error', 'File already uploaded');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} }
} else if ($event_type == 'si_enhancement') { } else if ($event_type == 'si_enhancement') {
$return = $empDataServiceController->importExcelDataForSIEnhancement($batch_data); $return = $empDataServiceController->importExcelDataForSIEnhancement($batch_data);
if ($return == 1) { if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully'); session()->setFlashdata('success', 'Data updated successfully');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 2) { } else if ($return == 2) {
session()->setFlashdata('error', 'The Endorsement ID columns are empty.'); session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 0) { } else if ($return == 0) {
session()->setFlashdata('error', 'Please upload the correct file'); session()->setFlashdata('error', 'Please upload the correct file');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
@ -471,18 +451,15 @@ class EmployeeController extends AdminController
session()->setFlashdata('error', 'File already uploaded'); session()->setFlashdata('error', 'File already uploaded');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} }
} else if ($event_type == 'deletion') { } else if ($event_type == 'deletion') {
$return = $empDataServiceController->importExcelDataForDeletion($batch_data); $return = $empDataServiceController->importExcelDataForDeletion($batch_data);
if ($return == 1) { if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully'); session()->setFlashdata('success', 'Data updated successfully');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 2) { } else if ($return == 2) {
session()->setFlashdata('error', 'The Endorsement ID columns are empty.'); session()->setFlashdata('error', 'The Endorsement ID columns are empty.');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} else if ($return == 0) { } else if ($return == 0) {
session()->setFlashdata('error', 'Please upload the correct file'); session()->setFlashdata('error', 'Please upload the correct file');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
@ -490,12 +467,8 @@ class EmployeeController extends AdminController
session()->setFlashdata('error', 'File already uploaded'); session()->setFlashdata('error', 'File already uploaded');
return redirect()->to(base_url('employee/upload')); return redirect()->to(base_url('employee/upload'));
} }
} }
} }
} }
// ------------------------------------------------------------------------------------------- // -------------------------------------------------------------------------------------------
@ -513,8 +486,7 @@ class EmployeeController extends AdminController
$data = []; $data = [];
$data['status'] = ['pending' => 'Pending', 'inprogress' => 'In-Progress', 'complete' => 'Complete']; $data['status'] = ['pending' => 'Pending', 'inprogress' => 'In-Progress', 'complete' => 'Complete'];
if(count($this->request->getGet())) if (count($this->request->getGet())) {
{
$filterData = $this->request->getGet(); $filterData = $this->request->getGet();
$data['employees'] = $this->employeePolicyModel->getEmployeeEndorsementList(client_id: $filterData['client_id'], policy_id: $filterData['policy_id'], status: $filterData['status']); $data['employees'] = $this->employeePolicyModel->getEmployeeEndorsementList(client_id: $filterData['client_id'], policy_id: $filterData['policy_id'], status: $filterData['status']);
$data['getData'] = $filterData; $data['getData'] = $filterData;
@ -575,7 +547,6 @@ class EmployeeController extends AdminController
'data' => $formatedData, 'data' => $formatedData,
'data2' => $groupedData 'data2' => $groupedData
], 200); ], 200);
} else { } else {
// Return response if group key and actions are not found // Return response if group key and actions are not found
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'no data found'], 200);
@ -652,7 +623,6 @@ class EmployeeController extends AdminController
$html = view('employee_data_list', $emp_data); $html = view('employee_data_list', $emp_data);
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $html], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $html], 200);
} }
@ -685,14 +655,12 @@ class EmployeeController extends AdminController
$emp_data['tbody'] = $excel_data; $emp_data['tbody'] = $excel_data;
$html = view('view_file_upload_emp_list', $emp_data); $html = view('view_file_upload_emp_list', $emp_data);
} else { } else {
$html = '<div class="text-center">No Data Found</div>'; $html = '<div class="text-center">No Data Found</div>';
} }
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $html, 'file_data' => $file_name, 'excel_data' => $excel_data], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => $html, 'file_data' => $file_name, 'excel_data' => $excel_data], 200);
} catch (\Exception $e) { } catch (\Exception $e) {
// Handle exception // Handle exception
$errorMessage = 'Error occurred: ' . $e->getMessage(); $errorMessage = 'Error occurred: ' . $e->getMessage();
@ -702,7 +670,9 @@ class EmployeeController extends AdminController
} }
} }
public function getEmpCount($id = null){
public function getEmpCount($id = null)
{
$data = $this->employeePolicyModel->select('employee_polices.id') $data = $this->employeePolicyModel->select('employee_polices.id')
->where('employee_polices.is_active', 1) ->where('employee_polices.is_active', 1)
@ -713,16 +683,13 @@ class EmployeeController extends AdminController
if ($data) { if ($data) {
return $this->respond(['dataStatus' => true, 'code' => 200, 'emp_count' => $emp_count], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'emp_count' => $emp_count], 200);
} else { } else {
return $this->respond(['dataStatus' => false, 'code' => 404], 404); return $this->respond(['dataStatus' => false, 'code' => 404], 404);
}
} }
}
public function downloadFullExcelErrorFile($file_id, $rowIndex = 1, $colIndex = 1) public function downloadFullExcelErrorFile($file_id, $rowIndex = 1, $colIndex = 1)
{ {
// Get file data from the database // Get file data from the database
@ -780,7 +747,6 @@ class EmployeeController extends AdminController
]; ];
$sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style); $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
} }
} else if ($error->error_type == 2) { } else if ($error->error_type == 2) {
@ -801,11 +767,8 @@ class EmployeeController extends AdminController
] ]
]; ];
$sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style); $sheet->getStyle([$colIndex, $rowIndex])->applyFromArray($style);
} }
} }
} }
@ -833,60 +796,157 @@ class EmployeeController extends AdminController
return $response; return $response;
} }
public function generateIDCardForEmployee($rand_string) public function generateIDCardForEmployee($rand_string)
{ {
try {
$get_emp_code_and_client_policy_id = $this->employeePolicyModel $get_emp_code_and_client_policy_id = $this->employeePolicyModel
->select('employee_polices.client_policy_id, employees.emp_code') ->select('employee_polices.client_policy_id, employees.emp_code, tpa.short_name')
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
->join('employees', 'employees.id = employee_polices.employee_id') ->join('employees', 'employees.id = employee_polices.employee_id')
->join('tpa', 'tpa.id = client_policy.tpa_id')
->where('employees.emp_status', 'active') ->where('employees.emp_status', 'active')
->where('employees.is_active', '1') ->where('employees.is_active', '1')
->where("employee_polices.tpa_id IS NOT NULL AND employee_polices.tpa_id <> ''")
->where('employee_polices.status', 'active') ->where('employee_polices.status', 'active')
->where('employee_polices.is_active', '1') ->where('employee_polices.is_active', '1')
->where('employee_polices.rand_string', $rand_string)->first(); ->where('employee_polices.rand_string', $rand_string)->first();
// dd($get_emp_code_and_client_policy_id);
if ($get_emp_code_and_client_policy_id == null || $get_emp_code_and_client_policy_id == "") { if ($get_emp_code_and_client_policy_id == null || $get_emp_code_and_client_policy_id == "") {
$data['message'] = 'Record Not Found'; $data['message'] = 'Record Not Found';
return view('errors/404', $data); return view('errors/404', $data);
} }
$client_policy_id = $get_emp_code_and_client_policy_id['client_policy_id']; $client_policy_id = $get_emp_code_and_client_policy_id['client_policy_id'];
$emp_code = $get_emp_code_and_client_policy_id['emp_code']; $emp_code = $get_emp_code_and_client_policy_id['emp_code'];
$data['data'] = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code); // $data['data'] = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
// $this->loadLayout('id_card_view', $data);exit; $data = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
$html = view('id_card_view', $data);
$dompdf = new Dompdf(); $template_data_path = WRITEPATH . 'e_card_template/';
$dompdf->loadHtml($html); $tpa_short_name = strtolower(str_replace(' ', '_', $get_emp_code_and_client_policy_id['short_name'])) . '.html';
$dompdf->setPaper('A4', 'landscape'); $final_path = $template_data_path . $tpa_short_name;
$dompdf->render();
$filename = 'ECard.pdf'; // Default filename if (!file_exists($final_path)) {
foreach ($data['data'] as $key => $value) { $data['message'] = 'Record Not Found';
return view('errors/404', $data);
}
if ($value['relationship'] == "Self") { $tmplt_data = file_get_contents($final_path);
$filename = $value['tpa_id']; // Update filename if relationship is "Self"
} elseif (!empty($value['tpa_id']) && $filename == 'ECard.pdf') { $html = ""; // Initialize the HTML variable
foreach ($data as $key => $value) {
$filename = $value['tpa_id']; // Get the HTML content from the template
// $htmlContent = view('ecard_template/md_tpa');
$htmlContent = $tmplt_data;
// Define the placeholders and their corresponding values
$placeholders = [
'{TPA_ID}' => $value['tpa_id'],
'{NAME}' => $value['name'],
'{UHID}' => $value['uhid'],
'{GENDER}' => $value['gender'],
'{DOB}' => date('d-M-Y', strtotime($value['dob'])),
'{SELF_NAME}' => $value['self'] ?? $value['name'],
'{POLICY_DATE}' => date('d-M-Y', strtotime($value['policy_end_date'])),
'{INSURER_NAME}' => $value['insurer_name'],
'{INSURER_LOGO}' => base_url() . 'public/uploads/logo/' . $value['insurer_logo'],
'{FRONT_CARD}' => base_url() . 'public/uploads/template_bg/' . $value['front_card'],
'{BACK_CARD}' => base_url() . 'public/uploads/logo/' . $value['back_card'],
'{EMP_ID}' =>$value['emp_code'],
'{CORPORATE_NAME}' =>$value['client_name'],
'{AGE}' =>$value['emp_age'],
];
// Replace placeholders with values in HTML content
foreach ($placeholders as $placeholder => $replaceValue) {
$htmlContent = str_replace($placeholder, $replaceValue, $htmlContent);
}
$html .= $htmlContent;
}
echo '<button id="downloadBtn" style="display: block;margin: 30px;position: relative;left: 220px;">Print</button>' . $html . '</button>
<script>
document.getElementById("downloadBtn").addEventListener("click", function() {
this.style.display = "none";
window.print();
this.style.display = "block";
});
</script>';
// $file_name = $get_emp_code_and_client_policy_id['short_names'] ?? 'md_tpa';
// $file_name = strtolower(str_replace(' ', '_', $file_name));
// $file_path = ROOTPATH . 'app/Views/ecard_template/' . $file_name . '.php';
// if (is_file($file_path)) {
// $view_file = 'ecard_template/' . $file_name;
// } else {
// $view_file = 'ecard_template/default_ecard';
// }
// $dpi = 132;
// $html = view('ecard_template/md_tpa');
// // echo $html; die;
// $options = new Options();
// $options->set('isRemoteEnabled', true);
// $options->set('isPhpEnabled', true);
// $options->setDpi($dpi);
// $dompdf = new Dompdf($options);
// $dompdf->loadHtml($html);
// $dompdf->setPaper('A4', 'portrait');
// $dompdf->render();
// $filename = 'ECard.pdf'; // Default filename
// foreach ($data['data'] as $key => $value) {
// if ($value['relationship'] == "Self") {
// $filename = $value['tpa_id'] . '.pdf'; // Update filename if relationship is "Self"
// } elseif (!empty($value['tpa_id']) && $filename == 'ECard.pdf') {
// $filename = $value['tpa_id'] . '.pdf';
// }
// }
// $dompdf->stream($filename, array("Attachment" => false));
} catch (\Exception $e) {
$data['message'] = 'Record Not Founds';
return view('errors/404', $data);
} }
} }
$dompdf->stream($filename);
}
public function viewECard() public function viewECard()
{ {
$this->loadLayout('id_card_view'); $this->loadLayout('ecard_template/default_ecard');
} }
public function truncateFileData() //truncateFileDataIn DB (de activate rows) public function truncateFileData() //truncateFileDataIn DB (de activate rows)
{ {
$file_id = $this->request->uri->getSegment(3); $file_id = $this->request->uri->getSegment(3);
@ -895,16 +955,12 @@ class EmployeeController extends AdminController
// $file['action'] = 'si_enhancement'; // $file['action'] = 'si_enhancement';
// $result = []; // $result = [];
// !dd($file); // !dd($file);
if($file['action'] == 'inception' || $file['action'] == 'dependent_addition' || $file['action'] == 'addition') if ($file['action'] == 'inception' || $file['action'] == 'dependent_addition' || $file['action'] == 'addition') {
{
$result = $this->employeeModel->getEmpListByFileId(file_id: $file_id, emp_status: ['active'], policy_status: ['active']); $result = $this->employeeModel->getEmpListByFileId(file_id: $file_id, emp_status: ['active'], policy_status: ['active']);
// ~dd($result); // ~dd($result);
if(count($result)) if (count($result)) {
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'File data already processed'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'File data already processed'], 200);
} } else {
else
{
//update emp and emp plocies //update emp and emp plocies
$db = db_connect(); $db = db_connect();
@ -918,9 +974,7 @@ class EmployeeController extends AdminController
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => round($affectedRows / 2)], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => round($affectedRows / 2)], 200);
} }
} } else if ($file['action'] == 'si_enhancement' || $file['action'] == 'correction' || $file['action'] == 'deletion') {
else if($file['action'] == 'si_enhancement' || $file['action'] == 'correction' || $file['action'] == 'deletion')
{
$res = $this->empEndorsementModel->select(['count(id) as count']) $res = $this->empEndorsementModel->select(['count(id) as count'])
->where('emp_endorsement.file_id', $file_id) ->where('emp_endorsement.file_id', $file_id)
->groupStart() ->groupStart()
@ -931,8 +985,7 @@ class EmployeeController extends AdminController
->getResult(); ->getResult();
// print_r($this->empEndorsementModel->getLastQuery()); // print_r($this->empEndorsementModel->getLastQuery());
// echo $res[0]->count;die(); // echo $res[0]->count;die();
if($res[0]->count == 0) if ($res[0]->count == 0) {
{
//update truncated status to db //update truncated status to db
$this->empEndorsementModel->where('file_id', $file_id) $this->empEndorsementModel->where('file_id', $file_id)
->set(['status' => 'truncated']) ->set(['status' => 'truncated'])
@ -940,17 +993,48 @@ class EmployeeController extends AdminController
//update file status //update file status
$this->fileModel->where('id', $file_id)->set(['status' => 'truncated'])->update(); $this->fileModel->where('id', $file_id)->set(['status' => 'truncated'])->update();
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'success'], 200); return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'success'], 200);
} } else {
else
{
return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'File data already processed'], 200); return $this->respond(['dataStatus' => false, 'code' => 404, 'message' => 'File data already processed'], 200);
} }
} }
} }
public function previewTemplate($id = null){
$tpa_id = $this->TPAModel->where('id', $id)->first();
$template_data_path = WRITEPATH . 'e_card_template/';
$tpa_short_name = strtolower(str_replace(' ', '_', $tpa_id['short_name'])) . '.html';
$final_path = $template_data_path . $tpa_short_name;
if (!file_exists($final_path)) {
$data['message'] = 'Record Not Found';
return view('errors/404', $data);
}
$tmplt_data = file_get_contents($final_path);
$placeholders = [
'{FRONT_CARD}' => base_url() . 'public/uploads/template_bg/' . $tpa_id['front_card'],
'{BACK_CARD}' => base_url() . 'public/uploads/logo/' . $tpa_id['back_card'],
];
// Get the values to replace the placeholders
$replaceValues = array_values($placeholders);
// Get the placeholders to search for
$searchPlaceholders = array_keys($placeholders);
// Replace placeholders with values in HTML content
$htmlContent = str_replace($searchPlaceholders, $replaceValues, $tmplt_data);
echo $htmlContent;
}
} }

View File

@ -9,10 +9,13 @@ use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use App\Helpers\sendMailNotification;
use App\Models\EmployeeModel; use App\Models\EmployeeModel;
use App\Models\EmployeePolicyModel; use App\Models\EmployeePolicyModel;
use App\Models\ClientModel; use App\Models\ClientModel;
use App\Models\ClientRMModel;
use App\Models\PolicesModel; use App\Models\PolicesModel;
use App\Models\RelationshipModel; use App\Models\RelationshipModel;
use App\Models\FileModel; use App\Models\FileModel;
@ -21,6 +24,7 @@ use App\Models\PolicyPremium1Model;
use App\Models\PolicyPremium2Model; use App\Models\PolicyPremium2Model;
use App\Models\PolicyTypeModel; use App\Models\PolicyTypeModel;
use App\Models\NotificationModel; use App\Models\NotificationModel;
use App\Models\UserModel;
use App\Controllers\Jobs ; use App\Controllers\Jobs ;
use App\Controllers\JobWorker ; use App\Controllers\JobWorker ;
@ -43,6 +47,7 @@ class EmployeeRestController extends AdminController
protected $employeeModel; protected $employeeModel;
protected $employeePolicyModel; protected $employeePolicyModel;
protected $clientModel; protected $clientModel;
protected $clientRMModel;
protected $fileModel; protected $fileModel;
protected $policesModel; protected $policesModel;
protected $relationshipModel; protected $relationshipModel;
@ -51,6 +56,7 @@ class EmployeeRestController extends AdminController
protected $policyPremium2Model; protected $policyPremium2Model;
protected $policyTypeModel; protected $policyTypeModel;
protected $notificationModel; protected $notificationModel;
protected $userModel;
public function __construct() public function __construct()
{ {
@ -60,6 +66,7 @@ class EmployeeRestController extends AdminController
$this->employeeModel = new EmployeeModel(); $this->employeeModel = new EmployeeModel();
$this->employeePolicyModel = new EmployeePolicyModel(); $this->employeePolicyModel = new EmployeePolicyModel();
$this->clientModel = new ClientModel(); $this->clientModel = new ClientModel();
$this->clientRMModel = new ClientRMModel();
$this->policesModel = new PolicesModel(); $this->policesModel = new PolicesModel();
$this->relationshipModel = new RelationshipModel(); $this->relationshipModel = new RelationshipModel();
$this->fileModel= new FileModel(); $this->fileModel= new FileModel();
@ -68,6 +75,7 @@ class EmployeeRestController extends AdminController
$this->policyPremium2Model = new PolicyPremium2Model(); $this->policyPremium2Model = new PolicyPremium2Model();
$this->policyTypeModel = new PolicyTypeModel(); $this->policyTypeModel = new PolicyTypeModel();
$this->notificationModel = new NotificationModel(); $this->notificationModel = new NotificationModel();
$this->userModel = new UserModel();
} }
@ -307,7 +315,7 @@ class EmployeeRestController extends AdminController
->where('client_policy_id',$value['policy_details']['client_policy_id'] ) ->where('client_policy_id',$value['policy_details']['client_policy_id'] )
->where('employee_id' , $value['temp']['emp_id'] ) ->where('employee_id' , $value['temp']['emp_id'] )
->where('is_active', 1 ) ->where('is_active', 1 )
->set(array('premium'=> $value['policy_details']['premium'] , 'gst'=> $value['policy_details']['gst'] )) ->set(array('premium'=> $value['policy_details']['premium'] , 'rata_premimum'=> $value['policy_details']['rata_premimum'] , 'gst'=> $value['policy_details']['gst'] ))
->update(); ->update();
} }
@ -870,36 +878,14 @@ class EmployeeRestController extends AdminController
if ($notification['enabled'] == 1) { if ($notification['enabled'] == 1) {
//trigger //trigger
if ($dataToInsert[$a]['relationship'] == 'Self') { if ($dataToInsert[$a]['relationship'] == 'Self') {
$mail = $dataToInsert[$a]['email_corporate'];
$params['dataToInsert'] = $dataToInsert[$a];
$params['notification'] = $notification;
$params['client_data'] = $client_data;
$subject = $notification['subject']; $wholeData[] = sendMailNotification::sendMailNotification('member_welcome_mail', $params);
// $subject = 'Welcome, Employee Benefit Program Enrolment';
// $message = 'Dear ' . $dataToInsert[$a]['name'] . ",<br> We are glad to welcome you to the employee benefit program ," .$policy_name['name'] ."offered by your employer, <br><br><br> Click on the link below to review your personal and family details:<br><a href='https://venbait.in/nhance/app/dev'>Review Details</a>" ;
// $data['employee_name']=$dataToInsert[$a]['name'];
$data['policy_name']=$policy['name'];
// $data['App_Url'] = $_ENV['App_Url'];
$app_link = $_ENV['App_Url'];
$employee_name =$dataToInsert[$a]['name'];
$mail_content = $notification['mail_content'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[user_name]]", $employee_name, $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
$message = $mail_content;
if ($dataToInsert[$a]['relationship'] == 'Self' && $mail != null || $mail != '') {
$count++; $count++;
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $message,'cc'=> $client_data['common_mails']];
} }
}
if($count == 20 || $a == count($dataToInsert)-1){ if($count == 20 || $a == count($dataToInsert)-1){
$job_details = new Jobs(); $job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]); $r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]);
@ -978,6 +964,7 @@ public function getEmployeePolicy()
// Filter employee data where the family_floater_key is 'self' // Filter employee data where the family_floater_key is 'self'
$selfData = array_filter($empData, fn($arr) => trim(strtolower($arr['family_floater_key'])) === 'self'); $selfData = array_filter($empData, fn($arr) => trim(strtolower($arr['family_floater_key'])) === 'self');
$employee_policy = $this->employeePolicyModel->where('employee_id',$selfData[0]['id'])->where('client_policy_id',$array->ClientPolicyId)->where('is_active', 1 )->get()->getRow();
$self['is_value_exist'] = true; $self['is_value_exist'] = true;
$self['data']['family_floater_key'] = 'self'; $self['data']['family_floater_key'] = 'self';
@ -987,6 +974,7 @@ public function getEmployeePolicy()
$self['data']['dob'] = $this->convertDateFormatDMY($selfData[0]['dob']); $self['data']['dob'] = $this->convertDateFormatDMY($selfData[0]['dob']);
$self['data']['mobile'] = $selfData[0]['mobile']; $self['data']['mobile'] = $selfData[0]['mobile'];
$self['data']['client_policy_id'] = $array->ClientPolicyId; $self['data']['client_policy_id'] = $array->ClientPolicyId;
$self['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
$array->mapped_family_floaters = $self; $array->mapped_family_floaters = $self;
@ -1025,6 +1013,7 @@ public function getEmployeePolicy()
if(count($empData)){ if(count($empData)){
foreach ($empData as $key => $value) { foreach ($empData as $key => $value) {
if ($value['family_floater_key'] === $dependent) { if ($value['family_floater_key'] === $dependent) {
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array->ClientPolicyId)->where('is_active', 1 )->get()->getRow();
$temp['is_value_exist'] = true; $temp['is_value_exist'] = true;
$temp['data']['family_floater_key'] = $familyFloatesValue; $temp['data']['family_floater_key'] = $familyFloatesValue;
$temp['data']['employee_id'] = $value['id']; $temp['data']['employee_id'] = $value['id'];
@ -1033,6 +1022,11 @@ public function getEmployeePolicy()
$temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']); $temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
$temp['data']['client_policy_id'] = $array->ClientPolicyId; $temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent; $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;
array_push($data,$temp); array_push($data,$temp);
unset($empData[$key]); unset($empData[$key]);
$floters = array_diff($floters, [$familyFloatesValue]); $floters = array_diff($floters, [$familyFloatesValue]);
@ -1041,6 +1035,8 @@ public function getEmployeePolicy()
} }
} }
} }
// dd($data);
// Remove Unwanted floter key from floters array based on either-parents-pil term value // Remove Unwanted floter key from floters array based on either-parents-pil term value
if($familyFloates->{'either-parents-pil'} == 1 && count($floters)) if($familyFloates->{'either-parents-pil'} == 1 && count($floters))
@ -1176,13 +1172,16 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
// Convert familyFloaters terms data to plain array // Convert familyFloaters terms data to plain array
$floters = $this->FloterConvertion($familyFloates); $floters = $this->FloterConvertion($familyFloates);
$data = []; $data = [];
foreach ($floters as $familyFloatesValue) { foreach ($floters as $familyFloatesValue) {
$dependent = preg_replace('/\d/', '', $familyFloatesValue); $dependent = preg_replace('/\d/', '', $familyFloatesValue);
if(count($empData)){ if(count($empData)){
foreach ($empData as $key => $value) { foreach ($empData as $key => $value) {
if ($value['family_floater_key'] === $dependent) { if ($value['family_floater_key'] === $dependent) {
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array->ClientPolicyId)->where('is_active', 1 )->get()->getRow();
// dd( $employee_policy);
$temp['is_value_exist'] = true; $temp['is_value_exist'] = true;
$temp['data']['family_floater_key'] = $familyFloatesValue; $temp['data']['family_floater_key'] = $familyFloatesValue;
$temp['data']['employee_id'] = $value['id']; $temp['data']['employee_id'] = $value['id'];
@ -1191,6 +1190,10 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
$temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']); $temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
$temp['data']['client_policy_id'] = $array->ClientPolicyId; $temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent; $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;
array_push($data,$temp); array_push($data,$temp);
unset($empData[$key]); unset($empData[$key]);
$floters = array_diff($floters, [$familyFloatesValue]); $floters = array_diff($floters, [$familyFloatesValue]);
@ -1329,6 +1332,7 @@ public function getAddOnPolicy()
if(count($clientPolicy)) if(count($clientPolicy))
{ {
$band = $addOnEmployeeData = $this->employeeModel->where('is_active', 1 )->where('emp_code',$this->request->getGet('emp_code'))->where('client_id',$this->request->getGet('client_id'))->where('family_floater_key','self')->get()->getRow()->band;
$PolicyData = []; $PolicyData = [];
foreach ($clientPolicy as $key => $array) { foreach ($clientPolicy as $key => $array) {
$responce = []; $responce = [];
@ -1336,9 +1340,26 @@ public function getAddOnPolicy()
$decodedArray = json_decode($array['policy_terms']); $decodedArray = json_decode($array['policy_terms']);
$policy_terms = $decodedArray; $policy_terms = $decodedArray;
$getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($array['id'],$array['client_id']); $getSlabAndGridData = $this->policesModel->getPolicySlabRatesForEmpOnboard($array['id'],$array['client_id']);
$uniqueData = [];
$siValues = [];
foreach ($getSlabAndGridData['slab_rates'] as $item) {
if($getSlabAndGridData['grid_master']['emp_band'] == 1 ){
if ($item['grade'] == $band) {
$uniqueData[] = $item;
}
}else{
if (!in_array($item['si'], $siValues)) {
$uniqueData[] = $item;
$siValues[] = $item['si'];
}
}
}
$responce['policy_name'] = $this->policesModel->where('id',$array['policy_id'])->get()->getRow()->name; $responce['policy_name'] = $this->policesModel->where('id',$array['policy_id'])->get()->getRow()->name;
$responce['SlabRates'] = $getSlabAndGridData['slab_rates']; $responce['SlabRates'] = $uniqueData;
$responce['GridMaster'] = $getSlabAndGridData['grid_master']; $responce['GridMaster'] = $getSlabAndGridData['grid_master'];
$responce['client_id'] = $array['client_id']; $responce['client_id'] = $array['client_id'];
$responce['client_policy_id'] = $array['id']; $responce['client_policy_id'] = $array['id'];
@ -1490,10 +1511,11 @@ public function getAddOnPolicy()
}else if($array['is_addon'] == 2 && $array['policy_type_id'] == 4)//Topup policy }else if($array['is_addon'] == 2 && $array['policy_type_id'] == 4)//Topup policy
{ {
$whereArray = []; $whereArray = [];
foreach ( $decodedArray->family_floaters as $key => $value) { foreach ( $decodedArray->family_floaters as $key => $value) {
if($value != 0){ if($value != 0){
if($key == 'parents'){ $text = 'parent'; }else if($key == 'childrens'){ $text = 'child'; }else{ $text = $key; } if($key == 'parents'){ $text = 'parent'; }else if($key == 'childrens'){ $text = 'child'; }else if($key == 'parents-in-law'){$text = 'parent_in_law';}else{ $text = $key; }
array_push($whereArray,$text); array_push($whereArray,$text);
} }
} }
@ -1512,7 +1534,7 @@ public function getAddOnPolicy()
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->where('is_active', 1 )->get()->getRow(); $employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->where('is_active', 1 )->get()->getRow();
if(isset($employee_policy->basic_cover_si)){ $only_si_value = $employee_policy->basic_cover_si; } if(isset($employee_policy->basic_cover_si)){ $only_si_value = $employee_policy->basic_cover_si; }
if(isset($employee_policy->premium)){ $only_si_premium_value = $only_si_premium_value + $employee_policy->premium;} if(isset($employee_policy->premium)){ $only_si_premium_value = $only_si_premium_value + $employee_policy->rata_premimum;}
if(isset($employee_policy->gst)){ $only_si_gst_value = $only_si_gst_value + $employee_policy->gst;} if(isset($employee_policy->gst)){ $only_si_gst_value = $only_si_gst_value + $employee_policy->gst;}
$temp3['is_value_exist'] = true; $temp3['is_value_exist'] = true;
$temp3['data']['employee_id'] = $value['id']; $temp3['data']['employee_id'] = $value['id'];
@ -1543,7 +1565,7 @@ public function getAddOnPolicy()
$whereArray = []; $whereArray = [];
foreach ( $decodedArray->family_floaters as $key => $value) { foreach ( $decodedArray->family_floaters as $key => $value) {
if($value != 0){ if($value != 0){
if($key == 'parents'){ $text = 'parent'; }else if($key == 'childrens'){ $text = 'child'; }else{ $text = $key; } if($key == 'parents'){ $text = 'parent'; }else if($key == 'childrens'){ $text = 'child'; }else if($key == 'parents-in-law'){$text = 'parent_in_law';}else{ $text = $key; }
array_push($whereArray,$text); array_push($whereArray,$text);
} }
} }
@ -1561,7 +1583,7 @@ public function getAddOnPolicy()
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->where('is_active', 1 )->get()->getRow(); $employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array['id'])->where('is_active', 1 )->get()->getRow();
if(isset($employee_policy->basic_cover_si)){ $only_si_value = $employee_policy->basic_cover_si; } if(isset($employee_policy->basic_cover_si)){ $only_si_value = $employee_policy->basic_cover_si; }
if(isset($employee_policy->premium)){ $only_si_premium_value = $only_si_premium_value + $employee_policy->premium;} if(isset($employee_policy->premium)){ $only_si_premium_value = $only_si_premium_value + $employee_policy->rata_premimum;}
if(isset($employee_policy->gst)){ $only_si_gst_value = $only_si_gst_value + $employee_policy->gst;} if(isset($employee_policy->gst)){ $only_si_gst_value = $only_si_gst_value + $employee_policy->gst;}
$temp3['is_value_exist'] = true; $temp3['is_value_exist'] = true;
$temp3['data']['employee_id'] = $value['id']; $temp3['data']['employee_id'] = $value['id'];
@ -1604,8 +1626,8 @@ public function getAddOnPolicy()
public function iAgreeForAddOn() public function iAgreeForAddOn()
{ {
$postData = json_decode($this->request->getBody(), true); $postData = json_decode($this->request->getBody(), true);
$client_policy_id = $postData['client_policy_id']; $client_policy_id = $postData['client_policy_id'];
$emp_code = $postData['emp_code']; $emp_code = $postData['emp_code'];
$client_id = $postData['client_id']; $client_id = $postData['client_id'];
@ -1618,13 +1640,39 @@ public function iAgreeForAddOn()
if (!is_null($client_policy_id) && is_array($client_policy_id)) if (!is_null($client_policy_id) && is_array($client_policy_id))
{ {
$array_list = [];
foreach ($client_policy_id as $key => $value) foreach ($client_policy_id as $key => $value)
{ {
$this->employeePolicyModel->where('client_policy_id', $value ) $this->employeePolicyModel->where('client_policy_id', $value )
->where('is_active', 1 ) ->where('is_active', 1 )
->set(array('status'=>'enrolled')) ->set(array('status'=>'enrolled'))
->update(); ->update();
$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]);
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);
}
}
} }
return $this->respond(['status' => 'success','code' => 200,'data' => [] ], 200); return $this->respond(['status' => 'success','code' => 200,'data' => [] ], 200);

View File

@ -34,7 +34,7 @@ class EmployeeServiceController extends AdminController
protected $policiesModel; protected $policiesModel;
protected $empEndorsementModel; protected $empEndorsementModel;
protected $general_relationships = ['self' => ['name' => 'Self', 'gender' => 'M','age_min' => 18,'age_max' => null], 'spouse' => ['name' => 'Spouse', 'gender' => 'F','age_min' => 18,'age_max' => null], 'son' => ['name' => 'Son', 'gender' => 'M','age_min' => null,'age_max' => 25], 'daughter' => ['name' => 'Daughter', 'gender' => 'F','age_min' => null,'age_max' => 25], 'father' => ['name' => 'Father', 'gender' => 'M','age_min' => 18,'age_max' => null], 'mother' => ['name' => 'Mother', 'gender' => 'F','age_min' => 18,'age_max' => null], 'father-in-law' => ['name' => 'Father in Law', 'gender' => 'M','age_min' => 18,'age_max' => null], 'mother-in-law' => ['name' => 'Mother in Law', 'gender' => 'F','age_min' => 18,'age_max' => null]]; protected $general_relationships = ['self' => ['name' => 'Self', 'gender' => 'M','age_min' => 18,'age_max' => null], 'spouse' => ['name' => 'Spouse', 'gender' => 'F','age_min' => 18,'age_max' => null], 'son' => ['name' => 'Son', 'gender' => 'M','age_min' => null,'age_max' => 25], 'daughter' => ['name' => 'Daughter', 'gender' => 'F','age_min' => null,'age_max' => 25], 'father' => ['name' => 'Father', 'gender' => 'M','age_min' => 18,'age_max' => null], 'mother' => ['name' => 'Mother', 'gender' => 'F','age_min' => 18,'age_max' => null], 'father-in-law' => ['name' => 'Father in Law', 'gender' => 'M','age_min' => 18,'age_max' => null], 'mother-in-law' => ['name' => 'Mother in Law', 'gender' => 'F','age_min' => 18,'age_max' => null]];
protected $inception_excel_columns = ['sno'=>['col_idx'=>0,'col_cell_name'=>'A','col_name'=>'S.No','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'emp_id'=>['col_idx'=>1,'col_cell_name'=>'B','col_name'=>'EMP ID','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'name_of_emp_dep'=>['col_idx'=>2,'col_cell_name'=>'C','col_name'=>'NAME OF EMP/DEP','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'dob'=>['col_idx'=>3,'col_cell_name'=>'D','col_name'=>'DOB','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'custom'=>'check_dob_diff','params'=>['row','relationship']],'gender'=>['col_idx'=>4,'col_cell_name'=>'E','col_name'=>'Gender','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>['M','F']],'relationship'=>['col_idx'=>5,'col_cell_name'=>'F','col_name'=>'RELATIONSHIP','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_relationship','params'=>['row','relationship','policy_terms']],'basic_cover_si'=>['col_idx'=>6,'col_cell_name'=>'G','col_name'=>'BASIC COVER SI','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom' => 'check_si','params' => ['row','policy_terms','slab_details']],'doc'=>['col_idx'=>7,'col_cell_name'=>'H','col_name'=>'Date of Coverage','is_mandatory'=>['A','DA'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'params'=>['row']],'doj'=>['col_idx'=>8,'col_cell_name'=>'I','col_name'=>'DOJ','is_mandatory'=>false,'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'custom'=>'check_doj','params'=>['row']],'basic_pay'=>['col_idx'=>9,'col_cell_name'=>'J','col_name'=>'Basic Pay','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_basic_pay','params'=>['row','policy_terms','slab_details']],'band_grade'=>['col_idx'=>10,'col_cell_name'=>'K','col_name'=>'Band/Grade','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_employee_band','params'=>['row','policy_terms','slab_details']],'designation'=>['col_idx'=>11,'col_cell_name'=>'L','col_name'=>'Designation','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'phone'=>['col_idx'=>12,'col_cell_name'=>'M','col_name'=>'Phone','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'email'=>['col_idx'=>13,'col_cell_name'=>'N','col_name'=>'Email','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'pre_existing_ailments'=>['col_idx'=>14,'col_cell_name'=>'O','col_name'=>'PRE EXISTING AILMENTS','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>['0','1']],'change_event'=>['col_idx'=>15,'col_cell_name'=>'P','col_name'=>'Change event','is_mandatory'=>['A','DA','D'],'data_type'=>'str','format'=>null,'allowed_values'=>null],'date_of_exit'=>['col_idx'=>16,'col_cell_name'=>'Q','col_name'=>'Date of exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null],'reason_for_exit'=>['col_idx'=>17,'col_cell_name'=>'R','col_name'=>'Reason for exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null]]; protected $inception_excel_columns = ['sno'=>['col_idx'=>0,'col_cell_name'=>'A','col_name'=>'S.No','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'emp_id'=>['col_idx'=>1,'col_cell_name'=>'B','col_name'=>'EMP ID','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'name_of_emp_dep'=>['col_idx'=>2,'col_cell_name'=>'C','col_name'=>'NAME OF EMP/DEP','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'dob'=>['col_idx'=>3,'col_cell_name'=>'D','col_name'=>'DOB','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'custom'=>'check_dob_diff','params'=>['row','relationship','default_age_ratio']],'gender'=>['col_idx'=>4,'col_cell_name'=>'E','col_name'=>'Gender','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>['M','F']],'relationship'=>['col_idx'=>5,'col_cell_name'=>'F','col_name'=>'RELATIONSHIP','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_relationship','params'=>['row','relationship','policy_terms']],'basic_cover_si'=>['col_idx'=>6,'col_cell_name'=>'G','col_name'=>'BASIC COVER SI','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom' => 'check_si','params' => ['row','policy_terms','slab_details']],'doc'=>['col_idx'=>7,'col_cell_name'=>'H','col_name'=>'Date of Coverage','is_mandatory'=>['A','DA'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'params'=>['row']],'doj'=>['col_idx'=>8,'col_cell_name'=>'I','col_name'=>'DOJ','is_mandatory'=>false,'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null,'custom'=>'check_doj','params'=>['row']],'basic_pay'=>['col_idx'=>9,'col_cell_name'=>'J','col_name'=>'Basic Pay','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_basic_pay','params'=>['row','policy_terms','slab_details']],'band_grade'=>['col_idx'=>10,'col_cell_name'=>'K','col_name'=>'Band/Grade','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null,'custom'=>'check_employee_band','params'=>['row','policy_terms','slab_details']],'designation'=>['col_idx'=>11,'col_cell_name'=>'L','col_name'=>'Designation','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'phone'=>['col_idx'=>12,'col_cell_name'=>'M','col_name'=>'Phone','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'email'=>['col_idx'=>13,'col_cell_name'=>'N','col_name'=>'Email','is_mandatory'=>false,'data_type'=>'str','format'=>null,'allowed_values'=>null],'pre_existing_ailments'=>['col_idx'=>14,'col_cell_name'=>'O','col_name'=>'PRE EXISTING AILMENTS','is_mandatory'=>['I','A','DA'],'data_type'=>'str','format'=>null,'allowed_values'=>['0','1']],'change_event'=>['col_idx'=>15,'col_cell_name'=>'P','col_name'=>'Change event','is_mandatory'=>['A','DA','D'],'data_type'=>'str','format'=>null,'allowed_values'=>null],'date_of_exit'=>['col_idx'=>16,'col_cell_name'=>'Q','col_name'=>'Date of exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null],'reason_for_exit'=>['col_idx'=>17,'col_cell_name'=>'R','col_name'=>'Reason for exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null]];
protected $deletion_excel_columns = ['sno'=>['col_idx'=>0,'col_cell_name'=>'A','col_name'=>'S.No','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'emp_id'=>['col_idx'=>1,'col_cell_name'=>'B','col_name'=>'EMP ID','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'name_of_emp_dep'=>['col_idx'=>2,'col_cell_name'=>'C','col_name'=>'NAME OF EMP/DEP','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'change_event'=>['col_idx'=>3,'col_cell_name'=>'D','col_name'=>'Change event','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null],'date_of_exit'=>['col_idx'=>4,'col_cell_name'=>'E','col_name'=>'Date of exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null],'reason_for_exit'=>['col_idx'=>5,'col_cell_name'=>'F','col_name'=>'Reason for exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null]]; protected $deletion_excel_columns = ['sno'=>['col_idx'=>0,'col_cell_name'=>'A','col_name'=>'S.No','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'emp_id'=>['col_idx'=>1,'col_cell_name'=>'B','col_name'=>'EMP ID','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'name_of_emp_dep'=>['col_idx'=>2,'col_cell_name'=>'C','col_name'=>'NAME OF EMP/DEP','is_mandatory'=>true,'data_type'=>'str','format'=>null,'allowed_values'=>null],'change_event'=>['col_idx'=>3,'col_cell_name'=>'D','col_name'=>'Change event','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null],'date_of_exit'=>['col_idx'=>4,'col_cell_name'=>'E','col_name'=>'Date of exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>'d-M-Y','allowed_values'=>null],'reason_for_exit'=>['col_idx'=>5,'col_cell_name'=>'F','col_name'=>'Reason for exit','is_mandatory'=>['D'],'data_type'=>'str','format'=>null,'allowed_values'=>null]];
@ -140,11 +140,12 @@ class EmployeeServiceController extends AdminController
// dd($columns_to_check);die(); // dd($columns_to_check);die();
// get policy and rack details // get policy and rack details
$policy_terms = $this->clientPolicyModel->getPolicyDetails($file['client_id'],$file['policy_id']); $policy_details = $this->clientPolicyModel->getPolicyDetails($file['client_id'],$file['policy_id']);
$policy_terms = json_decode($policy_terms[0]->policy_terms); $policy_terms = json_decode($policy_details[0]->policy_terms);
$policy_terms = (array) $policy_terms;// convert obj to array $policy_terms = (array) $policy_terms;// convert obj to array
$default_age_ratio = isset($policy_details[0]->age_ratio) ? json_decode($policy_details[0]->age_ratio) : [];
// //
// dd($policy_terms); // dd($default_age_ratio);
//get policy slab rates //get policy slab rates
$slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($file['policy_id'],$file['client_id']); $slab_details = $this->policiesModel->getPolicySlabRatesForEmpOnboard($file['policy_id'],$file['client_id']);
@ -169,10 +170,12 @@ class EmployeeServiceController extends AdminController
{ {
break; break;
} }
//iterate each row
//iterate each row for columns validations
foreach ($row as $col_key => $col) foreach ($row as $col_key => $col)
{ {
$is_mandatory = $columns_to_check[$keys[$col_key]]['is_mandatory']; $is_mandatory = $columns_to_check[$keys[$col_key]]['is_mandatory'];
$format = $columns_to_check[$keys[$col_key]]['format']; $format = $columns_to_check[$keys[$col_key]]['format'];
$allowed_values = $columns_to_check[$keys[$col_key]]['allowed_values']; $allowed_values = $columns_to_check[$keys[$col_key]]['allowed_values'];
@ -265,11 +268,6 @@ class EmployeeServiceController extends AdminController
$failure_reason = ((json_encode($result))); $failure_reason = ((json_encode($result)));
$this->fileModel->where('id', $file_id)->set(['status' => $status,'reason' => $failure_reason])->update(); $this->fileModel->where('id', $file_id)->set(['status' => $status,'reason' => $failure_reason])->update();
$this->myLogger->logme("error",'{file_id} uploaded failed',['file_id' => $file_id]); $this->myLogger->logme("error",'{file_id} uploaded failed',['file_id' => $file_id]);
//return $this->respond(['dataStatus' => true,'code' => 404,'data' => 'file upload failed with errors'], 200);
// dd($failure_reason);
//print_r($r);
} }
else //trigger next data validation via job queue server else //trigger next data validation via job queue server
{ {
@ -375,7 +373,7 @@ class EmployeeServiceController extends AdminController
} }
} }
if(($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'dependent_addition') && ($policy_details['is_addon'] != 3)) // 3 is dependent addon if(($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'dependent_addition') && ($policy_details['policy_type_id'] != 3)) // 3 is GMC parents (base policy or dep addon)
{ {
$res = check_self_available_in_family($family,$file['action']); $res = check_self_available_in_family($family,$file['action']);
// dd($res); // dd($res);
@ -386,6 +384,18 @@ class EmployeeServiceController extends AdminController
} }
} }
//check self avaialbe where self data is not available either in excel or same policy (i.e.) gMC parents
if($policy_details['policy_type_id'] == 3) // 3 is GMC parents (base policy or dep addon)
{
$self_details = $this->employeeModel->getEmpFamilybyEmpCode(emp_code: $emp_id,client_id: $file['client_id'],emp_status: ['active'],policy_status:['active']);
// dd($self_details);
if(!count($self_details))
{
array_push($result['error_summary'],14); // Self not found
$result['error_data'][ $family[0][0] ]['sno']['error'][] = "Self not found ";
}
}
if($file['action'] == 'dependent_addition' || $file['action'] == 'addition' || $file['action'] == 'inception') if($file['action'] == 'dependent_addition' || $file['action'] == 'addition' || $file['action'] == 'inception')
{ {
@ -461,7 +471,6 @@ class EmployeeServiceController extends AdminController
{ {
//proceed next data level validation in JOB queue //proceed next data level validation in JOB queue
$job_details = new Jobs(); $job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'employeesOnboardPreprocess','payload' => ['file_id' => $file_id]]); $r = Jobs::addJob(['job_name' => 'employeesOnboardPreprocess','payload' => ['file_id' => $file_id]]);
// $jobWorker = new JobWorker(); // $jobWorker = new JobWorker();
// JobWorker::processJob($r); // JobWorker::processJob($r);

View File

@ -7,6 +7,7 @@ use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use CodeIgniter\API\ResponseTrait; use CodeIgniter\API\ResponseTrait;
use CodeIgniter\Files\File;
use App\Models\UserModel; use App\Models\UserModel;
use App\Models\ClientModel; use App\Models\ClientModel;
@ -186,8 +187,11 @@ class MasterController extends AdminController
{ {
$this->myLogger->logme('error','Insurer general info function called'); $this->myLogger->logme('error','Insurer general info function called');
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
$file_name = file_Upload($this->request->getFile('insurer_logo'), $uploadFilePath);
$data = $this->request->getPost(); $data = $this->request->getPost();
$data['created_by'] = get_session_userid(); $data['created_by'] = get_session_userid();
$data['insurer_logo'] = $file_name;
$insert = $this->insurerModel->insert($data); $insert = $this->insurerModel->insert($data);
if($insert){ if($insert){
@ -249,9 +253,18 @@ class MasterController extends AdminController
public function editInsurerGeneralInfo() public function editInsurerGeneralInfo()
{ {
$this->myLogger->logme('error','edit Insurer general info function called'); $this->myLogger->logme('error','edit Insurer general info function called');
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
$file_name = file_Upload($this->request->getFile('insurer_logo'), $uploadFilePath);
$id = $this->request->getPost('PrimaryKey'); $id = $this->request->getPost('PrimaryKey');
$data = $this->request->getPost(); $data = $this->request->getPost();
$data['updated_by'] = get_session_userid(); $data['updated_by'] = get_session_userid();
if(!empty($file_name)){
$data['insurer_logo'] = $file_name;
}
$update = $this->insurerModel->update($id,$data); $update = $this->insurerModel->update($id,$data);
if($update){ if($update){
echo json_encode(array("status" => true , 'data' => $data)); echo json_encode(array("status" => true , 'data' => $data));
@ -399,10 +412,50 @@ class MasterController extends AdminController
{ {
$this->myLogger->logme('error','TPA general info function called'); $this->myLogger->logme('error','TPA general info function called');
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
$file_name = file_Upload($this->request->getFile('tpa_logo'), $uploadFilePath);
$template_bg_path = ROOTPATH . 'public/uploads/template_bg';
$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);
$eCardTemplate = $this->request->getPost('ecard_content');
$data = $this->request->getPost(); $data = $this->request->getPost();
$data['created_by'] = get_session_userid(); $data['created_by'] = get_session_userid();
$data['tpa_logo'] = $file_name;
$data['front_card'] = $front_card_file_name;
$data['back_card'] = $back_card_file_name;
$insert = $this->tpaModel->insert($data); $insert = $this->tpaModel->insert($data);
$tpa_name = (string) $this->request->getPost('name');
$short_name = (string) $this->request->getPost('short_name');
$filename = strtolower(str_replace(' ', '_', $short_name)) . '.html';
$file_directory = WRITEPATH . 'e_card_template/';
$file_path = $file_directory . $filename;
// Ensure that the directory exists, if not, create it
if (!is_dir($file_directory)) {
mkdir($file_directory, 0777, true);
}
// Set the appropriate content type
header('Content-type:text/html; charset=utf-8');
// Write the HTML content to the file
$data = file_put_contents($file_path, $eCardTemplate);
if ($data !== false) {
$this->myLogger->logme('error', 'TPA: {tpa}, e-Card HTML template file saved successfully: {data}, filepath is: {path}', ['data' => $filename, 'tpa' => $tpa_name, 'path' => $file_path]);
} else {
$this->myLogger->logme('error', 'TPA: {tpa}, e-Card HTML template file unable to save: {data}', ['data' => $filename, 'tpa' => $tpa_name]);
}
if($insert){ if($insert){
$tpa_data = $this->tpaModel->where(['id' => $insert, 'is_active' => 1])->first(); $tpa_data = $this->tpaModel->where(['id' => $insert, 'is_active' => 1])->first();
echo json_encode(array("status" => true , 'data' => $tpa_data)); echo json_encode(array("status" => true , 'data' => $tpa_data));
@ -457,10 +510,22 @@ class MasterController extends AdminController
$this->myLogger->logme('error','Edit TPA Onboarding function called'); $this->myLogger->logme('error','Edit TPA Onboarding function called');
$headerData['page_name'] = 'Edit TPA Master'; $headerData['page_name'] = 'Edit TPA Master';
$editData['tpa'] = $this->tpaModel->where(['id' => $id, 'is_active' => 1])->first(); $tpa_data = $this->tpaModel->where(['id' => $id, 'is_active' => 1])->first();
$editData['tpa'] = $tpa_data;
$editData['tpa_branch'] = $this->tpaBranchModel->where(['tpa_id' => $id, 'is_active' => 1])->findAll(); $editData['tpa_branch'] = $this->tpaBranchModel->where(['tpa_id' => $id, 'is_active' => 1])->findAll();
$editData['state'] = $this->stateModel->getAllStates(); $editData['state'] = $this->stateModel->getAllStates();
$filename = strtolower(str_replace(' ', '_', $tpa_data['short_name'])) . '.html';
$template_data_path = WRITEPATH . 'e_card_template/';
$final_path = $template_data_path . $filename;
if (file_exists($final_path)) {
$tmplt_data = file_get_contents($final_path);
$editData['template_data'] = $tmplt_data;
}
// echo "<pre>"; // echo "<pre>";
// print_r($editData); die; // print_r($editData); die;
@ -477,10 +542,61 @@ class MasterController extends AdminController
public function editTPAGeneralInfo() public function editTPAGeneralInfo()
{ {
$this->myLogger->logme('error','edit TPA general info function called'); $this->myLogger->logme('error','edit TPA general info function called');
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
$file_name = file_Upload($this->request->getFile('tpa_logo'), $uploadFilePath);
$template_bg_path = ROOTPATH . 'public/uploads/template_bg';
$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 = $this->request->getPost('PrimaryKey'); $id = $this->request->getPost('PrimaryKey');
$data = $this->request->getPost(); $data = $this->request->getPost();
$data['updated_by'] = get_session_userid(); $data['updated_by'] = get_session_userid();
if(!empty($file_name)){
$data['tpa_logo'] = $file_name;
}
if(!empty($front_card_file_name)){
$data['front_card'] = $front_card_file_name;
}
if(!empty($back_card_file_name)){
$data['back_card'] = $back_card_file_name;
}
$update = $this->tpaModel->update($id,$data); $update = $this->tpaModel->update($id,$data);
$tpa_name = (string) $this->request->getPost('name');
$short_name = (string) $this->request->getPost('short_name');
$eCardTemplate = $this->request->getPost('ecard_content');
$filename = strtolower(str_replace(' ', '_', $short_name)) . '.html';
$file_directory = WRITEPATH . 'e_card_template/';
$file_path = $file_directory . $filename;
// Ensure that the directory exists, if not, create it
if (!is_dir($file_directory)) {
mkdir($file_directory, 0777, true);
}
// Set the appropriate content type
header('Content-type:text/html; charset=utf-8');
// Write the HTML content to the file
$data = file_put_contents($file_path, $eCardTemplate);
if ($data !== false) {
$this->myLogger->logme('error', 'TPA: {tpa}, e-Card HTML template file saved successfully: {data}, filepath is: {path}', ['data' => $filename, 'tpa' => $tpa_name, 'path' => $file_path]);
} else {
$this->myLogger->logme('error', 'TPA: {tpa}, e-Card HTML template file unable to save: {data}', ['data' => $filename, 'tpa' => $tpa_name]);
}
if($update){ if($update){
echo json_encode(array("status" => true , 'data' => $data)); echo json_encode(array("status" => true , 'data' => $data));
}else{ }else{
@ -504,9 +620,6 @@ class MasterController extends AdminController
} }
public function editTPABranch() public function editTPABranch()
{ {
$this->myLogger->logme('error','TPA branch CREATE function called'); $this->myLogger->logme('error','TPA branch CREATE function called');
@ -548,8 +661,6 @@ class MasterController extends AdminController
} }
public function tpaBranchList($id = null) public function tpaBranchList($id = null)
{ {
$this->myLogger->logme('error','TPA List function called'); $this->myLogger->logme('error','TPA List function called');

View File

@ -10,82 +10,75 @@ use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use CodeIgniter\API\ResponseTrait; use CodeIgniter\API\ResponseTrait;
use App\Controllers\Jobs ;
use App\Models\NotificationModel; use App\Models\NotificationModel;
use App\Models\ClientModel; use App\Models\ClientModel;
use App\Models\EmployeeModel;
use App\Models\UserModel;
use App\Helpers\sendMailNotification;
class NotificationController extends AdminController class NotificationController extends AdminController
{ {
use ResponseTrait; use ResponseTrait;
protected $myLogger; protected $myLogger;
protected $notificationModel; protected $notificationModel;
public function __construct() public function __construct()
{ {
// set_session_context('Client');
$this->myLogger = \Config\Services::mylogger(); $this->myLogger = \Config\Services::mylogger();
$this->notificationModel = new NotificationModel(); $this->notificationModel = new NotificationModel();
} }
public function index() // This is for Template Name Camel Case to Snake Case for store in DB
public function camelCaseToSnakeCase($input)
{ {
}
public function camelCaseToSnakeCase($input) {
$input = preg_replace('/(?<!^)([A-Z])/', '$1', $input); $input = preg_replace('/(?<!^)([A-Z])/', '$1', $input);
$input = str_replace(' ', '_', $input); $input = str_replace(' ', '_', $input);
return strtolower($input); return strtolower($input);
} }
// Create Or Update the Notification
public function createNotification(){ public function createNotification()
{
// print_r($this->request->getPost()); $form_data['template_name'] = $this->camelCaseToSnakeCase($this->request->getPost('template_name'));
$form_data['subject'] = $this->request->getPost('subject');
$data['template_name'] = $this->camelCaseToSnakeCase($this->request->getPost('template_name')); $form_data['mail_content'] = $this->request->getPost('mailContent');
$data['subject'] = $this->request->getPost('subject'); $form_data['client_id'] = $this->request->getPost('client_id');
$data['mail_content'] = $this->request->getPost('editorContent');
$data['client_id'] = $this->request->getPost('client_id');
$notificationModel = new NotificationModel(); $notificationModel = new NotificationModel();
$find = $notificationModel->where('client_id',$data['client_id'])->where('template_name',$data['template_name'])->first(); $find_notification = $notificationModel->where('client_id',$form_data['client_id'])->where('template_name',$form_data['template_name'])->first();
if ($find) { if ($find_notification) {
// print_r($find['id']); $id = $find_notification['id'];
$id = $find['id']; $form_data['updated_by'] = get_session_userid();
$notificationModel->update($id,$data); $notificationModel->update($id,$form_data);
$complete = "Update"; $complete = "Update";
}else{ }else{
$notificationModel->insert($data); $form_data['created_by'] = get_session_userid();
$notificationModel->insert($form_data);
$complete = "Inserted"; $complete = "Inserted";
} }
return json_encode($complete); return json_encode($complete);
} }
// This is for the Enabls in Notification area and Update the Recipient and HR Mail Id in( Enables -> Notification table and Mail id's -> Client table)
public function update_enable(){ public function update_enable()
{
// print_r();die;
$checkboxNames = [ $checkboxNames = [
'member_welcome_mail_btn', 'member_welcome_mail_btn',
'member_remider_mail_btn', 'member_reminder_mail_btn',
'member_ecard_mail_btn', 'member_ecard_mail_btn',
'member_review_and_summary_mail_btn', 'member_review_and_summary_mail_btn',
'account_maneger_summary_mail_btn', 'account_maneger_summary_mail_btn',
'client_hr_summary_mail_btn' 'client_hr_summary_mail_btn'
]; ];
$data = []; $data = [];
foreach ($checkboxNames as $checkboxName) { foreach ($checkboxNames as $checkboxName)
{
$data[str_replace('_btn', '', $checkboxName)] = ($this->request->getPost($checkboxName) === "true") ? 1 : 0; $data[str_replace('_btn', '', $checkboxName)] = ($this->request->getPost($checkboxName) === "true") ? 1 : 0;
} }
@ -93,37 +86,74 @@ class NotificationController extends AdminController
$clientModel = new ClientModel(); $clientModel = new ClientModel();
$id =$this->request->getPost('client_id'); $id =$this->request->getPost('client_id');
$clientData['common_mails'] = $this->request->getPost('nhance_team_mail_ids');
$clientData['common_mails'] = $this->request->getPost('recipient_mail_ids'); $clientData['hr_mails'] = $this->request->getPost('hr_mail_id');
$clientModel->update($id,$clientData); $clientModel->update($id,$clientData);
foreach ($data as $key => $value) { foreach ($data as $key => $value)
{
$find = $notificationModel->where('client_id',$this->request->getPost('client_id'))->where('template_name', $key)->first(); $find = $notificationModel->where('client_id',$this->request->getPost('client_id'))->where('template_name', $key)->first();
if ($find)
if ($find) { {
$id = $find['id']; $id = $find['id'];
$changeData['enabled']= $value; $changeData['enabled']= $value;
$update = $notificationModel->update($id, $changeData); $update = $notificationModel->update($id, $changeData);
} }
} }
return json_encode("true"); return json_encode("true");
} }
public function getMailTemplateData($template_name,$client_id){ // This for Load the Template Data for in View Page
public function getMailTemplateData($template_name,$client_id)
{
$notificationModel = new NotificationModel(); $notificationModel = new NotificationModel();
$value = $notificationModel->where('client_id',$client_id)->where('template_name',$template_name)->first(); $value = $notificationModel->where('client_id',$client_id)->where('template_name',$template_name)->first();
// print_r($value);die;
return json_encode($value); return json_encode($value);
} }
// This will send the Reminder Mail
public function reminder_mail()
{
$clientModel = new ClientModel();
$employeeModel = new EmployeeModel();
$notificationModel = new NotificationModel();
$client_list = $clientModel->where('is_active',1)->findAll();
$wholeData = [];
foreach($client_list as $key=>$value){
$notification_data = $notificationModel->where('client_id',$value['id'])->where('template_name', 'member_reminder_mail')->first();
$client_data = $clientModel->where('id', $value['id'])->first();
if(isset($notification_data) && $notification_data['enabled'] == 1){
$emp_data = $employeeModel->where('client_id', $value['id'])->where('is_active',1)->where('emp_status','draft')->findAll();
if( count($emp_data) != 0)
{
$params['emp_data'] = $emp_data;
$params['client_data'] = $client_data;
$params['notification_data'] = $notification_data;
$wholeData[] =sendMailNotification::sendMailNotification('member_reminder_mail', $params);
}
}
}
$count = 0;
foreach ($wholeData as $index => $values) {
$whole_index = $index;
foreach ($values as $index => $value) {
$count++;
$temp_whole_data[] = $value;
if($count == 20 || $whole_index == count($wholeData)-1 && $index == count($values)-1){
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $temp_whole_data]);
$temp_whole_data = [];
$count = 0;
}
}
}
}
} }

View File

@ -17,10 +17,15 @@ class MailHelper
public static function send_email($params) public static function send_email($params)
{ {
// print_r($params);die;
$emaill = $params['mail']; $emaill = $params['mail'];
$subject = $params['subject']; $subject = $params['subject'];
$message = $params['message']; $message = $params['message'];
$cc = $params['cc']; if (isset($params['bcc'])) {
$bcc = $params['bcc'];
}else{
$bcc= '';
}
try { try {
$email = \Config\Services::email(); $email = \Config\Services::email();
@ -29,11 +34,14 @@ class MailHelper
$email->setTo($emaill); $email->setTo($emaill);
$ccList = explode(',', $cc); if (!empty($bcc)) {
// Convert the comma-separated string into an array
// if (empty($cc)) { $bccList = explode(',', $bcc);
$email->setCC($cc); // Trim whitespace from each email ID
// } $bccList = array_map('trim', $bccList);
// Set BCC recipients
$email->setBCC($bccList);
}
$email->setSubject($subject); $email->setSubject($subject);

View File

@ -79,8 +79,8 @@ if(!function_exists('check_relationship'))
$slug = \Config\Services::slug(); $slug = \Config\Services::slug();
$col = $slug->slugify($row[5]); $col = $slug->slugify($row[5]);
// echo $col;//die(); // echo $col;//die();
// if($col != 'self' && $col != 'spouse') if($col != 'self' && $col != 'spouse')
// { {
if(!isset($relationship[ $col ])) if(!isset($relationship[ $col ]))
{ {
return array('status' => false,'error' => 'Rule Conflict: Unknown Relationship'); return array('status' => false,'error' => 'Rule Conflict: Unknown Relationship');
@ -105,7 +105,7 @@ if(!function_exists('check_relationship'))
} }
// } }
return array('status' => true); return array('status' => true);
} }
else else
@ -143,6 +143,13 @@ if(!function_exists('check_employee_band'))
if($row['current_action'] != null && in_array(strtoupper($row['current_action']), ['I','A','DA']))// check rule only of action column data available if($row['current_action'] != null && in_array(strtoupper($row['current_action']), ['I','A','DA']))// check rule only of action column data available
{ {
$is_emp_band_needed = $slab_details['grid_master']['emp_band']; $is_emp_band_needed = $slab_details['grid_master']['emp_band'];
if($slab_details['grid_master']['ui_type'] == 1) //gpa rack rate 1
{
if($slab_details['slab_rates'][0]['si_or_bp'] == 3)
{
$is_emp_band_needed = true;
}
}
$slug = \Config\Services::slug(); $slug = \Config\Services::slug();
$relationship = $slug->slugify($row[5]); $relationship = $slug->slugify($row[5]);
// echo $relationship;echo $row[7]; // echo $relationship;echo $row[7];
@ -190,17 +197,27 @@ if(!function_exists('check_si'))
} }
// check age slab // check age slab
if($row[3] != null)// dob if($row[3] != null && DateTime::createFromFormat('d-M-Y', $row[3]) !== false)// dob
{ {
$dob = change_date_format($row[3],'d-M-Y','Y-m-d'); $dob = change_date_format($row[3],'d-M-Y','Y-m-d');
// echo $row[3].' - '.$dob;echo '<br>'; // echo $row[3].' - '.$dob;echo '<br>';
$currentDateTime = new DateTime();//die(); $currentDateTime = new DateTime();//die();
$passedDateTime = new DateTime($dob); $passedDateTime = new DateTime($dob);
$interval = $currentDateTime->diff($passedDateTime); $interval = $currentDateTime->diff($passedDateTime);
// echo $row[0].' - '.$row[3].' - '.$interval->y;echo '<br>'; if(!$is_age_slab_found)
if(!$is_age_slab_found && ($slab_value['age_from'] !== null && $slab_value['age_to'] !== null) && ($slab_value['age_from'] <= $interval->y && $slab_value['age_to'] >= $interval->y) && $slab_value['si'] == $received_si)
{ {
$is_age_slab_found = true; if(isset($slab_value['age_from']) && isset($slab_value['age_to']))
{
if($slab_value['age_from'] !== null && $slab_value['age_to'] !== null && $slab_value['age_from'] <= $interval->y && $slab_value['age_to'] >= $interval->y && $slab_value['si'] == $received_si)
{
$is_age_slab_found = true;// send true if age slab found
}
}
else
{
$is_age_slab_found = true;// send true if age conditin is not applicable
}
} }
}//end of check age slab }//end of check age slab
@ -242,18 +259,31 @@ if(!function_exists('check_basic_pay'))
if (!function_exists('check_dob_diff')) if (!function_exists('check_dob_diff'))
{ {
function check_dob_diff($row,$relationships) { function check_dob_diff($row,$relationships,$default_age_ratio) {
// echo 'called'; // echo 'called';
if($row['current_action'] != null && in_array(strtoupper($row['current_action']), ['I','A','DA']))// check rule only of action column data available if($row['current_action'] != null && in_array(strtoupper($row['current_action']), ['I','A','DA']))// check rule only of action column data available
{ {
if($row[3] != null && $row[5] != null) if($row[3] != null && $row[5] != null)
{ {
if (DateTime::createFromFormat('d-M-Y', $row[3]) === false)
{
return array('status' => false,'error' => 'Not a valid Date');
}
// return array('status' => true);
$dob = change_date_format($row[3],'d-M-Y','Y-m-d'); $dob = change_date_format($row[3],'d-M-Y','Y-m-d');
// echo $row[3].' - '.$dob;echo '<br>'; // echo $row[3].' - '.$dob;echo '<br>';
$currentDateTime = new DateTime();//die(); $currentDateTime = new DateTime();//die();
// print_r($currentDateTime);
// die();
$passedDateTime = new DateTime($dob); $passedDateTime = new DateTime($dob);
$interval = $currentDateTime->diff($passedDateTime); // print_r($passedDateTime);
$interval = $currentDateTime->diff($passedDateTime);
//remap default age ratio data into relationship array
if(count($default_age_ratio))
{
$relationships = remap_default_age_ratio_into_relationship($relationships,$default_age_ratio);
}
$slug = \Config\Services::slug(); $slug = \Config\Services::slug();
$relationship = $slug->slugify($row[5]); $relationship = $slug->slugify($row[5]);
$age_min = isset($relationships[$relationship]['age_min']) ? $relationships[$relationship]['age_min'] : NULL; $age_min = isset($relationships[$relationship]['age_min']) ? $relationships[$relationship]['age_min'] : NULL;
@ -429,9 +459,9 @@ if (!function_exists('check_dependent_conflict'))
$self_emp_row_id = null; $self_emp_row_id = null;
$temp_counts = [2,3,4,5,6,7,8,9,10]; //temp variable for check relation repetaed count $temp_counts = [2,3,4,5,6,7,8,9,10]; //temp variable for check relation repetaed count
$slug = \Config\Services::slug(); $slug = \Config\Services::slug();
// dd($policy_terms);
// if($policy_terms['family_floater'] == true) if(isset($policy_terms['family_floater']) && !empty($policy_terms['family_floaters']))
// { {
// $temp_string = implode(" ",$policy_terms['family_floaters']); // $temp_string = implode(" ",$policy_terms['family_floaters']);
$temp = $policy_terms['family_floaters']; $temp = $policy_terms['family_floaters'];
@ -535,15 +565,12 @@ if (!function_exists('check_dependent_conflict'))
} }
// } }
// else else
// { {
// if(count($family_data) > 1) $result['status'] = true;
// { }
// $result['status'] = false;
// $result['error_data'][] = ['code' => 11,'col_name' => 'sno','msg' => 'Rule conflict: Dependents not allowed','row_id' => $row[0]];//dependents not allowed
// }
// }
return $result; return $result;
@ -737,9 +764,10 @@ if (!function_exists('premium_calculation_manager'))
case "1": case "1":
//GPA - Sum Insured (SI) * Multiplier //GPA - Sum Insured (SI) * Multiplier
$employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si;
$employee_received_band = $emp_data['temp']['band'];
foreach ($slab_details['slab_rates'] as $skey => $slab_value) foreach ($slab_details['slab_rates'] as $skey => $slab_value)
{ {
if($slab_value['si'] == $employee_received_si) if(($slab_value['si'] == $employee_received_si) || ($slab_value['grade'] != null && $slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si))
{ {
$emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['basic_cover_si'] = $slab_value['si'];
$emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']);
@ -1031,7 +1059,8 @@ if (!function_exists('premium_calculation_manager'))
} }
if(!$is_match_found) if(!$is_match_found)
{ {
$log_message = '[ client_policy_id : ' .$emp_data['policy_details']['client_policy_id'].' - '. $emp_data['emp_code'].' - '.$emp_data['name'] .' - '. $emp_data['policy_details']['basic_cover_si'] . ' ]'; $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y;
$log_message = '[ client_policy_id : ' .$emp_data['policy_details']['client_policy_id'].' - '. $emp_data['emp_code'].' - '.$emp_data['name'] .' - '. $emp_data['policy_details']['basic_cover_si'] . ', Age : '. $age.' ]';
if($slab_details['slab_rates'][0]['premium_type'] == 1) if($slab_details['slab_rates'][0]['premium_type'] == 1)
{ {
$log_message .= ' - skipping, calculating only self..!'; $log_message .= ' - skipping, calculating only self..!';
@ -1205,3 +1234,51 @@ if(!function_exists('get_premium_for_si'))
return 0; return 0;
} }
} }
if(!function_exists('remap_default_age_ratio_into_relationship'))
{
function remap_default_age_ratio_into_relationship(array $general_relationships,array $default_age_ratio)
{
foreach ($default_age_ratio as $relationship => $age_ratio)
{
switch ($relationship) {
case 'child':
if (isset($general_relationships['son'])) {
$general_relationships['son']['age_min'] = $age_ratio['min'];
$general_relationships['son']['age_max'] = $age_ratio['max'];
}
if (isset($general_relationships['daughter'])) {
$general_relationships['daughter']['age_min'] = $age_ratio['min'];
$general_relationships['daughter']['age_max'] = $age_ratio['max'];
}
break;
case 'elders':
if (isset($general_relationships['father'])) {
$general_relationships['father']['age_min'] = $age_ratio['min'];
$general_relationships['father']['age_max'] = $age_ratio['max'];
}
if (isset($general_relationships['mother'])) {
$general_relationships['mother']['age_min'] = $age_ratio['min'];
$general_relationships['mother']['age_max'] = $age_ratio['max'];
}
if (isset($general_relationships['father-in-law'])) {
$general_relationships['father-in-law']['age_min'] = $age_ratio['min'];
$general_relationships['father-in-law']['age_max'] = $age_ratio['max'];
}
if (isset($general_relationships['mother-in-law'])) {
$general_relationships['mother-in-law']['age_min'] = $age_ratio['min'];
$general_relationships['mother-in-law']['age_max'] = $age_ratio['max'];
}
break;
default:
if (isset($general_relationships[$relationship])) {
$general_relationships[$relationship]['age_min'] = $age_ratio['min'];
$general_relationships[$relationship]['age_max'] = $age_ratio['max'];
}
break;
}
}
return $general_relationships;
}
}

View File

@ -0,0 +1,413 @@
<?php
namespace App\Helpers;
use App\Models\ClientModel;
use App\Models\ClientRMModel;
use App\Models\NotificationModel;
use App\Models\UserModel;
use App\Models\EmployeeModel;
class sendMailNotification
{
public static function sendMailNotification($action, $params)
{
if ($action == 'member_welcome_mail') {
$dataToInsert = $params['dataToInsert'];
$notification = $params['notification'];
$client_data = $params['client_data'];
$mail = $dataToInsert['email_corporate'];
$subject = $notification['subject'];
$app_link = $_ENV['App_Url'];
$employee_name =$dataToInsert['name'];
$mail_content = $notification['mail_content'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
$mail_content = str_replace("[[client_logo]]", "<img src='$client_logo' alt='Client Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
if ($dataToInsert['relationship'] == 'Self' && $mail != null || $mail != '') {
$wholeData = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content,'bcc'=> $client_data['common_mails']];
}
return $wholeData;
} else if($action == 'member_reminder_mail'){
// print_r($params);die;
$EmployeeModel = new EmployeeModel();
$emp_data = $params['emp_data'];
$notification_data = $params['notification_data'];
$client_data = $params['client_data'];
$subject = $notification_data['subject'];
$app_link = $_ENV['App_Url'];
$mail_content = $notification_data['mail_content'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
if ($emp_data && (isset($notification_data) && $notification_data['enabled'] == 1)) {
foreach ($emp_data as $key => $value) {
if ($value['relationship'] != 'Self') {
$emp_data = $EmployeeModel->where('client_id', $client_data['id'])->where('emp_code', $value['emp_code'])->where('is_active',1)->findAll();
foreach ($emp_data as $key => $value) {
if ($value['relationship'] == 'Self') {
$employee_name =$value['name'];
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
$mail = $value['email_corporate'];
}
}
}else{
$employee_name =$value['name'];
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
$mail = $value['email_corporate'];
}
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
}
return $wholeData;
}else{
return "false";
}
} else if($action == 'member_ecard_mail'){
$notification = $params['notification'];
$get_emp_email_and_other_details = $params['get_emp_email_and_other_details'];
$rand_string = $params['rand_string'];
$client_data = $params['client_data'];
$tpa_id = $params['tpa_id'];
$mail_content = $notification['mail_content'];
$mail = $get_emp_email_and_other_details['email_corporate'];
$subject = $notification['subject'];
$link = generate_download_link($rand_string);
$app_link = $_ENV['App_Url'];
$name = $get_emp_email_and_other_details['name'];
$mail_content = $notification['mail_content'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
// $client_logo = $nhance_logo;
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[client_logo]]", "<img src='$client_logo' alt='Client Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[member_name]]", $name, $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
// $mail_content = str_replace("[[tpa_id]]", $tpa_id, $mail_content);
$mail_content = str_replace("[[ecard_download_link]]", "<a href='$link'>Download Insurance Card</a>", $mail_content);
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$wholeData = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content,'bcc'=> $client_data['common_mails']];
return $wholeData;
} else if($action == 'member_review_and_summary_mail'){
$array_list = $params['array_list'];
$client_policy_id = $params['client_policy_id'];
$emp_code = $params['emp_code'];
$client_id = $params['client_id'];
$clientModel = new ClientModel();
$notificationModel = new NotificationModel();
$client_data =$clientModel->where('id', $client_id)->first();
$notification_data = $notificationModel->where('client_id' ,$client_id)->where('template_name', $action)->first();
if ($notification_data['enabled'] == 1) {
$mail_content = $notification_data['mail_content'];
$subject = $notification_data['subject'];
$app_link = $_ENV['App_Url'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
// $client_logo = $nhance_logo;
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[client_logo]]", "<img src='$client_logo' alt='Client Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
// Step 1: Replace the placeholder with an HTML table structure
$mail = '';
// print_r($array_list);die;
$table_content = '';
$addtional_premium = 0;
$gst = 0;
foreach ($array_list as $item) {
$table_content .= '<div style="text-align: left;"><div style="text-align:left;"><h4>Policy Name : ';
$temp_data ='';
foreach ($item as $inner_item) {
$policy_name = $inner_item['policy_name'];
$temp_data .= '<tr ><td style="width:20%">' . $inner_item['name'] . '</td><td style="width:20%">'.$inner_item['mobile'].'</td><td style="width:20%">₹'.number_format($inner_item['basic_cover_si'], 2, '.', ',').'</td><td style="width:20%">'.\DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y').'</tr>';
if($inner_item['relationship'] == 'Self' || $inner_item['relationship'] == 'self'){
$mail = $inner_item['email_corporate'];
$name = $inner_item['name'];
}
// print_r($inner_item);die;
$is_addon = $inner_item['is_addon'];
if($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3){
$addtional_premium = $inner_item['rata_premimum'] + $addtional_premium;
$gst = $inner_item['gst'] + $gst;
}
}
$table_content .= $policy_name.'</h4></div><table style="width:60%"><thead style="background-color: #02a8b5;"><tr><th style="width:20%">Name</th><th>Mobile Number</th><th>Sum Insure</th><th style="width:15%">Date Of Birth</th></tr></thead><tbody>';
$table_content .= $temp_data;
$table_content .= '</tbody></table></div>';
if ($is_addon == 2 || $is_addon == 3) {
$addon_list_array = [
'policy_name'=>$policy_name,
'addtional_premium'=>$addtional_premium,
'gst'=>$gst
];
$Addon_list[]= $addon_list_array;
}
$temp_data = '';
$addtional_premium = 0;
$gst = 0;
}
$table_content .='<br><table style="width:60%"><thead style="background-color: #e26828;"><tr><th>Policy Name</th><th> Additional Premium</th><th>GST</th><th>Total</th></tr></thead><tbody>';
$sum_tolal = 0;
foreach ($Addon_list as $key => $value) {
$sum_tolal = $value['gst'] + $value['addtional_premium'] + $sum_tolal;
$table_content .= '<tr><td>'.$value['policy_name'].'</td><td>₹'.$value['addtional_premium'].'</td><td>'.$value['gst'].'</td><td>'.$value['gst'] + $value['addtional_premium'] .'</td></tr>';
}
$table_content .= '<tr><td></td><td></td><td><h4>Total</h4></td><td>'.$sum_tolal.'</td></tr>';
$table_content .= '</tbody></table>';
$mail_content = str_replace("[[member_name]]", $name, $mail_content);
$mail_content = str_replace("[[member_summary]]", $table_content , $mail_content);
// $mail = "aadhavanvalli@gmail.com";
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
return $wholeData;
}
// print_r($wholeData);die;
} else if($action == 'account_maneger_summary_mail'){
$client_id = $params['client_id'];
$clientModel = new ClientModel();
$client_data =$clientModel->where('id', $client_id)->first();
$notificationModel = new NotificationModel();
$notification_data = $notificationModel->where('client_id' ,$client_id)->where('template_name', $action)->first();
$clientRMModel =new ClientRMModel();
if ($notification_data['enabled'] == 1) {
$client_rm_data= $clientRMModel->where('client_id', $client_id)->where('is_active',1)->findAll();
$user_list= [];
foreach ($client_rm_data as $key => $value) {
if($value['level'] == 3){
$userModel = new UserModel();
$user_data = $userModel->where('id', $value['user_id'])->first();
$user_list[]=$user_data;
}
}
$mail_content = $notification_data['mail_content'];
$subject = $notification_data['subject'];
$app_link = $_ENV['App_Url'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
// $client_logo = $nhance_logo;
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[client_logo]]", "<img src='$client_logo' alt='Client Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
// Step 1: Replace the placeholder with an HTML table structure
$mail = '';
// print_r($array_list);die;
$table_content = '';
$addtional_premium = 0;
$gst = 0;
$array_list = $params['array_list'];
foreach ($array_list as $item) {
$table_content .= '<div style="text-align: left;"><div style="text-align:left;"><h4>Policy Name : ';
$temp_data ='';
foreach ($item as $inner_item) {
$policy_name = $inner_item['policy_name'];
$temp_data .= '<tr ><td style="width:20%">' . $inner_item['name'] . '</td><td style="width:20%">'.$inner_item['mobile'].'</td><td style="width:20%">₹'.number_format($inner_item['basic_cover_si'], 2, '.', ',').'</td><td style="width:20%">'.\DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y').'</tr>';
// print_r($inner_item);die;
$is_addon = $inner_item['is_addon'];
if($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3){
$addtional_premium = $inner_item['rata_premimum'] + $addtional_premium;
$gst = $inner_item['gst'] + $gst;
}
}
$table_content .= $policy_name.'</h4></div><table style="width:60%"><thead style="background-color: #02a8b5;"><tr><th style="width:20%">Name</th><th>Mobile Number</th><th>Sum Insure</th><th style="width:15%">Date Of Birth</th></tr></thead><tbody>';
$table_content .= $temp_data;
$table_content .= '</tbody></table></div>';
if ($is_addon == 2 || $is_addon == 3) {
$addon_list_array = [
'policy_name'=>$policy_name,
'addtional_premium'=>$addtional_premium,
'gst'=>$gst
];
$Addon_list[]= $addon_list_array;
}
$temp_data = '';
$addtional_premium = 0;
$gst = 0;
}
$table_content .='<br><table style="width:60%"><thead style="background-color: #e26828;"><tr><th>Policy Name</th><th> Additional Premium</th><th>GST</th><th>Total</th></tr></thead><tbody>';
$sum_tolal = 0;
foreach ($Addon_list as $key => $value) {
$sum_tolal = $value['gst'] + $value['addtional_premium'] + $sum_tolal;
$table_content .= '<tr><td>'.$value['policy_name'].'</td><td>₹'.$value['addtional_premium'].'</td><td>'.$value['gst'].'</td><td>'.$value['gst'] + $value['addtional_premium'] .'</td></tr>';
}
$table_content .= '<tr><td></td><td></td><td><h4>Total</h4></td><td>'.$sum_tolal.'</td></tr>';
$table_content .= '</tbody></table>';
$mail_content = str_replace("[[member_summary]]", $table_content , $mail_content);
$account_manager_mail_list = [];
foreach ($user_list as $key => $value) {
$full_name = $value['first_name'] .' ' .$value['last_name'];
$mail_content = str_replace("[[member_name]]", $full_name , $mail_content);
$wholeData[] = ['mail' => $value['email'], 'subject' => $subject,'message'=> $mail_content];
// $wholeData[] = ['mail' => $value['email'], 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
}
return $wholeData;
}
} else if($action == 'client_hr_summary_mail'){
$client_id = $params['client_id'];
$clientModel = new ClientModel();
$client_data =$clientModel->where('id', $client_id)->first();
$notificationModel = new NotificationModel();
$notification_data = $notificationModel->where('client_id' ,$client_id)->where('template_name', $action)->first();
$clientRMModel =new ClientRMModel();
if ($notification_data['enabled'] == 1) {
$client_rm_data= $clientRMModel->where('client_id', $client_id)->where('is_active',1)->findAll();
$user_list= [];
foreach ($client_rm_data as $key => $value) {
if($value['level'] == 3){
$userModel = new UserModel();
$user_data = $userModel->where('id', $value['user_id'])->first();
$user_list[]=$user_data;
}
}
$mail_content = $notification_data['mail_content'];
$subject = $notification_data['subject'];
$app_link = $_ENV['App_Url'];
$nhance_logo = $_ENV['NHANCE_LOGO'];
$client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
// $client_logo = $nhance_logo;
$mail_content = str_replace("[[nhance_logo]]", "<img src='$nhance_logo' alt='Nhance Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[client_logo]]", "<img src='$client_logo' alt='Client Logo' width='20'>", $mail_content);
$mail_content = str_replace("[[client_name]]", $client_data['client_name'], $mail_content);
$mail_content = str_replace("[[app_link]]", "<a href='$app_link'>Review Details</a>", $mail_content);
// Step 1: Replace the placeholder with an HTML table structure
$mail = '';
// print_r($array_list);die;
$table_content = '';
$addtional_premium = 0;
$gst = 0;
$array_list = $params['array_list'];
foreach ($array_list as $item) {
$table_content .= '<div style="text-align: left;"><div style="text-align:left;"><h4>Policy Name : ';
$temp_data ='';
foreach ($item as $inner_item) {
$policy_name = $inner_item['policy_name'];
$temp_data .= '<tr ><td style="width:20%">' . $inner_item['name'] . '</td><td style="width:20%">'.$inner_item['mobile'].'</td><td style="width:20%">₹'.number_format($inner_item['basic_cover_si'], 2, '.', ',').'</td><td style="width:20%">'.\DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y').'</tr>';
// print_r($inner_item);die;
$is_addon = $inner_item['is_addon'];
if($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3){
$addtional_premium = $inner_item['rata_premimum'] + $addtional_premium;
$gst = $inner_item['gst'] + $gst;
}
}
$table_content .= $policy_name.'</h4></div><table style="width:60%"><thead style="background-color: #02a8b5;"><tr><th style="width:20%">Name</th><th>Mobile Number</th><th>Sum Insure</th><th style="width:15%">Date Of Birth</th></tr></thead><tbody>';
$table_content .= $temp_data;
$table_content .= '</tbody></table></div>';
if ($is_addon == 2 || $is_addon == 3) {
$addon_list_array = [
'policy_name'=>$policy_name,
'addtional_premium'=>$addtional_premium,
'gst'=>$gst
];
$Addon_list[]= $addon_list_array;
}
$temp_data = '';
$addtional_premium = 0;
$gst = 0;
}
$table_content .='<br><table style="width:60%"><thead style="background-color: #e26828;"><tr><th>Policy Name</th><th> Additional Premium</th><th>GST</th><th>Total</th></tr></thead><tbody>';
$sum_tolal = 0;
foreach ($Addon_list as $key => $value) {
$sum_tolal = $value['gst'] + $value['addtional_premium'] + $sum_tolal;
$table_content .= '<tr><td>'.$value['policy_name'].'</td><td>₹'.$value['addtional_premium'].'</td><td>'.$value['gst'].'</td><td>'.$value['gst'] + $value['addtional_premium'] .'</td></tr>';
}
$table_content .= '<tr><td></td><td></td><td><h4>Total</h4></td><td>'.$sum_tolal.'</td></tr>';
$table_content .= '</tbody></table>';
$mail_content = str_replace("[[member_summary]]", $table_content , $mail_content);
$hr_mails = $client_data['hr_mails'];
$mail_array = explode(',', $hr_mails);
$mail_array = array_map('trim', $mail_array);
foreach ($mail_array as $key => $value) {
$wholeData[] = ['mail' => $value, 'subject' => $subject,'message'=> $mail_content];
// $wholeData[] = ['mail' => $value, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
}
return $wholeData;
}
}
}
}

View File

@ -167,6 +167,24 @@ if (!function_exists('generate_random_alphanumeric')) {
if (!function_exists('get_base64_image')) {
function get_base64_image($path)
{
// Get file extension
$type = pathinfo($path, PATHINFO_EXTENSION);
// Read file content
$dataContent = file_get_contents($path);
// Encode as base64
$base64Image = 'data:image/' . $type . ';base64,' . base64_encode($dataContent);
return $base64Image;
}
}

View File

@ -22,6 +22,8 @@ class BatchFileModel extends Model
"updated_by", "updated_by",
"is_active", "is_active",
"amount", "amount",
"status",
"error_data",
]; ];
// Callbacks // Callbacks

View File

@ -26,7 +26,8 @@ class ClientModel extends Model
"created_by", "created_by",
"updated_by", "updated_by",
"is_active", "is_active",
"common_mails" "common_mails",
"hr_mails"
]; ];
@ -44,6 +45,7 @@ class ClientModel extends Model
->join('policies p', 'p.id = client_policy.policy_id') ->join('policies p', 'p.id = client_policy.policy_id')
->where('client_policy.client_id',$client['id']) ->where('client_policy.client_id',$client['id'])
->where('client_policy.is_active', 1) ->where('client_policy.is_active', 1)
->where('client_policy.policy_status', 1)
->findAll(); ->findAll();
$client['policies'] = $clientPolicies; $client['policies'] = $clientPolicies;

View File

@ -34,6 +34,7 @@ class ClientPolicyModel extends Model
"policy_terms", "policy_terms",
"open_for_enrollment", "open_for_enrollment",
"is_addon", "is_addon",
"inception_type",
"base_policy", "base_policy",
"created_by", "created_by",
"updated_by", "updated_by",
@ -75,12 +76,13 @@ class ClientPolicyModel extends Model
->select('policy_type.policy_type as policy_type_name') ->select('policy_type.policy_type as policy_type_name')
->join('insurers', 'insurers.id = client_policy.insurer_id') ->join('insurers', 'insurers.id = client_policy.insurer_id')
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id') ->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
->join('tpa', 'tpa.id = client_policy.tpa_id') ->join('tpa', 'tpa.id = client_policy.tpa_id', 'left')
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id') ->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id', 'left')
->join('policies', 'policies.id = client_policy.policy_id') ->join('policies', 'policies.id = client_policy.policy_id')
->join('policy_type', 'policy_type.id = policies.policy_type_id') ->join('policy_type', 'policy_type.id = policies.policy_type_id')
->where('client_policy.client_id', $client_id) ->where('client_policy.client_id', $client_id)
->where('client_policy.policy_status', 1) ->where('client_policy.policy_status', 1)
->where('client_policy.is_active', 1)
->get() ->get()
->getResult(); ->getResult();

View File

@ -96,17 +96,19 @@ class EmployeeModel extends Model
} }
public function getEmpFamilybyEmpCode(string $client_policy_id = null,string $emp_code = null,string $client_id = null,array $emp_status = [],array $policy_status = []) public function getEmpFamilybyEmpCode(string $client_policy_id = null,string $emp_code = null,string $client_id = null,array $emp_status = [],array $policy_status = [],array $relationship = [])
{ {
$result = $this->select(['employees.id as emp_id', 'employees.client_id', 'employees.relationship', 'employees.relationship_code', 'employees.change_event', 'employees.emp_code', 'employees.name', 'employees.email_personal', 'employees.email_corporate', 'employees.mobile', 'employees.gender', 'employees.dob', 'employees.doj', 'employees.basic_pay', 'employees.band', 'employees.designation', 'employees.emp_status','employee_polices.id as emp_policy_id', 'employee_polices.employee_id', 'employee_polices.client_policy_id', 'employee_polices.tpa_id', 'employee_polices.uhid', 'employee_polices.batch_code', 'employee_polices.status', 'employee_polices.pre_existing_alignments', 'employee_polices.basic_cover_si', 'employee_polices.date_coverage', 'employee_polices.policy_end_date', 'employee_polices.days', 'employee_polices.premium', 'employee_polices.rata_premimum', 'employee_polices.gst', 'employee_polices.date_of_exit', 'employee_polices.reason_for_exit']) $result = $this->select(['employees.id as emp_id', 'employees.client_id', 'employees.relationship', 'employees.relationship_code', 'employees.change_event', 'employees.emp_code', 'employees.name', 'employees.email_personal', 'employees.email_corporate', 'employees.mobile', 'employees.gender', 'employees.dob', 'employees.doj', 'employees.basic_pay', 'employees.band', 'employees.designation', 'employees.emp_status','employee_polices.id as emp_policy_id', 'employee_polices.employee_id', 'employee_polices.client_policy_id', 'employee_polices.tpa_id', 'employee_polices.uhid', 'employee_polices.batch_code', 'employee_polices.status', 'employee_polices.pre_existing_alignments', 'employee_polices.basic_cover_si', 'employee_polices.date_coverage', 'employee_polices.policy_end_date', 'employee_polices.days', 'employee_polices.premium', 'employee_polices.rata_premimum', 'employee_polices.gst', 'employee_polices.date_of_exit', 'employee_polices.reason_for_exit','policies.name as policy_name','client_policy.is_addon'])
->join('employee_polices', 'employee_polices.employee_id = employees.id') ->join('employee_polices', 'employee_polices.employee_id = employees.id')
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
->join('policies', 'policies.id = client_policy.policy_id')
->where('employees.is_active',1) ->where('employees.is_active',1)
->when($client_policy_id, function($query) use ($client_policy_id){ ->when($client_policy_id, function($query) use ($client_policy_id){
return $query->where('employee_polices.client_policy_id',$client_policy_id); return $query->where('employee_polices.client_policy_id',$client_policy_id);
}) })
->where('employee_polices.is_active',1) ->where('employee_polices.is_active',1)
// ->where('employees.emp_status', ($emp_status !== null ? $emp_status : 'active')) ->where('employees.is_active',1)
// ->where('employees.emp_code',$emp_code) // ->where('employees.emp_code',$emp_code)
->when($emp_code, function($query) use ($emp_code){ ->when($emp_code, function($query) use ($emp_code){
return $query->where('employees.emp_code',$emp_code); return $query->where('employees.emp_code',$emp_code);
@ -115,6 +117,9 @@ class EmployeeModel extends Model
->when(count($emp_status), function($query) use ($emp_status){ ->when(count($emp_status), function($query) use ($emp_status){
return $query->whereIn('employees.emp_status', $emp_status); return $query->whereIn('employees.emp_status', $emp_status);
}) })
->when(count($relationship), function($query) use ($relationship){
return $query->whereIn('employees.relationship', $relationship);
})
->when(count($policy_status), function($query) use ($policy_status){ ->when(count($policy_status), function($query) use ($policy_status){
return $query->whereIn('employee_polices.status', $policy_status); return $query->whereIn('employee_polices.status', $policy_status);
}) })

View File

@ -720,6 +720,8 @@ class EmployeePolicyModel extends Model
e.doj, e.doj,
e.band, e.band,
TIMESTAMPDIFF(YEAR, e.dob, CURDATE()) AS emp_age, TIMESTAMPDIFF(YEAR, e.dob, CURDATE()) AS emp_age,
(SELECT name FROM employees WHERE relationship = "Self" and emp_code = ' . $this->db->escape($emp_code) . ') AS self,
ep.tpa_id, ep.tpa_id,
ep.uhid, ep.uhid,
@ -728,12 +730,22 @@ class EmployeePolicyModel extends Model
clients.client_name, clients.client_name,
clients.short_name AS client_short_name, clients.short_name AS client_short_name,
cp.policy_start_date,
policies.name AS policy_name, policies.name AS policy_name,
insurers.name AS insurer_name, insurers.name AS insurer_name,
insurers.short_name AS insurer_short_name, insurers.short_name AS insurer_short_name,
insurers.insurer_logo,
insurer_branch.branch_name,
insurer_branch.branch_code,
insurer_branch.city as insurer_branch_city,
tpa.name AS tpa_name, tpa.name AS tpa_name,
tpa.tpa_logo AS tpa_logo,
tpa.front_card,
tpa.back_card,
tpa.short_name AS tpa_short_name' tpa.short_name AS tpa_short_name'
) )
@ -742,7 +754,9 @@ class EmployeePolicyModel extends Model
->join('clients', 'clients.id = cp.client_id') ->join('clients', 'clients.id = cp.client_id')
->join('policies', 'policies.id = cp.policy_id') ->join('policies', 'policies.id = cp.policy_id')
->join('insurers', 'insurers.id = cp.insurer_id') ->join('insurers', 'insurers.id = cp.insurer_id')
->join('insurer_branch', 'insurer_branch.id = cp.insurer_branch_id')
->join('tpa', 'tpa.id = cp.tpa_id') ->join('tpa', 'tpa.id = cp.tpa_id')
->where("ep.tpa_id IS NOT NULL AND ep.tpa_id <> ''")
->where('e.emp_status', 'active') ->where('e.emp_status', 'active')
->where('e.is_active', '1') ->where('e.is_active', '1')
->where('ep.status', 'active') ->where('ep.status', 'active')
@ -753,6 +767,7 @@ class EmployeePolicyModel extends Model
->getResultArray(); ->getResultArray();
return $result; return $result;
} }

View File

@ -14,6 +14,7 @@ class InsurerModel extends Model
"category", "category",
"name", "name",
"short_name", "short_name",
"insurer_logo",
"created_by", "created_by",
"updated_by", "updated_by",
"is_active", "is_active",

View File

@ -24,6 +24,7 @@ class PolicyPremium1Model extends Model
"created_by", "created_by",
"updated_by", "updated_by",
'is_active', 'is_active',
'grade',
'premium_type', 'premium_type',
]; ];

View File

@ -12,6 +12,9 @@ class TPAModel extends Model
"id", "id",
"name", "name",
"short_name", "short_name",
"front_card",
"back_card",
"tpa_logo",
"created_by", "created_by",
"updated_by", "updated_by",
"is_active", "is_active",

View File

@ -40,7 +40,7 @@
<tr> <tr>
<td><b><?php echo ($key + 1)?></b></td> <td><b><?php echo ($key + 1)?></b></td>
<td><?php echo $file['batch_code']?></td> <td><?php echo $file['batch_code']?></td>
<td><?php echo $file['file_name']?></td> <td data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>" ><?php echo strlen($file['file_name']) > 5 ? substr($file['file_name'], 0, 10) . "..." : $file['file_name'] ?></td>
<td><?php echo $file['client_short_name']?></td> <td><?php echo $file['client_short_name']?></td>
<td><?php echo $file['policy_name']?></td> <td><?php echo $file['policy_name']?></td>
<td><?php echo $file['event_type']?></td> <td><?php echo $file['event_type']?></td>

View File

@ -203,11 +203,13 @@ input:checked + .slider:before {
document.addEventListener("DOMContentLoaded", function() { document.addEventListener("DOMContentLoaded", function() {
const switchCheckbox = document.getElementById('switch-checkbox'); const switchCheckbox = document.getElementById('switch-checkbox');
const switchInner = document.querySelector('.switch-inner'); const switchInner = document.querySelector('.switch-inner');
if (switchInner) {
switchInner.addEventListener('click', function() { switchInner.addEventListener('click', function() {
switchCheckbox.checked = !switchCheckbox.checked; switchCheckbox.checked = !switchCheckbox.checked;
switchInner.style.transform = switchCheckbox.checked ? 'translateX(100%)' : 'translateX(0)'; switchInner.style.transform = switchCheckbox.checked ? 'translateX(100%)' : 'translateX(0)';
}); });
}
}); });
</script> </script>

View File

@ -176,6 +176,26 @@
$('#name_'+item.kyc_doc_type_id).html(item.file_name); $('#name_'+item.kyc_doc_type_id).html(item.file_name);
$('#form_'+item.kyc_doc_type_id).hide(); $('#form_'+item.kyc_doc_type_id).hide();
console.log('step 1')
if(item.file_name != null && item.file_name != ""){
console.log('step 2')
$('#download_'+item.kyc_doc_type_id).show();
$('#download_' + item.kyc_doc_type_id).attr('href', '<?= base_url('download-kyc-docs/') ?>' + item.file_name);
$('#delete_'+item.kyc_doc_type_id).show();
}
else{
console.log('step 3')
$('#download_'+item.kyc_doc_type_id).hide();
$('#download_' + item.kyc_doc_type_id).attr('href', '#');
$('#delete_'+item.kyc_doc_type_id).hide();
}
console.log('step 4')
}); });
}, },
@ -215,16 +235,24 @@
$.each(res.data, function(index, item) { $.each(res.data, function(index, item) {
var row = `<tr> var row = `<tr>
<td>${item.file_name}</td> <td>${item.file_name}</td>
<td id="form_${item.id}" style=""><form class="ajax" ><input class="file-input__input" type="file" name="file_name"> <td id="form_${item.id}">
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" /> <form class="ajax">
<input type="hidden" class="form-control" value="${item.id}" name="kyc_doc_type_id" /> <input class="file-input__input" type="file" name="file_name">
<input type="hidden" name="client_id" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/> <input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>">
<button class="btn btn-sm btn-primary submit" style="position: relative;right: 80px;">Submit</button></form></td> <input type="hidden" class="form-control" value="${item.id}" name="kyc_doc_type_id">
<input type="hidden" name="client_id" value="<?= isset($client['id']) ? $client['id'] : '' ?>">
<button class="btn btn-sm btn-primary submit" style="position: relative; right: 80px;">Submit</button>
</form>
</td>
<td id="name_${item.id}" style="display:none;"></td> <td id="name_${item.id}" style="display:none;"></td>
<td><i data-id="${item.id}" class="mdi mdi-delete btnKycDelete" style="font-size:18px;"></i></td> <td>
<i id="delete_${item.id}" data-id="${item.id}" class="mdi mdi-delete btnKycDelete" style="font-size:18px; display: none"></i>
<a id="download_${item.id}" data-id="${item.id}" class="fa fa-download" style="font-size:18px; display: none" download></a>
</td>
</tr>`; </tr>`;
tbody.append(row); tbody.append(row);
}); });
}, },
error: function (xhr, status, error) { error: function (xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
@ -250,7 +278,10 @@
<tr id="kyc-${item.id}"> <tr id="kyc-${item.id}">
<td>${item.other_docs_name}</td> <td>${item.other_docs_name}</td>
<td>${item.file_name}</td> <td>${item.file_name}</td>
<td><i data-id="${item.id}" class="mdi mdi-delete btnKycOtherDelete" style="font-size:18px;"></i></td> <td>
<i data-id="${item.id}" class="mdi mdi-delete btnKycOtherDelete" style="font-size:18px;"></i>
<a href = "<?= base_url('download-kyc-docs/') ?>${item.file_name}" data-id="${item.id}" class="fa fa-download" style="font-size:18px;" download></a>
</td>
</tr> </tr>
`; `;
@ -267,6 +298,29 @@
$('#name_'+item.kyc_doc_type_id).show(); $('#name_'+item.kyc_doc_type_id).show();
$('#name_'+item.kyc_doc_type_id).html(item.file_name); $('#name_'+item.kyc_doc_type_id).html(item.file_name);
$('#form_'+item.kyc_doc_type_id).hide(); $('#form_'+item.kyc_doc_type_id).hide();
console.log('step 1')
if(item.file_name != null && item.file_name != ""){
console.log('step 2')
$('#download_'+item.kyc_doc_type_id).show();
$('#download_' + item.kyc_doc_type_id).attr('href', '<?= base_url('download-kyc-docs/') ?>' + item.file_name);
$('#delete_'+item.kyc_doc_type_id).show();
}
else{
console.log('step 3')
$('#download_'+item.kyc_doc_type_id).hide();
$('#download_' + item.kyc_doc_type_id).attr('href', '#');
$('#delete_'+item.kyc_doc_type_id).hide();
}
console.log('step 4')
}, 1000); }, 1000);
}); });
@ -335,7 +389,10 @@
<tr id="kyc-${item.id}"> <tr id="kyc-${item.id}">
<td>${item.other_docs_name}</td> <td>${item.other_docs_name}</td>
<td>${item.file_name}</td> <td>${item.file_name}</td>
<td><i data-id="${item.id}" class="mdi mdi-delete btnKycOtherDelete" style="font-size:18px;"></i></td> <td>
<i data-id="${item.id}" class="mdi mdi-delete btnKycOtherDelete" style="font-size:18px;"></i>
<a href = "<?= base_url('download-kyc-docs/') ?>${item.file_name}" data-id="${item.id}" class="fa fa-download" style="font-size:18px; display: none" download></a>
</td>
</tr> </tr>
`; `;
} }

View File

@ -14,6 +14,7 @@
<th>Policy</th> <th>Policy</th>
<th>TPA</th> <th>TPA</th>
<th>Date</th> <th>Date</th>
<th>Enrollment Status</th>
<th>Status</th> <th>Status</th>
<th>Action</th> <th>Action</th>
</tr> </tr>
@ -79,7 +80,7 @@
</select> </select>
</div> </div>
<div class="form-group col-md-4"> <div class="form-group col-md-4">
<label for="mobile">TPA<span class="text-danger">*</span></label> <label for="mobile">TPA<span id="tpa_danger" class="text-danger">*</span></label>
<select class="form-control" id="tpa" name="tpa" required> <select class="form-control" id="tpa" name="tpa" required>
<option value="">Select TPA</option> <option value="">Select TPA</option>
<?php foreach ($tpa as $value) { ?> <?php foreach ($tpa as $value) { ?>
@ -105,6 +106,16 @@
</div> </div>
</div> </div>
<div class="form-row" id="third" style="display: none; position: relative;top: 22px;">
<label class="switch">
<input id="inception_type" type="checkbox" name="inception_type">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="inception_type" style="position: relative;bottom: 5px;left: 10px;">Enable Employee Enrolment Process</label>
</div>
<div id="policy_fields"></div> <div id="policy_fields"></div>
</div> </div>
@ -151,6 +162,7 @@
onChange: function(selectedDates, dateStr, instance) { onChange: function(selectedDates, dateStr, instance) {
var endDate = new Date(selectedDates[0]); var endDate = new Date(selectedDates[0]);
endDate.setFullYear(endDate.getFullYear() + 1); endDate.setFullYear(endDate.getFullYear() + 1);
endDate.setDate(endDate.getDate() - 1); // Set end date to last day of selected year
endDatePicker.setDate(endDate); endDatePicker.setDate(endDate);
} }
}); });
@ -158,6 +170,7 @@
// Calculate the end date (today + 1 year) // Calculate the end date (today + 1 year)
var endDate = new Date(today); var endDate = new Date(today);
endDate.setFullYear(endDate.getFullYear() + 1); endDate.setFullYear(endDate.getFullYear() + 1);
endDate.setDate(endDate.getDate() - 1); // Set end date to last day of next year
// Initialize Flatpickr for the end date with the calculated end date // Initialize Flatpickr for the end date with the calculated end date
var endDatePicker = flatpickr("#end_date", { var endDatePicker = flatpickr("#end_date", {
@ -167,6 +180,7 @@
}); });
$('#add_form').hide(); $('#add_form').hide();
$('.btnBack').hide(); $('.btnBack').hide();
@ -192,6 +206,7 @@
$('#first').hide(); $('#first').hide();
$('#second').hide(); $('#second').hide();
$('#third').hide();
$('#base_policy_id').hide(); $('#base_policy_id').hide();
$('#base_policy').prop('required', false); $('#base_policy').prop('required', false);
@ -232,15 +247,42 @@
} else { } else {
search_term = subject; // Set default value if neither 'GMC' nor 'GPA' exists search_term = subject; // Set default value if neither 'GMC' nor 'GPA' exists
} }
// console.log('search_term :', search_term)
var enrollmentStatus = '';
if(item.inception_type == 1){
enrollmentStatus = 'N/A'
}else if(item.inception_type == 2){
if(item.open_for_enrollment == 1){
enrollmentStatus = '<a href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll" data-toggle="tooltip" data-placement="left" title="Click To Close Enrollment">Open</a>'
}else if(item.open_for_enrollment == 0){
enrollmentStatus = '<a href="#" data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
}
}
var tpaValue = 'TPA Unavailable';
if (item.tpa_short && item.tpa_branch_code) {
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
}
console.log('search_term :', search_term)
policyTable += ` policyTable += `
<tr> <tr>
<td>${item.insurer_short} - ${item.insurer_branch_name}</td> <td>${item.insurer_short} - ${item.insurer_branch_name}</td>
<td>${item.policy_name} (${item.policy_type_name})</td> <td>${item.policy_name} (${item.policy_type_name})</td>
<td>${item.tpa_short} - ${item.tpa_branch_code}</td> <td>${tpaValue}</td>
<td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td> <td>${(item.policy_start_date)} / ${(item.policy_end_date)}</td>
<td style="text-align: center;">${(enrollmentStatus)}</td>
<td>${checkDateStatus(item.policy_end_date, 1)}</td> <td>${checkDateStatus(item.policy_end_date, 1)}</td>
<td> <td>
<div class="btn-group dropdown"> <div class="btn-group dropdown">
@ -249,15 +291,6 @@
<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a> <a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a href="#" data-id="${item.id}" id="${search_term}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a> <a href="#" data-id="${item.id}" id="${search_term}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a>
<a href="#" data-id="${item.id}" id="${search_term}"class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a> <a href="#" data-id="${item.id}" id="${search_term}"class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a>
`;
if (item.open_for_enrollment == 0) {
policyTable +=
`<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnOpenEnroll"><i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle"></i>Open Enrollment</a> `;
} else {
policyTable +=
`<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnOpenEnroll" style="background-color: lightgrey;"><i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle" ></i>Open Enrollment</a> `;
}
policyTable += `
</div> </div>
</div> </div>
</td> </td>
@ -284,6 +317,12 @@
policy_PrimaryKey = $('#client_id_policy').val(); policy_PrimaryKey = $('#client_id_policy').val();
policy_client = $('#policy_PrimaryKey').val(); policy_client = $('#policy_PrimaryKey').val();
var policyDataId = $('#policy').children('option:selected').attr('data-id');
var basePolicyDataId = $('#base_policy').children('option:selected').attr('data-id');
console.log('policyDataId', policyDataId);
console.log('basePolicyDataId', basePolicyDataId);
if (policy_PrimaryKey === '' && policy_client === '') { if (policy_PrimaryKey === '' && policy_client === '') {
toastr.error('Client is required', 'Error'); toastr.error('Client is required', 'Error');
$('#insurer').val(''); $('#insurer').val('');
@ -292,6 +331,22 @@
return; return;
} }
if (basePolicyDataId == policyDataId) {
toastr.warning('The policy cannot be the same as the base policy.', 'Warning');
return;
}
if (basePolicyDataId == 3 || basePolicyDataId == 2) {
if (policyDataId == 1) {
toastr.warning('The GPA policy cannot be Select.', 'Warning');
return;
}
}
var isValid = $('#policy_form').parsley().validate(); var isValid = $('#policy_form').parsley().validate();
if (!isValid) { if (!isValid) {
console.log('Form is Empty', 'Warning'); console.log('Form is Empty', 'Warning');
@ -353,14 +408,41 @@
subject; // Set default value if neither 'GMC' nor 'GPA' exists subject; // Set default value if neither 'GMC' nor 'GPA' exists
} }
console.log('search_term :', search_term) // console.log('search_term :', search_term)
var enrollmentStatus = '';
if(item.inception_type == 1){
enrollmentStatus = 'N/A'
}else if(item.inception_type == 2){
if(item.open_for_enrollment == 1){
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Close Enrollment" href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Open</a>'
}else if(item.open_for_enrollment == 0){
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
}
}
var tpaValue = 'TPA Unavailable';
if (item.tpa_short && item.tpa_branch_code) {
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
}
policyTable += ` policyTable += `
<tr> <tr>
<td>${item.insurer_short} - ${item.insurer_branch_name}</td> <td>${item.insurer_short} - ${item.insurer_branch_name}</td>
<td>${item.policy_name} (${item.policy_type_name})</td> <td>${item.policy_name} (${item.policy_type_name})</td>
<td>${item.tpa_short} - ${item.tpa_branch_code}</td> <td>${tpaValue}</td>
<td>${rearrangeDateFormat(item.policy_start_date)} - ${rearrangeDateFormat(item.policy_end_date)}</td> <td>${rearrangeDateFormat(item.policy_start_date)} - ${rearrangeDateFormat(item.policy_end_date)}</td>
<td style="text-align: center;">${(enrollmentStatus)}</td>
<td>${checkDateStatus(item.policy_end_date, 1)}</td> <td>${checkDateStatus(item.policy_end_date, 1)}</td>
<td> <td>
<div class="btn-group dropdown"> <div class="btn-group dropdown">
@ -369,15 +451,6 @@
<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a> <a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnPolicyEdit"><i class="mdi mdi-lead-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a href="#" data-id="${item.id}" id="${search_term}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a> <a href="#" data-id="${item.id}" id="${search_term}" class="dropdown-item btnPolicyMaster" data-toggle="modal"><i class="mdi mdi-wrench mr-2 text-muted font-18 vertical-middle"></i>Terms</a>
<a href="#" data-id="${item.id}" id="${search_term}"class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a> <a href="#" data-id="${item.id}" id="${search_term}"class="dropdown-item btnPolicyModel" data-toggle="modal" data-target="#bs-example-modal-lg"><i class="mdi mdi-book-open mr-2 text-muted font-18 vertical-middle"></i>Rack Rate</a>
`;
if (item.open_for_enrollment == 0) {
policyTable +=
`<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnOpenEnroll"><i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle"></i>Open Enrollment</a> `;
} else {
policyTable +=
`<a href="#" data-id="${item.id}" id="${item.policy_id}" class="dropdown-item btnOpenEnroll" style="background-color: lightgrey;"><i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle" ></i>Open Enrollment</a> `;
}
policyTable += `
</div> </div>
</div> </div>
</td> </td>
@ -408,6 +481,7 @@
}, 1000); }, 1000);
} }
}); });
}); });
$(document).ready(function() { $(document).ready(function() {
@ -461,7 +535,8 @@
'">' + item.name + '( ' + item.policy_type + ' )</option>'; '">' + item.name + '( ' + item.policy_type + ' )</option>';
} }
} else if ($policy_type_value == 1) { } else if ($policy_type_value == 1) {
if (item.policy_type_id == 1 || item.policy_type_id == 2) {
if (item.policy_type_id == 1 || item.policy_type_id == 2 || item.policy_type_id == 3) {
OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' + OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' +
item.id + item.id +
@ -492,6 +567,18 @@
console.log('id', id) console.log('id', id)
$('#policy_type_id').val(dataId); $('#policy_type_id').val(dataId);
if (dataId == 1) {
$('#tpa').prop('required', false);
$('#tpa_danger').hide()
} else {
$('#tpa').prop('required', true);
$('#tpa_danger').show()
}
var base_policy_dataId = $('#base_policy').children('option:selected').attr('data-id');
// $('#base_policy option').each(function() { // $('#base_policy option').each(function() {
// var val = $(this).val(); // var val = $(this).val();
// if (val == id) { // if (val == id) {
@ -508,6 +595,42 @@
// appendPolicyFormFields(2); // appendPolicyFormFields(2);
// } // }
if($('#policy_type').val() == 1){
console.log('step 1')
if (dataId == 3) {
console.log('step 2')
var displayStatus = $('#base_policy_id').css('display');
$('#base_policy_id').show();
$('#base_policy').prop('required', true);
if (displayStatus === 'none') {
console.log('step 2.1')
$('#base_policy').val('').change();
}
// $('#base_policy').find('option[data-id="3"]').hide();
} else {
console.log('step 3')
var displayStatus = $('#base_policy_id').css('display');
$('#base_policy_id').hide();
$('#base_policy').prop('required', false);
if (displayStatus === 'none') {
console.log('step 3.1')
$('#base_policy').val('').change();
}
}
}
}); });
}); });
@ -545,7 +668,13 @@
$('.btnAdd').hide(); $('.btnAdd').hide();
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id).change(); $('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id).change();
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change(); var tpaValue = '';
if (res.data.tpa_branch_id && res.data.tpa_id) {
tpaValue = res.data.tpa_branch_id + '-' + res.data.tpa_id;
}
$('#tpa').val(tpaValue).change();
// $('#policy').val(res.data.policy_id).change(); // $('#policy').val(res.data.policy_id).change();
$('#policy_type').val(res.data.is_addon).change(); $('#policy_type').val(res.data.is_addon).change();
$('#base_policy').val(res.data.base_policy); $('#base_policy').val(res.data.base_policy);
@ -557,24 +686,55 @@
$('#policy_status').val(checkDateStatus(res.data.policy_end_date)); $('#policy_status').val(checkDateStatus(res.data.policy_end_date));
$('#policy_status_field').show(); $('#policy_status_field').show();
if (res.data.inception_type == 2) {
$('#inception_type').prop('checked', true);
} else {
$('#inception_type').prop('checked', false);
}
if (res.data.is_addon != '1' && res.data.is_addon != '0') { if (res.data.is_addon != '1' && res.data.is_addon != '0') {
$('#base_policy_id').show(); $('#base_policy_id').show();
$('#base_policy').prop('required', true); $('#base_policy').prop('required', true);
$('#first').show(); $('#first').show();
$('#second').show(); $('#second').show();
$('#third').show();
} else if (res.data.is_addon == '0') { } else if (res.data.is_addon == '0') {
$('#first').hide(); $('#first').hide();
$('#second').hide(); $('#second').hide();
$('#third').hide();
$('#base_policy_id').hide(); $('#base_policy_id').hide();
$('#base_policy').prop('required', false); $('#base_policy').prop('required', false);
} else if (res.data.is_addon == '1') { } else if (res.data.is_addon == '1') {
$('#first').show(); $('#first').show();
$('#second').show(); $('#second').show();
$('#third').show();
$('#base_policy_id').hide(); $('#base_policy_id').hide();
$('#base_policy').prop('required', false); $('#base_policy').prop('required', false);
} }
if(res.data.is_addon == 1 && res.data.base_policy > 0){
// $("#insurer").next(".select2-container").css({
// 'pointer-events': 'none',
// });
// $('#select2-insurer-container').css({
// 'background-color': '#ebebe0',
// });
// $("#tpa").next(".select2-container").css({
// 'pointer-events': 'none',
// });
// $('#select2-tpa-container').css({
// 'background-color': '#ebebe0',
// });
}
if (res.data.is_addon == 2 || res.data.is_addon == 3) { if (res.data.is_addon == 2 || res.data.is_addon == 3) {
$("#insurer").next(".select2-container").css({ $("#insurer").next(".select2-container").css({
'pointer-events': 'none', 'pointer-events': 'none',
}); });
@ -619,14 +779,17 @@
$.each(res.client_policy_list, function(index, item) { $.each(res.client_policy_list, function(index, item) {
OptionsHTML += '<option data-id="' + item.policy_type_id + OptionsHTML += '<option data-id="' + item.policy_type_id +
'" value="' + item.id + '" ' + (res.data.base_policy === item.id ? '" value="' + item.id + '" ' + (res.data.base_policy === item.id ?
'selected="selected"' : '') + '>' + item.name + '</option>'; 'selected="selected"' : '') + '>' + item.name + '( ' + item.policy_type + ' )</option>';
}); });
$('#base_policy').html(OptionsHTML); $('#base_policy').html(OptionsHTML);
setTimeout(function() { setTimeout(function() {
$('#policy').val(res.data.policy_id).change(); $('#policy').val(res.data.policy_id).change();
$('#base_policy').val(res.data.base_policy);
$('#base_policy').change();
}, 3000); }, 3000);
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
@ -640,24 +803,27 @@
}); });
}); });
$('body').on('click', '.btnOpenEnroll', function() { $('body').on('click', '.btnOpenEnroll', function() {
Swal.fire({ Swal.fire({
title: "Are you sure?", title: "Are you sure?",
text: "You need to approve this!", text: "You need to approve this!",
icon: "warning", icon: "info",
showCancelButton: true, showCancelButton: true,
confirmButtonColor: "#3085d6", confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33", confirmButtonText: "Yes",
confirmButtonText: "Yes, delete it!"
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
var client_policy_id = $(this).attr('data-id'); var client_policy_id = $(this).attr('data-id');
var policy_id = $(this).attr('id'); var policy_id = $(this).attr('id');
var client_id = $('#client_id_policy').val() var client_id = $('#client_id_policy').val()
// console.log('client_policy_id', client_policy_id); console.log('client_policy_id', client_policy_id)
console.log('policy_id', policy_id)
console.log('client_id', client_id)
if (client_policy_id) { if (client_policy_id) {
$('.loader').fadeIn(); $('.loader').fadeIn();
@ -671,30 +837,28 @@
client_policy_id: client_policy_id, client_policy_id: client_policy_id,
}, },
success: function(res) { success: function(res) {
console.log(res);
console.log(res.client_policy_data);
if (res) { if (res) {
if (res.open_for_enrollment) { if (res.open_for_enrollment) {
var json_decode = JSON.parse(res.open_for_enrollment); var json_decode = JSON.parse(res.open_for_enrollment);
var open_for_enrollment = json_decode.open_for_enrollment; var open_for_enrollment = json_decode.open_for_enrollment;
var client_policy_id = json_decode.client_policy_id; var client_policy_id = json_decode.client_policy_id;
if (open_for_enrollment == 1) { if (open_for_enrollment == 1) {
// console.log($('[data-id="' + client_policy_id + '"]');
$('.btnOpenEnroll').each(function(index, element) { $('.btnOpenEnroll').each(function(index, element) {
if ($(element).data('id') == client_policy_id) { if ($(element).data('id') == client_policy_id) {
$(element).css({ $(element).html('<a data-toggle="tooltip" data-placement="top" title="Click To Close Enrollment" href="#" data-id="' + res.client_policy_data.id + '" id="' + res.client_policy_data.policy_id + '" class="btnOpenEnroll">Open</a>');
'background-color': 'lightgrey',
});
$(element).html('<i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle"></i>Open Enrollment');
} }
}); });
} else { } else {
$('.btnOpenEnroll').each(function(index, element) { $('.btnOpenEnroll').each(function(index, element) {
if ($(element).data('id') == client_policy_id) { if ($(element).data('id') == client_policy_id) {
$(element).css({ $(element).html('<a data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" href="#" data-id="' + res.client_policy_data.id + '" id="' + res.client_policy_data.policy_id + '" class="btnOpenEnroll">Closed</a>');
'background-color': '',
});
$(element).html('<i class="mdi mdi-file-lock mr-2 text-muted font-18 vertical-middle"></i>Open Enrollment');
} }
}); });
} }
@ -734,6 +898,7 @@
}); });
function appendPolicyFormFields(policy_type, data = false) { function appendPolicyFormFields(policy_type, data = false) {
var html = ''; var html = '';
@ -1028,6 +1193,10 @@
gpaSumInsureMultiplier(input); gpaSumInsureMultiplier(input);
} }
if (input.id == 'gpa_sum_si2') {
gpaSumInsureMultiplier(input);
}
// if(input.id == 'basic_pay'){ // if(input.id == 'basic_pay'){
// var inputNumber = input.value; // var inputNumber = input.value;
// if (inputNumber) { // if (inputNumber) {
@ -1133,11 +1302,13 @@
$('#base_policy').prop('required', true); $('#base_policy').prop('required', true);
$('#first').show(); $('#first').show();
$('#second').show(); $('#second').show();
$('#third').show();
} else if ($(this).val() == '0') { } else if ($(this).val() == '0') {
$('#first').hide(); $('#first').hide();
$('#second').hide(); $('#second').hide();
$('#third').hide();
$('#base_policy_id').hide(); $('#base_policy_id').hide();
$('#base_policy').prop('required', false); $('#base_policy').prop('required', false);
@ -1146,6 +1317,7 @@
$('#first').show(); $('#first').show();
$('#second').show(); $('#second').show();
$('#third').show();
$('#base_policy_id').hide(); $('#base_policy_id').hide();
$('#base_policy').prop('required', false); $('#base_policy').prop('required', false);
} }
@ -1176,9 +1348,22 @@
var OptionsHTML = ''; var OptionsHTML = '';
OptionsHTML += '<option value="" selected>Select Base Policy</option>'; OptionsHTML += '<option value="" selected>Select Base Policy</option>';
$.each(res.data, function(index, item) { $.each(res.data, function(index, item) {
if ($('#policy_type').val() == 1) {
console.log('if')
if (item.policy_type_id == 1 || item.policy_type_id == 2) {
console.log('if 2')
OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' + item.id + OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' + item.id +
'">' + item.name + '( ' + item.policy_type + ' )</option>'; '">' + item.name + '( ' + item.policy_type + ' )</option>';
}
} else {
console.log('if')
OptionsHTML += '<option data-id="' + item.policy_type_id + '" value="' + item.id +
'">' + item.name + '( ' + item.policy_type + ' )</option>';
}
}); });
$('#base_policy').html(OptionsHTML); $('#base_policy').html(OptionsHTML);
}, },
@ -1195,7 +1380,7 @@
} }
var dataId = 0;
$(document).ready(function() { $(document).ready(function() {
$('#base_policy').change(function() { $('#base_policy').change(function() {
@ -1204,6 +1389,12 @@
var policy_type = $('#policy_type').val() var policy_type = $('#policy_type').val()
console.log(client_policy_id); console.log(client_policy_id);
dataId = $('#policy').children('option:selected').attr('data-id');
console.log('dataId', dataId)
base_policy_data_id = $(this).children('option:selected').attr('data-id');
console.log('base_policy_data_id', base_policy_data_id);
var queryParams = { var queryParams = {
client_policy_id: client_policy_id, client_policy_id: client_policy_id,
policy_type: policy_type, policy_type: policy_type,
@ -1238,26 +1429,37 @@
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date)).change(); $('#start_date').val(rearrangeDateFormat(res.data.policy_start_date)).change();
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change(); $('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change();
var policeOptionHTML = ''; var policeOptionHTML = '';
$policy_type_value = $('#policy_type').val(); $policy_type_value = $('#policy_type').val();
$.each(res.policy, function(index, item) { $.each(res.policy, function(index, item) {
// if ($policy_type_value == 3) {
// if (item.policy_type_id == 5) {
console.log(item); console.log(item);
policeOptionHTML += '<option data-id="' + item.policy_type_id + policeOptionHTML += '<option data-id="' + item.policy_type_id +
'" value="' + item.id + '" ' + (res.data.policy_id === item.id ? '" value="' + item.id + '" ' + (res.data.policy_id === item.id ?
'selected="selected"' : '') + '>' + item.name + '</option>'; 'selected="selected"' : '') + '>' + item.name + '</option>';
// }
// }
}); });
$('#policy').html(policeOptionHTML); $('#policy').html(policeOptionHTML);
if (dataId == 3 || policy_type == 1) {
console.log('step 1')
setTimeout(function() {
console.log('step 2')
var $option = $('#policy').find('option[data-id="3"]');
if ($option.length > 0) {
console.log('step 3')
$option.prop('selected', true).change();
} else {
console.log('step 4');
toastr.warning('The insurer does not have a GMC-Parents policy.', 'Warning');
}
}, 1500);
}
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
@ -1269,6 +1471,7 @@
}, 500); }, 500);
} }
}); });
}); });
}) })

View File

@ -157,8 +157,7 @@ $(document).ready(function(){
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning'); }, 1000);
}, 1000);
} }
}); });

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>NHANCE</title> <title>E-Card</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="A fully featured CRM" name="description" /> <meta content="A fully featured CRM" name="description" />
<meta content="Venba info tech" name="author" /> <meta content="Venba info tech" name="author" />
@ -23,6 +23,7 @@
<!-- Left side of the ID card --> <!-- Left side of the ID card -->
<div <div
style="width: 400px; height: 250px; background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; margin: 0 10px;"> style="width: 400px; height: 250px; background-color: #f0f0f0; border: 1px solid #ccc; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; margin: 0 10px;">
<div style="padding: 20px; box-sizing: border-box; border-right: 1px solid #ccc;"> <div style="padding: 20px; box-sizing: border-box; border-right: 1px solid #ccc;">
<div style="margin-bottom: 10px; display: flex; justify-content: space-between;"> <div style="margin-bottom: 10px; display: flex; justify-content: space-between;">
<label style="font-weight: bold;">Name:</label> <label style="font-weight: bold;">Name:</label>
@ -49,6 +50,7 @@
<span><?= htmlspecialchars(formatDateOrReturn($value['policy_end_date'])) ?></span> <span><?= htmlspecialchars(formatDateOrReturn($value['policy_end_date'])) ?></span>
</div> </div>
</div> </div>
</div> </div>
</td> </td>
<td> <td>
@ -77,6 +79,12 @@
<?php } ?> <?php } ?>
</table> </table>
<?php if(!isset($data)) { ?>
<a href="<?= generate_download_link('HX3kUB') ?>"
target="_blank">button</a>
<?php } ?>
</body> </body>
</html> </html>

View File

@ -0,0 +1,203 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>E-Card</title>
<style>
ol {
list-style-type: decimal;
font-family: sans-serif;
}
</style>
</head>
<body>
<table style="width: 100%;">
<?php if(isset($data)) { ?>
<?php foreach ($data as $key => $value) { ?>
<tr>
<td style="padding-right: 50px;">
<div style="display: flex;justify-content: center;gap: 10px;">
<div
style="width: 100%;min-height: 320px; background-image:url(<?= base_url() . "public/assets/images/New-india-front.jpg"; ?>);background-size: 100% 100%;border: 1px solid black;line-height: 20px;padding-left: 20px;font-size: 14px;position: relative;">
<div>
<h3
style="font-family: sans-serif;margin-bottom: 40px;margin-top: 30px;padding-left: 100px;">
THE NEW INDIA ASSURANCE CO.LTD</h3>
<div style="display: flex;gap: 20px;">
<table>
<tr>
<td>
<div style="font-family: sans-serif;"><span>UHID No</span><span
style="margin-left: 52px;">:</span></div>
</td>
<td>
<div style="font-family: sans-serif;">NIAC49688264</div>
</td>
</tr>
<div style="font-family: sans-serif;"><b><?= htmlspecialchars($value['name']) ?></b></div>
<tr>
<td>
<div style="font-family: sans-serif;"><span>Age</span><span
style="margin-left:82px;">:</span></div>
</td>
<td>
<div style="font-family: sans-serif;"><?= htmlspecialchars($value['emp_age']) ?></div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;"><span>Relationship</span><span
style="margin-left: 29px;">:</span></div>
</td>
<td>
<div style="font-family: sans-serif;"><?= htmlspecialchars($value['relationship']) ?></div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;"><span>Plan Period</span><span
style="margin-left: 34px;">:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;"><?= htmlspecialchars($value['policy_start_date']) ?> To <?= htmlspecialchars($value['policy_end_date']) ?></div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;"><span>Policy No</span><span
style="margin-left: 47px;">:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;"><?= htmlspecialchars($value['tpa_id']) ?></div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;"><span>Insurer</span><span
style="margin-left: 62px;">:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">
<span>LCO</span><span>:</span><span><?= htmlspecialchars($value['branch_code']) ?></span><span>:</span><span><?= htmlspecialchars($value['insurer_branch_city']) ?></span>
</div>
</td>
</tr>
</table>
</div>
</div>
<div>
<img src="<?= base_url() . "public/assets/images/New_India_Assurance.png"; ?>" alt=""
width="70px" height="70px"
style="object-fit: fill;position: absolute;top: 6px;left: 38px;">
</div>
</div>
</div>
</td>
<td style="width: 50%; padding-left: 50px;">
<div style="display: flex;justify-content: center;gap: 10px;">
<div
style="width: 100%;min-height: 310px; background-image: url(<?= base_url() . "public/assets/images/New-india-back.jpg"; ?>);background-size: 100% 100%;border: 1px solid black;padding-top: 10px;padding-right: 10px;">
<h4 style="font-family: sans-serif;padding-left: 20px;margin:0px;">Instructions</h4>
<ul style="font-family: sans-serif;font-size: 11px;line-height: 15px;padding-left: 30px;">
<li>Card has to be presented to our network hospitals at the time of the admission while
availing cashless</li>
<li>Free authorizationfrom FHPL it must should be taken before 48 hrs for all planed
admissions & emergency admissions within 24 hrs of getting admitted to any network
hospitals FHPL</li>
<li>The issuance of this card doesnot guarantee cashless benefits /hospitalisation</li>
<li>The card is for the identification purpose.in case of without photograph
card.Alternative identification proof such as Voter ID/driving license etc...should be
produced</li>
<li>All insurance claim will be processed as per policy terms & conditions</li>
<li>For more details kindly referbook kindly provided</li>
</ul>
</div>
</div>
</td>
</tr>
<div
style="margin-left: 20%; position:relative; top:70px; width: 160%; display: flex;justify-content: center; line-height: 27px; ">
<span style="font-family: sans-serif;margin: 0px;margin-left: 30px;font-size: 15px;font-weight: 100;">TERMS
AND CONDITIONS:</span>
<div style=" font-size : 15px; justify-content: space-around;align-items: center;">
<ol type="number" style="font-family: sans-serif;">
<li>This card is generated as per the details given by your employer/HR. Incase of any
errors in the
details you may confirm the same through your employer for making required corrections.
</li>
<li>No physical card will be provided to you. For all requirements you may use this card
printed in black
and white or colour.</li>
<li>You can access our network hospitals list from our website https://www.fhpl.net for any
information
regarding hospitals available within your location or as required.</li>
<li>For the convenience of the members the guide book is made available on our website
https://www.fhpl.net for understanding protocols in the event of any hospitalization
assistance required
for availing cashless service and also to forward any claim where the member has spent
on his/her own.</li>
<li>All our network hospitals will accept the printed card and seek the preauthorization
from FHPL in the
event of any in-patient hospitalization.</li>
<li>Incase there is no photograph on the ID card, the member has to identify himself/herself
with any other
photo-card like: credit card, ration card, electoral card, Company ID card etc in
conjunction with this card.</li>
<li>This card is not transferable and cannot be forwarded further to any other person by
email/fax.</li>
<li> The card will be visible to any member as long the policy is valid after which this
service will be
withdrawn or till such time the member is employed with the current employer.</li>
<li>Usage of this card after the validity/policy expiry will not be entertained.</li>
<li>A fresh card will be generated subjected to the renewal of the policy.</li>
<li>For Any further queries, Please feel free to contact us on Toll—Free Helpline :1800 -
103 - 7519</li>
</ol>
</div>
</div>
<div style="padding-top: 500px;" ></div>
<?php } ?>
<?php } ?>
</table>
</body>
</html>

View File

@ -0,0 +1,179 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>E-Card</title>
</head>
<body>
<table style="width: 100%;">
<?php if(isset($data)) { ?>
<?php foreach ($data as $key => $value) { ?>
<tr>
<td style="width: 42%;">
<div
style="width: 97%; min-height: 330px; padding-left: 21px; line-height: 19px; font-size: 13px;background-image: url(<?= base_url() . "public/assets/images/icici-front.jpg"; ?>);background-size:100% 100%;">
<div >
<div style="font-weight: 600;font-family: sans-serif;margin-top: 50px;margin-bottom: 10px;">
MADRAS BOAT CLUB</div>
<div style="display: flex;gap: 20px; padding-top: 10px;">
<table>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Name</span><span >:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">MURUGAN M</div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Policy No</span><span >:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">4016/x/255486172/01/000</div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Card No</span><span>:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">IL22710628200</div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Emp ID</span><span>:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">60</div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Age</span><span >:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">51</div>
</td>
</tr>
<tr>
<td>
<div style="font-family: sans-serif;font-weight: 400;font-weight: bold;">
<span>Valid up</span><span>:</span>
</div>
</td>
<td>
<div style="font-family: sans-serif;">10-Aug-2024</div>
</td>
</tr>
</table>
</div>
</div>
<!-- </div> -->
</td>
<td style="padding-left: 30px; padding-bottom: 40px">
<div
style="width: 90%;min-height: 210px;background-image: url(<?= base_url() . "public/assets/images/icici-back.jpg"; ?>);background-size: 100% 100%;padding-top: 10px; position: relative;top: 18px;">
<ul style="font-family: sans-serif;font-size: 10px;margin-left: 0px;padding-left: 35px;">
<li>*For services like second opinion,doctor appointment,facilitating hospitalisation,post
hospitalisation care,call our health assistance helpline at 040-66274205{8AM-8PM Monday
to Saturday except public holidays}</li>
<li>This Card is non-Transferable and is valid at Network hospitals only</li>
<li>Use of this card is governed by the policy terms and conditions</li>
<li>Cashless access to the network provider can only be obtained When accompanied with the
authorization letter issued by ICICI Lombard GIC Ltd</li>
<li>In case of non photo cards,to prove your identy,please produce this card along with any
photo id card issued by government</li>
<li>valid up to policy expiry date or cancellation date whichever is earlier</li>
</ul>
<div style="padding-left: 20px;">
<div style="font-size: 10px;"><span style="color: #AA292E;font-family: sans-serif;">ICICI
Lombard Health Care Pays:</span><span style="font-family: sans-serif;">hospitalisation
bills for admissable claim,Subject
to prior prior approval.In case of Emergency.Approval can be taken with in 24 hours
of hospitalisation</span></div>
<div style="font-size: 10px;"><span style="color: #AA292E;font-family: sans-serif;">Insured
pays:</span><span style="font-family: sans-serif;">All non medical Hospitalisation
bills and expenses not covered Under the policy</span></div>
<div style="font-size: 10px;"><span style="color: #AA292E;font-family: sans-serif;">Mailing
Address:</span><span style="font-family: sans-serif;">ICICI Lombard GIC
Ltd,1st,4th,5th & 6th,Floor.Varun Towers-II,Opp,Hydrabad Public
School,Begumpet,Hyderabad-50016,Telangana</span></div>
<div style="font-size: 10px;"><span style="color: #AA292E;font-family: sans-serif;">Registered
Addresss:</span><span style="font-family: sans-serif;">ICICI Lombard General insurance
company
limited,ICICI Lombard House,414,savakar marg,near sidhivinayak
temple,prabhadevi,Mumbai-400025</span></div>
</div>
<div
style="display: flex;gap: 30px;padding-left: 20px;margin: 10px 0px 10px 0px;font-size: 10px;font-family: sans-serif;">
<div>
<div><span><b>Fax Number:</b></span><span>(040)6698916061</span></div>
<div><span><b>Email:</b></span><span>ihealth@icicilombard.com</span></div>
</div>
<div>
<div><span><b>Toll Free number:</b></span><span>18002666</span></div>
<div><span><b>Visit Us at:</b></span><span>www.icicilombard.com</span></div>
</div>
</div>
<div style="padding-left: 20px;">
<div style="font-family: sans-serif;font-size: 9px;">Insurance is the subject matter of the
soficitation.IRDA Reg no.115.CIN:L67200MH2000PLC129408</div>
<div style="font-family: sans-serif;font-size: 9px;">*The Mentioned Covers are add-ones by
paying additional premium and available only if opted by policyholders</div>
</div>
</div>
</td>
</tr>
<?php } ?>
<?php } ?>
</table>
</body>
</html>

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>

View File

@ -44,7 +44,7 @@
<th class="font-weight-medium">Policy name</th> <th class="font-weight-medium">Policy name</th>
<th class="font-weight-medium">Insurer name</th> <th class="font-weight-medium">Insurer name</th>
<th class="font-weight-medium">TPA ID</th> <th class="font-weight-medium">TPA ID</th>
<th class="font-weight-medium">UHID ID</th> <th class="font-weight-medium">UHID</th>
<th class="font-weight-medium">Policy status</th> <th class="font-weight-medium">Policy status</th>
<th class="font-weight-medium">Sum Insured</th> <th class="font-weight-medium">Sum Insured</th>
<th class="font-weight-medium">Premium</th> <th class="font-weight-medium">Premium</th>

View File

@ -2,29 +2,23 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="card-body"> <div class="card-body">
<form role="form" class="parsley-examples" method="post" id="insurer_general_form" <form role="form" class="parsley-examples" method="post" id="insurer_general_form" enctype="multipart/form-data">
enctype="multipart/form-data">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" /> <input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="PrimaryKey" id="insurer_General_PrimaryKey" <input type="hidden" name="PrimaryKey" id="insurer_General_PrimaryKey" value="<?= isset($insurer['id']) ? $insurer['id'] : '' ?>" />
value="<?= isset($insurer['id']) ? $insurer['id'] : '' ?>" />
<input type="hidden" name="insurer_id" id="insurer_id" /> <input type="hidden" name="insurer_id" id="insurer_id" />
<div class="form-group"> <div class="form-group">
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-4"> <div class="form-group col-md-4">
<label for="insurer_name">Insurer Name<span class="text-danger">*</span></label> <label for="insurer_name">Insurer Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="insurer_name" <input type="text" class="form-control" id="insurer_name" placeholder="Enter Insurer Name" value="<?= isset($insurer['name']) ? $insurer['name'] : '' ?>" name="name" required>
placeholder="Enter Insurer Name"
value="<?= isset($insurer['name']) ? $insurer['name'] : '' ?>" name="name" required>
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="short_name">Insurer Short Name<span class="text-danger">*</span></label> <label for="short_name">Insurer Short Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="short_name" placeholder="Enter Short Name" <input type="text" class="form-control" id="short_name" placeholder="Enter Short Name" value="<?= isset($insurer['short_name']) ? $insurer['short_name'] : '' ?>" name="short_name" required minlength="3" maxlength="8">
value="<?= isset($insurer['short_name']) ? $insurer['short_name'] : '' ?>"
name="short_name" required minlength="3" maxlength="8">
</div> </div>
</div> </div>
@ -52,13 +46,24 @@
</div> </div>
</div> </div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="short_name">Insurer Logo<span class="text-danger"></span></label>
<input type="file" class="form-control" onchange="PreviewImage();" id="insurer_logo" name="insurer_logo" accept="image/jpeg, image/jpg, image/png">
</div>
<div class="form-group col-md-4 float-right" style="position: relative;left: 40px;bottom: 28px;">
<img src="<?= isset($insurer['insurer_logo']) && !empty($insurer['insurer_logo']) ? base_url() . "public/uploads/logo/" . $insurer['insurer_logo'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview" class="avatar img-circle img-thumbnail" alt="avatar" />
</div>
</div>
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
id="btnSubmit">Submit</button> <button type="button" class="btn btn-secondary waves-effect btnBack" id="btnBack">Cancel</button>
<button type="button" class="btn btn-secondary waves-effect btnBack"
id="btnBack">Cancel</button>
</div> </div>
</form> </form>
</div> </div>
@ -138,8 +143,7 @@ $(document).ready(function() {
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning'); }, 1000);
}, 1000);
} }
}); });
} }
@ -175,4 +179,13 @@ $(document).ready(function() {
}); });
function PreviewImage() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("insurer_logo").files[0]);
oFReader.onload = function(oFREvent) {
document.getElementById("uploadPreview").src = oFREvent.target.result;
};
};
</script> </script>

View File

@ -304,8 +304,7 @@ $(document).ready(function () {
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning'); }, 1000);
}, 1000);
} }
}); });
} }

View File

@ -2,6 +2,9 @@
#notification_table{ #notification_table{
overflow-x : unset; overflow-x : unset;
} }
.preview_button{
display:none;
}
</style> </style>
<div class="tab-pane fade" id="notification-tab"> <div class="tab-pane fade" id="notification-tab">
<input type="hidden" id="client_id_for_client_branch" value="<?= isset($notification['id']) ? $notification['id'] : '' ?>"/> <input type="hidden" id="client_id_for_client_branch" value="<?= isset($notification['id']) ? $notification['id'] : '' ?>"/>
@ -17,7 +20,7 @@
// print_r($notification); // print_r($notification);
$member_welcome_mail = 0; $member_welcome_mail = 0;
$member_remider_mail = 0; $member_reminder_mail = 0;
$member_ecard_mail = 0; $member_ecard_mail = 0;
$member_review_and_summary_mail = 0; $member_review_and_summary_mail = 0;
$account_maneger_summary_mail = 0; $account_maneger_summary_mail = 0;
@ -28,8 +31,8 @@
$member_welcome_mail = $value['enabled']; $member_welcome_mail = $value['enabled'];
} }
if ($value['template_name'] == 'member_remider_mail') { if ($value['template_name'] == 'member_reminder_mail') {
$member_remider_mail = $value['enabled']; $member_reminder_mail = $value['enabled'];
} }
if ($value['template_name'] == 'member_ecard_mail') { if ($value['template_name'] == 'member_ecard_mail') {
@ -53,11 +56,12 @@
<div class="form-group"> <div class="form-group">
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="branch_name">Recipient mail ID's<span class="text-danger">*</span></label> <label for="branch_name">Nhance team mail ID's<span class="text-danger">*</span></label>
<textarea name="" id="recipient_mail_ids" class="form-control"><?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 $client['common_mails'] ?></textarea>
</div> </div>
<div class="form-group col-md-6"> <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>
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
@ -80,11 +84,11 @@
<div class="form-group col-md-5"> <div class="form-group col-md-5">
<label for="branch_name">Member remider mail</label> <label for="branch_name">Member remider mail</label>
<label class="switch"> <label class="switch">
<input id="member_remider_mail_btn" type="checkbox" name="member_remider_mail_btn" <?= $member_remider_mail == 1 ? 'checked' : '' ?>> <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> <span class="slider round" style="height: 27px;"></span>
</label> </label>
&nbsp; &nbsp; &nbsp; &nbsp;
<a href="" data-toggle="modal" id="member_remider_mail" onclick="getMailTemplateData(this)" data-target="#member_remider_mail_modal">Edit</a> <a href="" data-toggle="modal" id="member_reminder_mail" onclick="getMailTemplateData(this)" data-target="#member_reminder_mail_modal">Edit</a>
</div> </div>
<div class="form-group col-md-5"> <div class="form-group col-md-5">
<textarea style="display:none;" name="" id="" class="form-control "></textarea> <textarea style="display:none;" name="" id="" class="form-control "></textarea>
@ -151,6 +155,8 @@
</div> </div>
</div> </div>
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6">
</div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<a style="float:right;" id="notification_enable_form_submit" class="btn btn-primary waves-effect waves-light mr-1">Submit</a> <a style="float:right;" id="notification_enable_form_submit" class="btn btn-primary waves-effect waves-light mr-1">Submit</a>
</div> </div>
@ -205,8 +211,10 @@
<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;"> <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> <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); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
@ -223,7 +231,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<a class="btn btn-primary waves-effect waves-light mr-1" <a class="btn btn-primary waves-effect waves-light mr-1 preview_button"
data-toggle="modal" data-target="#preview_modal" >Preview</a> data-toggle="modal" data-target="#preview_modal" >Preview</a>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -236,19 +244,19 @@
<!-- Modal content for the Large example --> <!-- Modal content for the Large example -->
<div class="modal fade" id="member_remider_mail_modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" <div class="modal fade" id="member_reminder_mail_modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
aria-hidden="true" aria-modal="true" data-backdrop="static"> aria-hidden="true" aria-modal="true" data-backdrop="static">
<div class="modal-dialog modal-full-width"> <div class="modal-dialog modal-full-width">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel">Member remider mail <span id="nameOfThePolicy"></span></h4> <h4 class="modal-title" id="myLargeModalLabel">Member reminder mail <span id="nameOfThePolicy"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="text-center" id="no_data"></div> <div class="text-center" id="no_data"></div>
<form role="form" class="parsley-examples" method="post" id="member_remider_mail_form" enctype="multipart/form-data"> <form role="form" class="parsley-examples" method="post" id="member_reminder_mail_form" enctype="multipart/form-data">
<div class="form-group"> <div class="form-group">
@ -283,17 +291,19 @@
</div> --> </div> -->
<div class="form-row" id="rac_rate_dropdown"> <div class="form-row" id="rac_rate_dropdown">
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<select id="member_remider_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;"> <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> <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); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
</div> </div>
<div id="member_remider_mail_snow_editor" style="height: 300px;"> <div id="member_reminder_mail_snow_editor" style="height: 300px;">
</div> </div>
@ -306,7 +316,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" <button class="btn btn-primary waves-effect waves-light mr-1 preview_button"
id="">Preview</button> id="">Preview</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -358,8 +368,10 @@
<select id="member_ecard_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;"> <select id="member_ecard_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> <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' || $value == 'ecard_download_link'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
@ -378,7 +390,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" <button class="btn btn-primary waves-effect waves-light mr-1 preview_button"
id="">Preview</button> id="">Preview</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -441,8 +453,10 @@
<select id="member_review_and_summary_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;"> <select id="member_review_and_summary_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> <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' || $value == 'member_summary'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
@ -461,7 +475,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" <button class="btn btn-primary waves-effect waves-light mr-1 preview_button"
id="">Preview</button> id="">Preview</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -524,8 +538,10 @@
<select id="account_maneger_summary_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;"> <select id="account_maneger_summary_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> <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' || $value == 'member_summary'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
@ -544,7 +560,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" <button class="btn btn-primary waves-effect waves-light mr-1 preview_button"
id="">Preview</button> id="">Preview</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -607,8 +623,10 @@
<select id="client_hr_summary_mail_modal_customButton" class="form-control" style="border:none;right: 6px;width: auto;position: absolute;z-index: 1;top: 17px;height: 32px;float: right;"> <select id="client_hr_summary_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> <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' || $value == 'member_summary'){ ?>
<?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?> <?php $valueChange = str_replace('_', ' ', $value); $valueChange = ucwords($valueChange); ?>
<option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option> <option value="[[<?php echo $value; ?>]]"><?php echo $valueChange; ?></option>
<?php } ?>
<?php endforeach; ?> <?php endforeach; ?>
</select> </select>
</div> </div>
@ -627,7 +645,7 @@
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button class="btn btn-primary waves-effect waves-light mr-1" <button class="btn btn-primary waves-effect waves-light mr-1 preview_button"
id="">Preview</button> id="">Preview</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnGridSubmit_2">Submit</button> id="btnGridSubmit_2">Submit</button>
@ -666,13 +684,11 @@
$(document).ready(function() { $(document).ready(function() {
var toolbar2 = "bold,italic,strikethrough,|,superscript,subscript,|,align,"; var toolbar = "bold,italic,strikethrough,|,superscript,subscript,|,align,";
const editorConfig = {
const editor = Jodit.make("#member_welcome_mail_snow_editor", { buttons: toolbar,
buttons:toolbar2,
showPlaceholder: false, showPlaceholder: false,
toolbarButtonSize: 'small', toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive: false, toolbarAdaptive: false,
saveHeightInStorage: true, saveHeightInStorage: true,
minHeight: 400, minHeight: 400,
@ -681,158 +697,65 @@
name: 'info', name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) { exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput"); const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click(); fileInput.click();
}, },
}, },
], ],
}); };
const editor2 = Jodit.make("#member_remider_mail_snow_editor", { const editor = Jodit.make("#member_welcome_mail_snow_editor", editorConfig);
buttons:toolbar2,
showPlaceholder: false, const editor2 = Jodit.make("#member_reminder_mail_snow_editor", editorConfig);
toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive:false, const editor6 = Jodit.make("#member_ecard_mail_snow_editor", editorConfig);
saveHeightInStorage: true,
minHeight: 400, const editor3 = Jodit.make("#member_review_and_summary", editorConfig);
extraButtons: [
const editor4 = Jodit.make("#account_maneger_summary_mail_snow_editor", editorConfig);
const editor5 = Jodit.make("#client_hr_summary", editorConfig);
document.addEventListener('change', function(event)
{ {
name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click();
},
},
],
});
const editor6 = Jodit.make("#member_ecard_mail_snow_editor", {
buttons:toolbar2,
showPlaceholder: false,
toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive:false,
saveHeightInStorage: true,
minHeight: 400,
extraButtons: [
{
name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click();
},
},
],
});
const editor3 = Jodit.make("#member_review_and_summary", {
buttons:toolbar2,
showPlaceholder: false,
toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive:false,
saveHeightInStorage: true,
minHeight: 400,
extraButtons: [
{
name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click();
},
},
],
});
const editor4 = Jodit.make("#account_maneger_summary_mail_snow_editor", {
buttons:toolbar2,
showPlaceholder: false,
toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive:false,
saveHeightInStorage: true,
minHeight: 400,
extraButtons: [
{
name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click();
},
},
],
});
const editor5 = Jodit.make("#client_hr_summary", {
buttons:toolbar2,
showPlaceholder: false,
toolbarButtonSize: 'small',
showPlaceholder: false,
toolbarAdaptive:false,
saveHeightInStorage: true,
minHeight: 400,
extraButtons: [
{
name: 'info',
iconURL: '<?= base_url()."public"; ?>/assets/images/image-solid.svg', // Replace with the actual icon URL
exec: function (editor) {
const fileInput = document.getElementById("Question_title_fileInput");
fileInput.click();
},
},
],
});
document.addEventListener('change', function(event) {
var target = event.target; var target = event.target;
if (target.matches('#member_welcome_mail_customButton'))
if (target.matches('#member_welcome_mail_customButton')) { {
editor.selection.insertHTML($(target).val()); editor.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
} else if (target.matches('#member_remider_mail_modal_customButton')) { }
else if (target.matches('#member_reminder_mail_modal_customButton'))
{
editor2.selection.insertHTML($(target).val()); editor2.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
}else if (target.matches('#member_ecard_mail_modal_customButton')) { }
else if (target.matches('#member_ecard_mail_modal_customButton'))
{
editor6.selection.insertHTML($(target).val()); editor6.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
}else if (target.matches('#member_review_and_summary_mail_modal_customButton')) { }
else if (target.matches('#member_review_and_summary_mail_modal_customButton'))
{
editor3.selection.insertHTML($(target).val()); editor3.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
} else if (target.matches('#account_maneger_summary_mail_modal_customButton')) { }
else if (target.matches('#account_maneger_summary_mail_modal_customButton'))
{
editor4.selection.insertHTML($(target).val()); editor4.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
} else if (target.matches('#client_hr_summary_mail_modal_customButton')) { }
else if (target.matches('#client_hr_summary_mail_modal_customButton'))
{
editor5.selection.insertHTML($(target).val()); editor5.selection.insertHTML($(target).val());
$(target).val(''); $(target).val('');
} }
}); });
$('.close').click(function ()
{
$('.close').click(function () {
$(this).parent().parent().find('#subject').val(''); $(this).parent().parent().find('#subject').val('');
editor.setEditorValue(''); editor.setEditorValue('');
editor2.setEditorValue(''); editor2.setEditorValue('');
@ -843,12 +766,11 @@
}) })
const fileInput = document.getElementById("Question_title_fileInput"); const fileInput = document.getElementById("Question_title_fileInput");
fileInput.addEventListener("change", () => { fileInput.addEventListener("change", () => {
// Handle the selected file and insert it into the editor
const file = fileInput.files[0]; const file = fileInput.files[0];
if (file) { if (file)
{
const reader = new FileReader(); const reader = new FileReader();
reader.onload = function(e) { reader.onload = function(e) {
const imageUrl = e.target.result; const imageUrl = e.target.result;
@ -859,25 +781,17 @@
fileInput.value = ''; fileInput.value = '';
}); });
$('#member_welcome_mail_form').submit(function (event)
{
$('#member_welcome_mail_form').submit(function (event) { event.preventDefault();
event.preventDefault(); // Prevent the default form submission
var joditEditor = editor; var joditEditor = editor;
if (joditEditor)
if (joditEditor) { {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -886,47 +800,41 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#member_welcome_mail_modal').find('.close').click(); $('#member_welcome_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$('#member_reminder_mail_form').submit(function (event)
$('#member_remider_mail_form').submit(function (event) { {
event.preventDefault();
event.preventDefault(); // Prevent the default form submission
var joditEditor = editor2; var joditEditor = editor2;
if (joditEditor) { if (joditEditor) {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -935,45 +843,42 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#member_remider_mail_modal').find('.close').click(); console.log($('#member_reminder_mail_modal'));
$('#member_reminder_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$('#member_ecard_mail_form').submit(function (event) { $('#member_ecard_mail_form').submit(function (event)
{
event.preventDefault(); // Prevent the default form submission event.preventDefault();
var joditEditor = editor6; var joditEditor = editor6;
if (joditEditor) { if (joditEditor) {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -982,45 +887,41 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#member_ecard_mail_modal').find('.close').click(); $('#member_ecard_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$('#member_review_and_summary_mail_form').submit(function (event) { $('#member_review_and_summary_mail_form').submit(function (event)
{
event.preventDefault(); // Prevent the default form submission event.preventDefault();
var joditEditor = editor3; var joditEditor = editor3;
if (joditEditor) { if (joditEditor) {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -1029,46 +930,43 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#member_review_and_summary_mail_modal').find('.close').click(); $('#member_review_and_summary_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$('#account_maneger_summary_mail_form').submit(function (event) { $('#account_maneger_summary_mail_form').submit(function (event)
{
event.preventDefault(); // Prevent the default form submission event.preventDefault();
var joditEditor = editor4; var joditEditor = editor4;
if (joditEditor)
if (joditEditor) { {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -1077,44 +975,42 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#account_maneger_summary_mail_modal').find('.close').click(); $('#account_maneger_summary_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$('#client_hr_summary_mail_form').submit(function (event) { $('#client_hr_summary_mail_form').submit(function (event)
{
event.preventDefault(); // Prevent the default form submission event.preventDefault();
var joditEditor = editor5; var joditEditor = editor5;
if (joditEditor)
if (joditEditor) { {
// Get the HTML content from the editor var mailContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var editorContent = $(joditEditor.currentPlace.container).find('.jodit-wysiwyg').html();
var formData = $(this).serializeArray(); var formData = $(this).serializeArray();
formData.push({ name: 'editorContent', value: editorContent }); formData.push({ name: 'mailContent', value: mailContent });
formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() }); formData.push({ name: 'client_id', value: $('#general_PrimaryKey').val() });
// console.log(formData);
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
var form_action = '<?= base_url("client/notification/create") ?>'; var form_action = '<?= base_url("client/notification/create") ?>';
@ -1123,44 +1019,46 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
console.log(res); {
$('#client_hr_summary_mail_modal').find('.close').click(); $('#client_hr_summary_mail_modal').find('.close').click();
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}
} else { else
{
console.error("Jodit editor instance is not defined."); console.error("Jodit editor instance is not defined.");
} }
}) })
$(document).on('click', '#notification_enable_form_submit', function()
{
$(document).on('click', '#notification_enable_form_submit', function() {
var formData = []; var formData = [];
console.log($('#hr_mail_id').val());
formData.push({name:'client_id', value: $('#general_PrimaryKey').val()}) formData.push({name:'client_id', value: $('#general_PrimaryKey').val()})
formData.push({ name: 'recipient_mail_ids', value: $('#recipient_mail_ids').val() }); formData.push({ name: 'nhance_team_mail_ids', value: $('#nhance_team_mail_ids').val() });
formData.push({ name: 'hr_mail_id', value: $('#hr_mail_id').val() });
formData.push({ name: 'member_welcome_mail_btn', value: $('#member_welcome_mail_btn').prop('checked') }); formData.push({ name: 'member_welcome_mail_btn', value: $('#member_welcome_mail_btn').prop('checked') });
formData.push({ name: 'member_remider_mail_btn', value: $('#member_remider_mail_btn').prop('checked') }); formData.push({ name: 'member_reminder_mail_btn', value: $('#member_reminder_mail_btn').prop('checked') });
formData.push({ name: 'member_ecard_mail_btn', value: $('#member_ecard_mail_btn').prop('checked') }); formData.push({ name: 'member_ecard_mail_btn', value: $('#member_ecard_mail_btn').prop('checked') });
formData.push({ name: 'member_review_and_summary_mail_btn', value: $('#member_review_and_summary_mail_btn').prop('checked') }); formData.push({ name: 'member_review_and_summary_mail_btn', value: $('#member_review_and_summary_mail_btn').prop('checked') });
formData.push({ name: 'account_maneger_summary_mail_btn', value: $('#account_maneger_summary_mail_btn').prop('checked') }); formData.push({ name: 'account_maneger_summary_mail_btn', value: $('#account_maneger_summary_mail_btn').prop('checked') });
formData.push({ name: 'client_hr_summary_mail_btn', value: $('#client_hr_summary_mail_btn').prop('checked') }); formData.push({ name: 'client_hr_summary_mail_btn', value: $('#client_hr_summary_mail_btn').prop('checked') });
console.log(formData);
var form_action = '<?= base_url("client/notification/update_enable") ?>'; var form_action = '<?= base_url("client/notification/update_enable") ?>';
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
@ -1169,57 +1067,58 @@
type: "POST", type: "POST",
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res)
{
console.log(res); console.log(res);
if (res) { if (res)
{
toastr.success('Update Successfully'); toastr.success('Update Successfully');
} }
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, },
error: function (xhr, status, error) { error: function (xhr, status, error)
{
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
setTimeout(function() { setTimeout(function()
{
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); toastr.warning('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
}) })
});
$(document).ready(function() {
$('#member_welcome_mail_snow_editor').jodit();
}); });
if ($('#myDropdown')[0]) {
document.getElementById("myDropdown").addEventListener("click", function(event) { document.getElementById("myDropdown").addEventListener("click", function(event)
{
// Check if the clicked element is a dropdown item // Check if the clicked element is a dropdown item
if (event.target.classList.contains("dropdown-item")) { if (event.target.classList.contains("dropdown-item"))
const selectedValue = event.target.innerText; // Get the text of the clicked item {
const editor = Jodit.instances["member_remider_mail_snow_editor"]; // Get the Jodit editor instance const selectedValue = event.target.innerText;
editor.selection.insertHTML(selectedValue); // Insert the selected value into the editor's content const editor = Jodit.instances["member_reminder_mail_snow_editor"];
editor.selection.insertHTML(selectedValue);
} }
}); });
}
function snakeCaseToCamelCase(input) { function snakeCaseToCamelCase(input)
return input.split('_').map(function(word, index) { {
// Capitalize first letter of each word return input.split('_').map(function(word, index)
{
return word.charAt(0).toUpperCase() + word.slice(1); return word.charAt(0).toUpperCase() + word.slice(1);
}).join(' '); }).join(' ');
} }
function getMailTemplateData(element){ function getMailTemplateData(element)
{
var template_name = $(element).attr('id'); var template_name = $(element).attr('id');
if (template_name == "member_welcome_mail" || template_name == "member_remider_mail" || template_name == "member_ecard_mail" || template_name == "member_review_and_summary_mail" || template_name == "account_maneger_summary_mail" || template_name == "client_hr_summary_mail") { if (template_name == "member_welcome_mail" || template_name == "member_reminder_mail" || template_name == "member_ecard_mail" || template_name == "member_review_and_summary_mail" || template_name == "account_maneger_summary_mail" || template_name == "client_hr_summary_mail")
{
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
@ -1230,8 +1129,8 @@
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res) {
console.log(res); console.log(res);
if (res)
if (res) { {
$(`#${template_name}_form`).find('#template_name').val(snakeCaseToCamelCase(res.template_name)); $(`#${template_name}_form`).find('#template_name').val(snakeCaseToCamelCase(res.template_name));
$(`#${template_name}_form`).find('#subject').val(res.subject); $(`#${template_name}_form`).find('#subject').val(res.subject);
$(`#${template_name}_form`).find('.jodit-wysiwyg').html(res.mail_content); $(`#${template_name}_form`).find('.jodit-wysiwyg').html(res.mail_content);
@ -1253,12 +1152,4 @@
} }
</script> </script>

View File

@ -18,6 +18,7 @@
cursor: pointer; cursor: pointer;
margin-right: -85px; margin-right: -85px;
} }
.radiobuttondiv { .radiobuttondiv {
margin-left: 32px; margin-left: 32px;
} }
@ -34,10 +35,12 @@
/* border:1px solid; */ /* border:1px solid; */
/* background-color: #0001; */ /* background-color: #0001; */
} }
.form-group-client-policy-masters { .form-group-client-policy-masters {
display: -webkit-box; display: -webkit-box;
max-width: 100% !important; max-width: 100% !important;
} }
.flex-container { .flex-container {
display: block; display: block;
/* flex-wrap: wrap; */ /* flex-wrap: wrap; */
@ -45,8 +48,10 @@
} }
.flex-container>div { .flex-container>div {
flex: 1; /* Each div takes equal space */ flex: 1;
/* Each div takes equal space */
} }
label { label {
padding-top: 7px; padding-top: 7px;
width: 400px; width: 400px;
@ -54,9 +59,11 @@
height: 36px; height: 36px;
/* text-align: center; */ /* text-align: center; */
} }
.jodit-status-bar { .jodit-status-bar {
display: none; display: none;
} }
/* .jodit-container{ /* .jodit-container{
width: 821px !important; width: 821px !important;
margin-top: 3px; margin-top: 3px;
@ -68,15 +75,20 @@
.input-group { .input-group {
width: 64.5% !important; width: 64.5% !important;
} }
.input-group-append-client-policy-master { .input-group-append-client-policy-master {
margin-top: 3px; margin-top: 3px;
} }
.jodit-wysiwyg { .jodit-wysiwyg {
margin-bottom: 162px; margin-bottom: 162px;
} }
.s { .s {
margin-left: 30px; /* margin-left: 30px;
width: 689px; width: 689px; */
margin-left: 141px;
width: 576px;
} }
</style> </style>
@ -165,7 +177,7 @@
<option value="2PIL">Only two parents in law (FIL + MIL)</option> <option value="2PIL">Only two parents in law (FIL + MIL)</option>
<option value="2EPORPIL">Parents or PIL (Any two of Father, Mother, MIl, FIL)</option> <option value="2EPORPIL">Parents or PIL (Any two of Father, Mother, MIl, FIL)</option>
<option value="EPORPIL">Either Parents or PIL (Parents or Parents In Law)</option> <option value="EPORPIL">Either Parents or PIL (Parents or Parents In Law)</option>
<option value="4EPORPIL">Parents + PIL (Father + Mother + MIL + FIL)</option> <option valueCONFLICT="4EPORPIL">Parents + PIL (Father + Mother + MIL + FIL)</option>
</select> </select>
</div> </div>
<div style="margin-top:10px"> <div style="margin-top:10px">
@ -196,6 +208,7 @@
</div> </div>
</div> </div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="totalSumInsured">Waiver of Pre-existing Diseases</label> <label for="totalSumInsured">Waiver of Pre-existing Diseases</label>
@ -249,7 +262,8 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="radio" name="9monthwaitingperiodwaived" class="9monthwaitingperiodwaived" value="1"> Yes, waived off <input type="radio" name="9monthwaitingperiodwaived" class="9monthwaitingperiodwaived" value="1"> Yes, waived off
<input type="radio" name="9monthwaitingperiodwaived" class="9monthwaitingperiodwaived" value="0" style="margin-left:10px"> No </div> <input type="radio" name="9monthwaitingperiodwaived" class="9monthwaitingperiodwaived" value="0" style="margin-left:10px"> No
</div>
</div> </div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
@ -297,7 +311,8 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="radio" name="congenitaldiseasesinternal" class="congenitaldiseasesinternal" value="internal"> Internal Covered <input type="radio" name="congenitaldiseasesinternal" class="congenitaldiseasesinternal" value="internal"> Internal Covered
<input type="radio" name="congenitaldiseasesinternal" class="congenitaldiseasesinternal" value="no" style="margin-left:10px"> No </div> <input type="radio" name="congenitaldiseasesinternal" class="congenitaldiseasesinternal" value="no" style="margin-left:10px"> No
</div>
</div> </div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
@ -307,7 +322,7 @@
<div class="col-md-6"> <div class="col-md-6">
<select name="copayzonewisecopay" id="copayzonewisecopay" class="form-control "> <select name="copayzonewisecopay" id="copayzonewisecopay" class="form-control ">
<option value="">Select an option</option> <option value="">Select an option</option>
<option value="5%">5%</option> <option value="Nil">Nil</option>
<option value="10%">10%</option> <option value="10%">10%</option>
<option value="15%">15%</option> <option value="15%">15%</option>
<option value="20%">20%</option> <option value="20%">20%</option>
@ -404,7 +419,8 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="radio" name="reasonableandcustomarycharges" class="reasonableandcustomarycharges" value="1">Applicable <input type="radio" name="reasonableandcustomarycharges" class="reasonableandcustomarycharges" value="1">Applicable
<input type="radio" name="reasonableandcustomarycharges" class="reasonableandcustomarycharges" value="0" style="margin-left:10px">Not Applicable </div> <input type="radio" name="reasonableandcustomarycharges" class="reasonableandcustomarycharges" value="0" style="margin-left:10px">Not Applicable
</div>
</div> </div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
@ -413,7 +429,8 @@
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="radio" name="daycaretreatment" class="daycaretreatment" value="1"> Yes <input type="radio" name="daycaretreatment" class="daycaretreatment" value="1"> Yes
<input type="radio" name="daycaretreatment" class="daycaretreatment" value="0" style="margin-left:10px"> No </div> <input type="radio" name="daycaretreatment" class="daycaretreatment" value="0" style="margin-left:10px"> No
</div>
</div> </div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
@ -426,6 +443,15 @@
</div> </div>
</div> </div>
<div class="row" style="margin-bottom: 10px;display:none;">
<div class="col-md-6">
<label for="totalSumInsured">AYUSH treatment cover Data</label>
</div>
<div class="col-md-6">
<input type="text" name="ayushTreatmentCoverData" id="ayushTreatmentCoverData" class="form-control">
</div>
</div>
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="totalSumInsured">ARMD Covered</label> <label for="totalSumInsured">ARMD Covered</label>
@ -519,7 +545,7 @@
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="totalSumInsured">Days of Discharge</label> <label for="totalSumInsured">Claim Intimation Clause</label>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="text" id="days_of_discharge" name="days_of_discharge" class="form-control " placeholder="Enter the number of days"> <input type="text" id="days_of_discharge" name="days_of_discharge" class="form-control " placeholder="Enter the number of days">
@ -529,7 +555,7 @@
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="totalSumInsured">Days from DOD</label> <label for="totalSumInsured">Claim Submission</label>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="text" id="days_from_dod" name="days_from_dod" class="form-control " placeholder="Enter the number of days"> <input type="text" id="days_from_dod" name="days_from_dod" class="form-control " placeholder="Enter the number of days">
@ -537,10 +563,30 @@
</div> </div>
</div> </div>
<!-- <hr> --> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6">
<label for="totalSumInsured">Cataract</label>
</div>
<div class="col-md-6">
<input type="radio" name="cataract" class="cataract" value="1"> Yes
<input type="radio" name="cataract" class="cataract" value="0" style="margin-left:10px"> No
</div>
</div>
<div class="row" style="margin-bottom: 10px;display:none;">
<div class="col-md-6">
<label for="totalSumInsured">Cataract Data</label>
</div>
<div class="col-md-6">
<input type="text" name="cataractData" id="cataractData" class="form-control">
</div>
</div>
<hr>
<div class="form-column" id="grid_content_input">
</div>
<!-- <div class="form-row" id="grid_content_input">
</div> -->
<br> <br>
</div> </div>
@ -583,8 +629,37 @@ var grid_html = '';
// } // }
// }); // });
$('input[name="ayudhtreatmentcover"]').change(function() {
console.log($(this).val());
if ($(this).val() == '1') {
var element = $(this).parent().parent().next()[0];
$(element).css("display", "");
} else {
var element = $(this).parent().parent().next()[0];
$(element).css("display", "none");
}
});
$('input[name="cataract"]').change(function() {
console.log($(this).val());
if ($(this).val() == '1') {
var element = $(this).parent().parent().next()[0];
$(element).css("display", "");
} else {
var element = $(this).parent().parent().next()[0];
$(element).css("display", "none");
}
});
$('input[name="waiverofpreexistingdiseases"]').change(function() { $('input[name="waiverofpreexistingdiseases"]').change(function() {
if ($(this).val() == '1') { if ($(this).val() == '1') {
var element = $(this).parent().parent().next()[0]; var element = $(this).parent().parent().next()[0];
$(element).css("display", ""); $(element).css("display", "");
@ -676,7 +751,7 @@ var grid_html = '';
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
@ -702,7 +777,7 @@ var grid_html = '';
$('#gmc_client_policy_id').val(client_policy_id) $('#gmc_client_policy_id').val(client_policy_id)
$('.removeDom').remove();
var gmc_policy_type_id = $(this).attr('id'); var gmc_policy_type_id = $(this).attr('id');
// console.log(gmc_policy_type_id) // console.log(gmc_policy_type_id)
@ -719,7 +794,9 @@ var grid_html = '';
$.ajax({ $.ajax({
url: '<?= base_url("client/policy/getterms") ?>', url: '<?= base_url("client/policy/getterms") ?>',
method: 'GET', method: 'GET',
data: {client_policy_id: client_policy_id}, data: {
client_policy_id: client_policy_id
},
success: function(response) { success: function(response) {
console.log('response', response); console.log('response', response);
@ -732,30 +809,36 @@ var grid_html = '';
$('#nameOfThePolicyInGMC').html(' - ' + response.policy_name.name); $('#nameOfThePolicyInGMC').html(' - ' + response.policy_name.name);
$('gmc_emp_count').val(response.count); $('gmc_emp_count').val(response.count);
console.log('count--1', response.count); // console.log('count--1', response.count);
$('emp_count').val(response.count) // $('emp_count').val(response.count)
if (response && response.hasOwnProperty('count')) { // if (response && response.hasOwnProperty('count')) {
if (response.count === false) { // if (response.count === false) {
console.log('count -- 2', response.count); // console.log('count -- 2', response.count);
console.log(document.getElementById('btnGridSubmit1')) // console.log(document.getElementById('btnGridSubmit1'))
$("#btnGridSubmit1").hide(); // $("#btnGridSubmit1").hide();
$("#myButtonSpecialCondition").hide(); // $("#myButtonSpecialCondition").hide();
} else { // } else {
$("#btnGridSubmit1").show(); // $("#btnGridSubmit1").show();
$("#myButtonSpecialCondition").show(); // $("#myButtonSpecialCondition").show();
console.log('count -- ', response.count); // console.log('count -- ', response.count);
} // }
} else { // } else {
console.error('Response object does not have a "count" property or is invalid.'); // console.error('Response object does not have a "count" property or is invalid.');
} // }
if (response) { if (response) {
if ( response.emp_count_by_policy != 0) {
$('#btnGridSubmit1').hide();
if (response.emp_count_by_policy != 0) {
$('#btnGridSubmit1').hide();
$('#myButtonSpecialCondition').hide(); $('#myButtonSpecialCondition').hide();
} else {
$('#btnGridSubmit1').show();
$('#myButtonSpecialCondition').show();
} }
let jsonObject = JSON.parse(response.data); let jsonObject = JSON.parse(response.data);
Object.keys(jsonObject).forEach(function(key) { Object.keys(jsonObject).forEach(function(key) {
@ -765,11 +848,19 @@ var grid_html = '';
specialCondition(); specialCondition();
} }
} }
console.log('key', key)
let elements = document.getElementsByName(`${key}[]`); let elements = document.getElementsByName(`${key}[]`);
console.log(elements)
if (elements) { if (elements) {
elements.forEach((element, index) => { elements.forEach((element, index) => {
console.log()
if(jsonObject[key][index] == undefined){
element.value = " ";
}else{
element.value = jsonObject[key][index]; element.value = jsonObject[key][index];
}
}); });
} }
} }
@ -777,6 +868,8 @@ var grid_html = '';
if (key.includes("family_floaters")) { if (key.includes("family_floaters")) {
let checkboxes = document.querySelectorAll(`input[name="${key}[]"]`); let checkboxes = document.querySelectorAll(`input[name="${key}[]"]`);
if (jsonObject[key]) { if (jsonObject[key]) {
console.log(jsonObject[key]);
// console.log(jsonObject[key]); // console.log(jsonObject[key]);
if (jsonObject[key].childrens) { if (jsonObject[key].childrens) {
$('#children').val(jsonObject[key].childrens); $('#children').val(jsonObject[key].childrens);
@ -883,6 +976,10 @@ var grid_html = '';
element.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.style.display = ''; element.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.style.display = '';
element.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.style.display = ''; element.parentElement.parentElement.nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.style.display = '';
}else if(element.name === "ayudhtreatmentcover"){
element.parentElement.parentElement.nextElementSibling.style.display = '';
}else if(element.name === "cataract"){
element.parentElement.parentElement.nextElementSibling.style.display = '';
} }
@ -903,9 +1000,14 @@ var grid_html = '';
} }
// console.log(jsonObject[key]); // console.log(jsonObject[key]);
} else { } else {
if(jsonObject[key] == undefined){
element.value = " ";
}else{
element.value = jsonObject[key]; element.value = jsonObject[key];
} }
} }
}
if (key.includes("age_ratio")) { if (key.includes("age_ratio")) {
@ -982,7 +1084,7 @@ var grid_html = '';
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
@ -1050,6 +1152,7 @@ var grid_html = '';
$("#numberToWordGMC").text(""); $("#numberToWordGMC").text("");
} }
}); });
</script> </script>
@ -1071,26 +1174,40 @@ var grid_html = '';
<!-- Policy terms Add Special Condition --> <!-- Policy terms Add Special Condition -->
<script> <script>
document.getElementById('myButtonSpecialCondition').addEventListener('click', function(event) { document.getElementById('myButtonSpecialCondition').addEventListener('click', function(event) {
console.log('specialCondition callback clicked')
event.preventDefault(); event.preventDefault();
specialCondition(); specialCondition();
}); });
function specialCondition(count = 0) { function specialCondition(count = 0) {
console.log('specialCondition function called')
console.log('before if count', count)
if (count === 0) { if (count === 0) {
console.log('after if count', count)
var index = $('.modifyclassinput').length; var index = $('.modifyclassinput').length;
var appendElement = `<div class="form-group col-md-6 form-group-client-policy-masters removeDom"> var appendElement = `<div class="form-group col-md-6 form-group-client-policy-masters removeDom">
<label for="specialconditionlabel" class="special_condition_label[]" style="width: 400px;"><input name="special_condition_label[]" id="special_condition_label[]"><span class="specialConditionClose" style="color: red;margin-left: 20px;">X</span></label> <label for="specialconditionlabel" class="special_condition_label[]" style="width: 450px;position: relative;bottom: 6px;">
<input class="form-control" name="special_condition_label[]" id="special_condition_label[]" style="position: relative;right: 15px;">
<span class="specialConditionClose" style="color: red; float: right;position: relative;bottom: 28px;left: 15px;">X</span>
</label>
<input type="text" name="special_condition_input[]" id="special_condition_input[]" class="form-control s special_condition_input[]"> <input type="text" name="special_condition_input[]" id="special_condition_input[]" class="form-control s special_condition_input[]">
</div>`; </div>`;
console.log($(this));
$('.form-column').each(function() { $('.form-column').each(function() {
$(this).append(appendElement); $(this).append(appendElement);
}); });
} } else {
else{
console.log('else')
} }
} }
@ -1177,5 +1294,4 @@ var grid_html = '';
} }
}) })
</script> </script>

View File

@ -40,8 +40,10 @@
} }
.flex-container>div { .flex-container>div {
flex: 1; /* Each div takes equal space */ flex: 1;
/* Each div takes equal space */
} }
label { label {
padding-top: 7px; padding-top: 7px;
width: 400px; width: 400px;
@ -49,18 +51,23 @@
height: 36px; height: 36px;
/* text-align: center; */ /* text-align: center; */
} }
.jodit-status-bar { .jodit-status-bar {
display: none; display: none;
} }
.input-group { .input-group {
width: 64.5% !important; width: 64.5% !important;
} }
.input-group-append-client-policy-master { .input-group-append-client-policy-master {
margin-top: 3px; margin-top: 3px;
} }
.jodit-wysiwyg { .jodit-wysiwyg {
margin-bottom: 162px; margin-bottom: 162px;
} }
.form-control-client-policy-masters { .form-control-client-policy-masters {
margin-left: 30px; margin-left: 30px;
width: 689px; width: 689px;
@ -79,6 +86,7 @@
<div class="form-group"> <div class="form-group">
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="sumInsured">Sum Insured</label> <label for="sumInsured">Sum Insured</label>
</div> </div>
@ -94,7 +102,7 @@
<div class="row" style="margin-bottom: 10px;"> <div class="row" style="margin-bottom: 10px;">
<div class="col-md-6"> <div class="col-md-6">
<label for="totalSumInsured">Total Sum Insured</label> <label for="totalSumInsured">Total Sum Assured</label>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<input type="text" style="width: 100% !important;" class="form-control" name="totalSumInsured" id="totalSumInsured" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)"> <input type="text" style="width: 100% !important;" class="form-control" name="totalSumInsured" id="totalSumInsured" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)">
@ -316,10 +324,17 @@
<input type="radio" name="worldwideCover" value="0" style="margin-left:10px" checked> No <input type="radio" name="worldwideCover" value="0" style="margin-left:10px" checked> No
</div> </div>
</div> </div>
</div>
<hr>
<div class="gpa_special_condition">
</div> </div>
<br> <br>
<div class="form-group text-right m-b-0" style="margin-top: -49px;"> <div class="form-group text-right m-b-0" style="margin-top: -49px;">
<a href="#" class="button-like" id="gpaButtonSpecialCondition" title="Special Condition">Special Condition</a>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGPATermsSubmit" style="margin-top: 100px;">Submit</button> <button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnGPATermsSubmit" style="margin-top: 100px;">Submit</button>
</div> </div>
</div> </div>
@ -445,6 +460,7 @@
processData: false, processData: false,
contentType: false, contentType: false,
success: function(res) { success: function(res) {
$('#policyGPATerms')[0].reset(); $('#policyGPATerms')[0].reset();
$('.text-danger-2').html(''); $('.text-danger-2').html('');
console.log(res); console.log(res);
@ -474,7 +490,7 @@
$('.nav.nav-pills.navtab-bg').css('display', ''); $('.nav.nav-pills.navtab-bg').css('display', '');
$('.nav.nav-pills.navtab-bg').prev().css('display', ''); $('.nav.nav-pills.navtab-bg').prev().css('display', '');
var message = 'Policy Terms Updated successfully'; var message = 'Policy Terms Updated successfully';
toastr.success('message', 'Success'); toastr.success(message, 'Success');
}, 1000); }, 1000);
}); });
@ -487,6 +503,8 @@
$('#gpa_client_policy_id').val(client_policy_id); $('#gpa_client_policy_id').val(client_policy_id);
var gpa_policy_type_id = $(this).attr('id'); var gpa_policy_type_id = $(this).attr('id');
// console.log('gpa_policy_type_id', gpa_policy_type_id) // console.log('gpa_policy_type_id', gpa_policy_type_id)
@ -504,11 +522,13 @@
$.ajax({ $.ajax({
url: '<?= base_url("client/policy/getterms") ?>', url: '<?= base_url("client/policy/getterms") ?>',
method: 'GET', method: 'GET',
data: {client_policy_id: client_policy_id}, data: {
client_policy_id: client_policy_id
},
success: function(res) { success: function(res) {
console.log(res); console.log(res);
console.log('count', res.count); console.log('count', res.emp_count_by_policy);
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
@ -517,15 +537,40 @@
$('#emp_count').val(res.count) $('#emp_count').val(res.count)
if(res.count === false){ if (res.emp_count_by_policy != 0) {
$("#btnGPATermsSubmit").hide(); $("#btnGPATermsSubmit").hide();
$("#gpaButtonSpecialCondition").hide();
} else { } else {
$("#btnGPATermsSubmit").show(); $("#btnGPATermsSubmit").show();
$("#gpaButtonSpecialCondition").show();
} }
if (res) { if (res) {
let gpaJsonObjectForSpecialCondition = JSON.parse(res.data);
Object.keys(gpaJsonObjectForSpecialCondition).forEach(function(key) {
if (key.includes("gpa_special_condition_label") || key.includes("gpa_special_condition_input")) {
if (key.includes("gpa_special_condition_label")) {
for (let index = 0; index < gpaJsonObjectForSpecialCondition[key].length; index++) {
specialConditionForGPA();
}
}
let elements = document.getElementsByName(`${key}[]`);
if (elements) {
elements.forEach((element, index) => {
if(gpaJsonObjectForSpecialCondition[key][index] == undefined){
element.value = " ";
}else{
element.value = gpaJsonObjectForSpecialCondition[key][index];
}
});
}
}
});
let jsonObject = JSON.parse(res.data); let jsonObject = JSON.parse(res.data);
$("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2)); $("#numberToWordSumInsured").text(convertCommaNumberToWords(jsonObject.sumInsured2));
$("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured)); $("#numberToWordTotalSumInsured").text(convertCommaNumberToWords(jsonObject.totalSumInsured));
@ -566,10 +611,15 @@
} }
} else {
if(jsonObject[key] == undefined){
element.value = " ";
}else{ }else{
element.value = jsonObject[key]; element.value = jsonObject[key];
} }
} }
}
if (key.includes("age_ratio")) { if (key.includes("age_ratio")) {
console.log("-------------------------"); console.log("-------------------------");
@ -595,7 +645,7 @@
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning');
}, 1000); }, 1000);
} }
}); });
@ -611,6 +661,47 @@
<script> <script>
document.getElementById('gpaButtonSpecialCondition').addEventListener('click', function(event) {
console.log('specialConditionForGPA callback clicked')
event.preventDefault();
specialConditionForGPA();
});
function specialConditionForGPA(count = 0) {
console.log('specialConditionForGPA function called')
console.log('before if count', count)
if (count === 0) {
console.log('after if count', count)
var index = $('.modifyclassinput').length;
var appendElement = `<div class="form-group col-md-6 form-group-client-policy-masters removeDom">
<label for="specialconditionlabel" class="special_condition_label[]" style="width: 450px;position: relative;bottom: 6px;">
<input class="form-control" name="gpa_special_condition_label[]" id="gpa_special_condition_label[]" style="position: relative;right: 15px;">
<span class="specialConditionClose" style="color: red; float: right;position: relative;bottom: 28px;left: 15px;">X</span>
</label>
<input type="text" name="gpa_special_condition_input[]" id="gpa_special_condition_input[]" class="form-control s special_condition_input[]">
</div>`;
console.log($(this));
$('.gpa_special_condition').each(function() {
$(this).append(appendElement);
});
} else {
console.log('else')
}
}
$(document).on('click', '#policyGPATermsClose', function() { $(document).on('click', '#policyGPATermsClose', function() {
$('#policyGPATermsForm').css('display', 'none'); $('#policyGPATermsForm').css('display', 'none');
$('#police-tab').css('display', ''); $('#police-tab').css('display', '');

View File

@ -27,7 +27,7 @@
</select> </select>
</div> </div>
<div class="form-group col-md-4" style="position: relative; left: 45px;display:none" id="premium_type"> <!-- <div class="form-group col-md-4" style="position: relative; left: 45px;display:none" id="premium_type">
<label for="css"> Premium Calculation </label> <label for="css"> Premium Calculation </label>
<div style="display: flex; align-items: center;"> <div style="display: flex; align-items: center;">
<input type="radio" id="individual" name="premium_type" value="2"> <input type="radio" id="individual" name="premium_type" value="2">
@ -35,8 +35,7 @@
<input type="radio" id="single" name="premium_type" value="1"> <input type="radio" id="single" name="premium_type" value="1">
<label for="single" style="position: relative;top: 5px;left: 5px;"> Single Insurance </label> <label for="single" style="position: relative;top: 5px;left: 5px;"> Single Insurance </label>
</div> </div>
</div> </div> -->
</div> </div>
@ -70,7 +69,6 @@ $('.close').click(function() {
for (var i = 1; i <= 13; i++) { for (var i = 1; i <= 13; i++) {
$('#grid_' + i).remove(); $('#grid_' + i).remove();
} }
}); });
@ -87,7 +85,6 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
var selectElement = event.target; var selectElement = event.target;
var selectedOption = selectElement.options[selectElement.selectedIndex]; var selectedOption = selectElement.options[selectElement.selectedIndex];
dataIdValue = selectedOption.getAttribute('data-id'); dataIdValue = selectedOption.getAttribute('data-id');
// console.log('dataIdValue', dataIdValue) // console.log('dataIdValue', dataIdValue)
} }
@ -100,20 +97,59 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
grid_html = ` grid_html = `
<div class="form-row" id="grid_1"> <div class="form-row" id="grid_1">
<input value="1" type="hidden" name="policy_type"> <input value="1" type="hidden" name="policy_type">
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="mobile">Select <span class="text-danger">*</span></label> <label for="mobile">Select <span class="text-danger">*</span></label>
<select class="form-control" id="si_or_bp" name="si_or_bp" onchange="si_orbp_change_function()" required> <select class="form-control" id="si_or_bp" name="si_or_bp" onchange="si_orbp_change_function()" required>
<option value="2">Basic Pay</option> <option value="2">Basic Pay</option>
<option value="1">Sum Insured</option> <option value="1">Sum Insured</option>
<option value="3">Band/Grade</option>
</select> </select>
</div> </div>
<div id="si_or_bp_full_div" style="display:none">
<div id="si_or_bp_full_div" style="display:none;">
<div id="si_or_bp_grade" class="form-row">
<div class="form-row col-md-4" style="margin-left: 346px; margin-top: -114px;">
<label for="mobile">Premium Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.multiplier : '') : ''}" type="text" class="form-control" placeholder="Multiplier" name="gpa_sum_multiplier2" id="gpa_sum_multiplier2" onkeyup="gpaSumInsureMultiplier(this)" required>
</div>
<div class="form-row" style="width:101%;padding: 10px;" id="removeChild_${Count}">
<div class="form-group col-md-2" id="">
<label for="mobile">Band/Grade<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.grade : '') : ''}" type="text" class="form-control" placeholder="Enter Band/Grade" name="gpa_band[]" id="gpa_band" required>
</div>
<div class="form-group col-md-4" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si2[]" id="gpa_sum_si2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='gpa_sum_si_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-4">
<label for="mobile">Premium<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.premium : '') : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium2[]" id="gpa_sum_premium2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='gpa_sum_premium_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-4" style="position: absolute;left: 870px;">
<button style="margin-top: 44px;position: relative;right: 0px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton()">x</button>
<button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more2" onclick="appendGridtHtml('1')">+</button>
</div>
</div>
<div id="si_or_bp_sum_insure_child"></div>
</div>
<div id="si_or_bp_sum_insure" class="form-row"> <div id="si_or_bp_sum_insure" class="form-row">
<div class="form-row col-md-4" style="margin-left: 323px; margin-top: -114px;">
<label for="mobile">Multiplier<span class="text-danger">*</span></label> <div class="form-row col-md-4" style="margin-left: 346px; margin-top: -114px;">
<label for="mobile">Premium Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.multiplier : '') : ''}" type="text" class="form-control" placeholder="Multiplier" name="gpa_sum_multiplier" id="gpa_sum_multiplier" onkeyup="gpaSumInsureMultiplier(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.multiplier : '') : ''}" type="text" class="form-control" placeholder="Multiplier" name="gpa_sum_multiplier" id="gpa_sum_multiplier" onkeyup="gpaSumInsureMultiplier(this)" required>
</div> </div>
<div class="form-row" style="width:84%" id="removeChild_${Count}"> <div class="form-row" style="width:101%;padding: 10px;" id="removeChild_${Count}">
<div class="form-group col-md-4" id=""> <div class="form-group col-md-4" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label> <label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '1' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
@ -125,40 +161,51 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
<div id='gpa_sum_premium_number_word' class="text-danger-2" ></div> <div id='gpa_sum_premium_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-group col-md-4"> <div class="form-group col-md-4" style="position: relative;right: 6px;">
<button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(${Count})">x</button> <button style="margin-top: 44px;position: relative;right: 0px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton()">x</button>
<button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more_${Count}" onclick="appendGridtHtml('1')">+</button> <button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more" onclick="appendGridtHtml('1')">+</button>
</div> </div>
</div> </div>
<div id="si_or_bp_sum_insure_child"></div> <div id="si_or_bp_sum_insure_child"></div>
</div> </div>
<div id="si_or_bp_basic_pay" class="form-row"> <div id="si_or_bp_basic_pay" class="form-row">
<div class="form-row" style="margin-left: 301px;/* margin-bottom: -106px; */margin-top: -97px;">
<div class="form-col col-md-4"> <div class="form-row" style="margin-left: 347px;/* margin-bottom: -106px; */margin-top: -97px;">
<label for="mobile">Basic Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.basic_multiplier : '') : ''}" type="text" class="form-control" placeholder="Multiplier" name="basic_multiplier" id="basic_multiplier" onkeyup='basicPayMultiple(this)' required> <div class="form-col col-md-6">
</div>
<div class="form-col col-md-4">
<label for="mobile">Premium Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.multiplier : '') : ''}" type="text" class="form-control" placeholder="Multiplier" name="premium_multiplier" id="premium_multiplier" onkeyup='basicPayMultiple(this)'required>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4" id="" style="width:84%">
<label for="mobile">Basic Pay<span class="text-danger">*</span></label> <label for="mobile">Basic Pay<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.basic_pay : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="basic_pay" id="basic_pay" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.basic_pay : '') : ''}" type="text" class="form-control" placeholder="Enter Basic Pay" name="basic_pay" id="basic_pay" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='gpa_basic_pay_number_word' class="text-danger-2" ></div> <div id='gpa_basic_pay_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-group col-md-4" id="">
<div class="form-col col-md-6">
<label for="mobile">Basic Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.basic_multiplier : '') : ''}" type="text" class="form-control" placeholder="Basic Multiplier" name="basic_multiplier" id="basic_multiplier" onkeyup='basicPayMultiple(this)' required>
</div>
</div>
<div class="form-row" style="padding: 10px;">
<div class="form-group col-md-4" id="" style="width:84%">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label> <label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_basic_si" id="gpa_basic_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_basic_si" id="gpa_basic_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='basic_gpa_si_number_word' class="text-danger-2" ></div> <div id='basic_gpa_si_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-col col-md-4">
<label for="mobile">Premium Multiplier<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.multiplier : '') : ''}" type="text" class="form-control" placeholder="Premium Multiplier" name="premium_multiplier" id="premium_multiplier" onkeyup='basicPayMultiple(this)'required>
</div>
<div class="form-group col-md-4"> <div class="form-group col-md-4">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.premium : '') : ''}" type="text" class="form-control basic_gpa_premium" placeholder="Enter Premium" name="gpa_basic_premium" id="gpa_basic_premium" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '2' ? data.premium : '') : ''}" type="text" class="form-control basic_gpa_premium" placeholder="Enter Premium" name="gpa_basic_premium" id="gpa_basic_premium" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='basic_gpa_premium_number_word' class="text-danger-2" ></div> <div id='basic_gpa_premium_number_word' class="text-danger-2" ></div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -225,11 +272,11 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="4_age_from[]" id="4_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="4_age_from[]" id="4_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="4_age_to[]" id="4_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="4_age_to[]" id="4_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -259,11 +306,11 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="5_age_from[]" id="5_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="5_age_from[]" id="5_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="5_age_to[]" id="5_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="5_age_to[]" id="5_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -285,19 +332,19 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
grid_html = ` grid_html = `
<div class="form-row" id="grid_6" style="width:84%"> <div class="form-row" id="grid_6" style="width:84%">
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label> <label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="6_si[]" id="6_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="6_si" id="6_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='sum_insured_number_word' class="text-danger-2" ></div> <div id='sum_insured_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-group col-md-2"> <div class="form-row">
<div class="form-group col-md-3">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="6_age_from[]" id="6_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="6_age_from[]" id="6_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-3">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="6_age_to[]" id="6_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="6_age_to[]" id="6_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -308,7 +355,7 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
<button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(0,6)">x</button> <button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(0,6)">x</button>
<button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more" onclick="appendGridtHtml(6)">+</button> <button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more" onclick="appendGridtHtml(6)">+</button>
</div> </div>
</div>
</div>`; </div>`;
} else if (dataIdValue == '7') { } else if (dataIdValue == '7') {
@ -327,11 +374,11 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="7_age_from[]" id="7_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="7_age_from[]" id="7_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="7_age_to[]" id="7_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="7_age_to[]" id="7_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -412,11 +459,11 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="10_age_from[]" id="10_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="10_age_from[]" id="10_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="10_age_to[]" id="10_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="10_age_to[]" id="10_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -454,7 +501,8 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">Max SI<span class="text-danger">*</span></label> <label for="mobile">Max SI<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.max_si : ''}" type="text" class="form-control" placeholder="Enter Max SI" name="11_max_si[]" id="11_max_si" required> <input value="${data !== false && data !== undefined && data !== '' ? data.max_si : ''}" type="text" class="form-control" placeholder="Enter Max SI" name="11_max_si[]" id="11_max_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='max_si_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(0,11)">x</button> <button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(0,11)">x</button>
@ -516,11 +564,11 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="13_age_from[]" id="13_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="13_age_from[]" id="13_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="13_age_to[]" id="13_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="13_age_to[]" id="13_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">Relationship<span class="text-danger">*</span></label> <label for="mobile">Relationship<span class="text-danger">*</span></label>
@ -559,11 +607,14 @@ function addGridHTML(event = false, data = false, ui_type = false, si_or_bp = fa
if (dataIdValue == '1') { if (dataIdValue == '1') {
$('#gpa_sum_si').trigger('keyup'); $('#gpa_sum_si').trigger('keyup');
$('#gpa_sum_si2').trigger('keyup');
// $('input[name="gpa_sum_si[]"]').each(function() { // $('input[name="gpa_sum_si[]"]').each(function() {
// console.log($(this)); // console.log($(this));
// $(this).trigger('keyup'); // $(this).trigger('keyup');
// }); // });
} }
$('#gpa_sum_insured').hide(); $('#gpa_sum_insured').hide();
$('#btnGridSubmit').show(); $('#btnGridSubmit').show();
@ -684,18 +735,19 @@ $('body').on('click', '.btnPolicyModel', function() {
$('#GridForm')[0].reset(); $('#GridForm')[0].reset();
if(res.family_floater == 1){ // if(res.family_floater == 1){
$('#premium_type').show(); // $('#premium_type').show();
$('#individual').prop('checked', true) // $('#individual').prop('checked', true)
}else{ // }else{
$('#premium_type').hide(); // $('#premium_type').hide();
$('#individual').prop('checked', false) // $('#individual').prop('checked', false)
} // }
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
}, 1000); }, 1000);
console.log('policy grid responce', res); console.log('policy grid responce', res);
var temp_for_premiumData = JSON.parse(res.premiumData); var temp_for_premiumData = JSON.parse(res.premiumData);
console.log('policy grid responce', temp_for_premiumData); console.log('policy grid responce', temp_for_premiumData);
@ -736,29 +788,30 @@ $('body').on('click', '.btnPolicyModel', function() {
}); });
$('#grid').html(policeGridOptionHTML); $('#grid').html(policeGridOptionHTML);
if (res.premiumData[0].hasOwnProperty('premium_type')) { // if (res.premiumData[0].hasOwnProperty('premium_type')) {
if (res.premiumData[0].premium_type == '2') { // if (res.premiumData[0].premium_type == '2') {
$('#individual').prop('checked', true) // $('#individual').prop('checked', true)
$('#single').prop('checked', false) // $('#single').prop('checked', false)
} else if (res.premiumData[0].premium_type == '1') { // } else if (res.premiumData[0].premium_type == '1') {
$('#single').prop('checked', true) // $('#single').prop('checked', true)
$('#individual').prop('checked', false) // $('#individual').prop('checked', false)
} else { // } else {
$('#single').prop('checked', false) // $('#single').prop('checked', false)
$('#individual').prop('checked', false) // $('#individual').prop('checked', false)
} // }
} // }
var si_or_bp_value = ''; var si_or_bp_value = '';
if (res.premiumData && res.premiumData.length > 0) { if (res.premiumData && res.premiumData.length > 0) {
if (res.premiumData[0].si_or_bp) { if (res.premiumData[0].si_or_bp) {
si_or_bp_value = res.premiumData[0].si_or_bp; si_or_bp_value = res.premiumData[0].si_or_bp;
} }
@ -791,10 +844,18 @@ $('body').on('click', '.btnPolicyModel', function() {
$(this).trigger('keyup'); $(this).trigger('keyup');
}); });
$('input[name="gpa_sum_si2[]"]').each(function() {
$(this).trigger('keyup');
});
$('input[name="gpa_sum_premium[]"]').each(function() { $('input[name="gpa_sum_premium[]"]').each(function() {
$(this).trigger('keyup'); $(this).trigger('keyup');
}); });
$('input[name="11_max_si[]"]').each(function() {
$(this).trigger('keyup');
});
var id_for_trigger = temp_for_premiumData[0].policy_grid_id; var id_for_trigger = temp_for_premiumData[0].policy_grid_id;
$(`input[name="${id_for_trigger}_si[]"]`).each(function() { $(`input[name="${id_for_trigger}_si[]"]`).each(function() {
console.log($(this)); console.log($(this));
@ -805,6 +866,7 @@ $('body').on('click', '.btnPolicyModel', function() {
console.log($(this)); console.log($(this));
$(this).trigger('keyup'); $(this).trigger('keyup');
}); });
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
@ -934,13 +996,26 @@ var Count = 1
function appendGridtHtml(ui_type = false, data = false, ) { function appendGridtHtml(ui_type = false, data = false, ) {
console.log('appendGridtHtml function called')
console.log(ui_type)
console.log(data)
var html = ''; var html = '';
// console.log('Grid Content',data) // console.log('Grid Content',data)
Count++; Count++;
var container = document.getElementById('grid_content_input'); var container = document.getElementById('grid_content_input');
if (ui_type == '1') { if (ui_type == '1') {
html = `<div class="form-row gpa_sum_insure_remove" style="width:84%" id="removeChild_${Count}">
console.log('step 1')
var currentTime = getCurrentTime();
console.log(currentTime);
if($("#si_or_bp").val() == 1 || data.si_or_bp == '1'){
console.log('step 2')
html = `<div class="form-row gpa_sum_insure_remove" style="width:101%" id="removeChild_${Count}">
<div class="form-group col-md-4" id=""> <div class="form-group col-md-4" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label> <label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required> <input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si[]" id="gpa_sum_si" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
@ -957,6 +1032,40 @@ function appendGridtHtml(ui_type = false, data = false, ) {
<button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more_${Count}" onclick="appendGridtHtml('1')">+</button> <button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more_${Count}" onclick="appendGridtHtml('1')">+</button>
</div> </div>
</div>`; </div>`;
}else if($("#si_or_bp").val() == 3 || data.si_or_bp == '3'){
console.log('step 3')
html = `<div class="form-row gpa_band_remove" style="width:101%" id="removeChild_${Count}">
<div class="form-group col-md-2" id="">
<label for="mobile">Band/Grade<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.grade : '') : ''}" type="text" class="form-control" placeholder="Enter Band/Grade" name="gpa_band[]" id="gpa_band" required>
</div>
<div class="form-group col-md-4" id="">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.si : '') : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="gpa_sum_si2[]" id="gpa_sum_si2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='gpa_si_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-4">
<label for="mobile">Premium<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? (data.si_or_bp == '3' ? data.premium : '') : ''}" type="text" class="form-control" placeholder="Enter Premium" name="gpa_sum_premium2[]" id="gpa_sum_premium2" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='gpa_premium_number_word' class="text-danger-2" ></div>
</div>
<div class="form-group">
<button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(${Count})">x</button>
<button style="margin-top: 44px;" type="button" class="btn btn-primary" id="gmc_add_more_${Count}" onclick="appendGridtHtml('1')">+</button>
</div>
</div>`;
}
console.log('step 4')
} else if (ui_type == '3') { } else if (ui_type == '3') {
html = ` html = `
@ -985,11 +1094,11 @@ function appendGridtHtml(ui_type = false, data = false, ) {
<div class="form-row" id="removeChild_${Count}" style="width:84%"> <div class="form-row" id="removeChild_${Count}" style="width:84%">
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="4_age_from[]" id="4_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="4_age_from[]" id="4_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="4_age_to[]" id="4_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter To Age" name="4_age_to[]" id="4_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -1014,11 +1123,11 @@ function appendGridtHtml(ui_type = false, data = false, ) {
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="5_age_from[]" id="5_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="5_age_from[]" id="5_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="5_age_to[]" id="5_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="5_age_to[]" id="5_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -1035,19 +1144,13 @@ function appendGridtHtml(ui_type = false, data = false, ) {
html = ` html = `
<div class="form-row" id="removeChild_${Count}" style="width:84%"> <div class="form-row" id="removeChild_${Count}" style="width:84%">
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Sum Insured<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.si : ''}" type="text" class="form-control" placeholder="Enter Sum Insured" name="6_si[]" id="6_si_${Count}" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)"required>
<div id='sum_insured_number_word_${Count}' class="text-danger-2" ></div>
</div>
<div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="6_age_from[]" id="6_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="6_age_from[]" id="6_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-3">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="6_age_to[]" id="6_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="6_age_to[]" id="6_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -1071,11 +1174,11 @@ function appendGridtHtml(ui_type = false, data = false, ) {
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="7_age_from[]" id="7_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="7_age_from[]" id="7_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="7_age_to[]" id="7_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="7_age_to[]" id="7_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -1147,11 +1250,11 @@ function appendGridtHtml(ui_type = false, data = false, ) {
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="10_age_from[]" id="10_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="10_age_from[]" id="10_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="10_age_to[]" id="10_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="10_age_to[]" id="10_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-3"> <div class="form-group col-md-3">
<label for="mobile">Premium<span class="text-danger">*</span></label> <label for="mobile">Premium<span class="text-danger">*</span></label>
@ -1184,7 +1287,8 @@ function appendGridtHtml(ui_type = false, data = false, ) {
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">Max SI<span class="text-danger">*</span></label> <label for="mobile">Max SI<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.max_si : ''}" type="text" class="form-control" placeholder="Enter Max SI" name="11_max_si[]" id="11_max_si[]" required> <input value="${data !== false && data !== undefined && data !== '' ? data.max_si : ''}" type="text" class="form-control" placeholder="Enter Max SI" name="11_max_si[]" id="11_max_si[]" onkeypress = "return onlyNumbers(event)" onkeyup="formatNumber(this)" required>
<div id='max_si_number_word' class="text-danger-2" ></div>
</div> </div>
<div class="form-group"> <div class="form-group">
<button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(${Count})">x</button> <button style="margin-top: 44px;" type="button" class="btn btn-danger" id="gmc_remove" onclick="removebutton(${Count})">x</button>
@ -1234,11 +1338,11 @@ function appendGridtHtml(ui_type = false, data = false, ) {
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">From Age<span class="text-danger">*</span></label> <label for="mobile">From Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="13_age_from[]" id="13_age_from" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_from : ''}" type="text" class="form-control" placeholder="Enter From Age" name="13_age_from[]" id="13_age_from" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">To Age<span class="text-danger">*</span></label> <label for="mobile">To Age<span class="text-danger">*</span></label>
<input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter TO Age" name="13_age_to[]" id="13_age_to" required> <input value="${data !== false && data !== undefined && data !== '' ? data.age_to : ''}" type="text" class="form-control" placeholder="Enter To Age" name="13_age_to[]" id="13_age_to" onkeypress = "return onlyNumbers(event)" required>
</div> </div>
<div class="form-group col-md-2"> <div class="form-group col-md-2">
<label for="mobile">Relationship<span class="text-danger">*</span></label> <label for="mobile">Relationship<span class="text-danger">*</span></label>
@ -1266,9 +1370,12 @@ function appendGridtHtml(ui_type = false, data = false, ) {
} }
// console.log('html', html)
container.insertAdjacentHTML('beforeend', html); container.insertAdjacentHTML('beforeend', html);
$('#gmc_add_more').hide(); $('#gmc_add_more').hide();
$('#gmc_add_more2').hide();
$('#gmc_remove').show(); $('#gmc_remove').show();
Count-- Count--
$('#gmc_add_more_' + Count).hide() $('#gmc_add_more_' + Count).hide()
@ -1307,16 +1414,20 @@ function removebutton(index, type) {
if (count == 2) { if (count == 2) {
$('#gmc_add_more').show(); $('#gmc_add_more').show();
$('#gmc_add_more2').show();
} }
index--; index--;
$('#gmc_add_more_' + index).show(); $('#gmc_add_more_' + index).show();
$('#gmc_add_more2_' + index).show();
} }
} }
function checkDuplicate() { function checkDuplicate() {
if ($('#grid')[0].value === '3') { if ($('#grid')[0].value === '3') {
var siInputs = $('input[name="3_si[]"]'); var siInputs = $('input[name="3_si[]"]');
var premiumInputs = $('input[name="3_premium[]"]'); var premiumInputs = $('input[name="3_premium[]"]');
@ -1634,10 +1745,110 @@ function checkDuplicate() {
} else { } else {
return false; return false;
} }
}else if ($('#grid')[0].value === '1') {
var selectedValue = $('#si_or_bp').val();
if(selectedValue == 1){
var siInputs = $('input[name="gpa_sum_si[]"]');
var premiumInputs = $('input[name="gpa_sum_premium[]"]');
var siValues = [];
var premiumValues = [];
var siDuplicates = false;
var premiumDuplicates = false;
// Extract values from input arrays
siInputs.each(function() {
siValues.push($(this).val());
});
premiumInputs.each(function() {
premiumValues.push($(this).val());
});
for (var i = 0; i < siValues.length; i++) {
for (var j = i + 1; j < siValues.length; j++) {
if (siValues[i] === siValues[j]) {
siDuplicates = true;
}
}
}
console.log('siValues', siValues);
console.log('premiumValues', premiumValues);
console.log('siDuplicates', siDuplicates);
console.log('premiumDuplicates', premiumDuplicates);
if (siDuplicates || premiumDuplicates) {
toastr.warning('Duplicates found!', 'warning');
return true;
} else {
return false;
}
}else if(selectedValue == 3){
var siInputs = $('input[name="gpa_sum_si2[]"]');
var premiumInputs = $('input[name="gpa_sum_premium2[]"]');
var bandInputs = $('input[name="gpa_band[]"]');
var siValues = [];
var premiumValues = [];
var bandValues = [];
var siDuplicates = false;
var premiumDuplicates = false;
var bandDuplicates = false;
// Extract values from input arrays
siInputs.each(function() {
siValues.push($(this).val());
});
premiumInputs.each(function() {
premiumValues.push($(this).val());
});
bandInputs.each(function() {
bandValues.push($(this).val());
});
for (var i = 0; i < siValues.length; i++) {
for (var j = i + 1; j < siValues.length; j++) {
if (siValues[i] === siValues[j]) {
siDuplicates = true;
}
}
}
for (var i = 0; i < bandValues.length; i++) {
for (var j = i + 1; j < bandValues.length; j++) {
if (bandValues[i] === bandValues[j]) {
bandDuplicates = true;
}
}
}
console.log('siValues', siValues);
console.log('premiumValues', premiumValues);
console.log('bandValues', bandValues);
console.log('siDuplicates', siDuplicates);
console.log('premiumDuplicates', premiumDuplicates);
console.log('bandDuplicates', bandDuplicates);
if (siDuplicates || bandDuplicates || premiumDuplicates) {
toastr.warning('Duplicates found!', 'warning');
return true;
} else {
return false;
}
}
} }
} }
function basicPayMultiple(input) { function basicPayMultiple(input) {
if (input.id == 'basic_pay') { if (input.id == 'basic_pay') {
var multi = $('#basic_multiplier')[0].value.replace(/,/g, '') * input.value.replace(/,/g, ''); var multi = $('#basic_multiplier')[0].value.replace(/,/g, '') * input.value.replace(/,/g, '');
@ -1647,23 +1858,21 @@ function basicPayMultiple(input) {
''); '');
$('#gpa_basic_premium').val(multi_2).trigger('keyup'); $('#gpa_basic_premium').val(multi_2).trigger('keyup');
} else if (input.id == 'basic_multiplier') {
var multi = input.value * $('#basic_pay')[0].value.replace(/,/g, '');
} else if (input.id == 'basic_multiplier') {
var multi = input.value * $('#basic_pay')[0].value.replace(/,/g, '');
$('#gpa_basic_si').val(multi).trigger('keyup'); $('#gpa_basic_si').val(multi).trigger('keyup');
var multi_2 = $('#gpa_basic_si')[0].value.replace(/,/g, '') * $('#premium_multiplier')[0].value.replace(/,/g,'');
var multi_2 = $('#gpa_basic_si')[0].value.replace(/,/g, '') * $('#premium_multiplier')[0].value.replace(/,/g,
'');
$('#gpa_basic_premium').val(multi_2).trigger('keyup'); $('#gpa_basic_premium').val(multi_2).trigger('keyup');
} else if (input.id == 'premium_multiplier') { } else if (input.id == 'premium_multiplier') {
var multi = input.value.replace(/,/g, '') * $('#gpa_basic_si')[0].value.replace(/,/g, ''); var multi = input.value.replace(/,/g, '') / 1000 * $('#gpa_basic_si')[0].value.replace(/,/g, '');
$('#gpa_basic_premium').val(multi).trigger('keyup'); $('#gpa_basic_premium').val(multi).trigger('keyup');
} else if (input.id == 'gpa_basic_si') { } else if (input.id == 'gpa_basic_si') {
var multi = input.value.replace(/,/g, '') * $('#premium_multiplier')[0].value.replace(/,/g, ''); var multi = input.value.replace(/,/g, '') * $('#premium_multiplier')[0].value.replace(/,/g, '');
@ -1673,36 +1882,63 @@ function basicPayMultiple(input) {
} }
function gpaSumInsureMultiplier(element) { function gpaSumInsureMultiplier(element) {
console.log(element); console.log(element);
var element = $('#gpa_sum_multiplier')[0]; var element = $('#gpa_sum_multiplier')[0];
var sumInsured = $('input[name="gpa_sum_si[]"]'); var sumInsured = $('input[name="gpa_sum_si[]"]');
if ($('#si_or_bp').val() == 3) {
var element = $('#gpa_sum_multiplier2')[0]
var sumInsured = $('input[name="gpa_sum_si2[]"]')
}
// console.log('sumInsured', sumInsured);
if ($('#si_or_bp').val() == 2) { if ($('#si_or_bp').val() == 2) {
var premium = $('input[name="premium[]"]'); var premium = $('input[name="premium[]"]');
} else if ($('#si_or_bp').val() == 3) {
var premium = $('input[name="gpa_sum_premium2[]"]');
}else { }else {
var premium = $('input[name="gpa_sum_premium[]"]'); var premium = $('input[name="gpa_sum_premium[]"]');
} }
// console.log(premium);
sumInsured.each(function(index) { sumInsured.each(function(index) {
var siValue = $(this).val().replace(/,/g, ''); var siValue = $(this).val().replace(/,/g, '');
var premiumValue = siValue * element.value; // console.log('siValue', siValue);
var premiumValue = (siValue / 1000) * element.value;
// console.log('premiumValue', premiumValue);
var premiumValuedata = premium[index]; var premiumValuedata = premium[index];
// console.log('premiumValuedata', premiumValuedata);
if (premiumValuedata) { if (premiumValuedata) {
premiumValuedata.value = Math.floor(premiumValue); premiumValuedata.value = Math.floor(premiumValue);
} }
// premium[index].value = Math.floor(premiumValue); // premium[index].value = Math.floor(premiumValue);
$(premium[index]).trigger('keyup'); $(premium[index]).trigger('keyup');
// premium.eq(index).val(Math.floor(premiumValue)); // premium.eq(index).val(Math.floor(premiumValue));
}); });
} }
function si_orbp_change_function() { function si_orbp_change_function() {
// $('.gpa_sum_insure_remove').remove();
var selectedValue = $('#si_or_bp').val(); var selectedValue = $('#si_or_bp').val();
if (selectedValue == 2) { if (selectedValue == 2) {
$('.gpa_sum_insure_remove').hide();
$('.gpa_band_remove').hide();
$('#si_or_bp_full_div').css({ $('#si_or_bp_full_div').css({
'display': '', 'display': '',
}); });
@ -1712,10 +1948,20 @@ function si_orbp_change_function() {
$('#si_or_bp_basic_pay').css({ $('#si_or_bp_basic_pay').css({
'display': '' 'display': ''
}); });
$('#si_or_bp_grade').css({
'display': 'none'
});
$('#gpa_sum_multiplier').removeAttr('required', false);
$('#gpa_sum_si').removeAttr('required', false);
$('#gpa_sum_premium').removeAttr('required', false);
$('#gpa_sum_multiplier2').removeAttr('required', false);
$('#gpa_sum_si2').removeAttr('required', false);
$('#gpa_band').removeAttr('required', false);
$('#gpa_sum_premium2').removeAttr('required', false);
$('#gpa_sum_multiplier').removeAttr('required');
$('#gpa_sum_si').removeAttr('required');
$('#gpa_sum_premium').removeAttr('required');
$('#basic_multiplier').attr('required', true); $('#basic_multiplier').attr('required', true);
$('#premium_multiplier').attr('required', true); $('#premium_multiplier').attr('required', true);
@ -1732,6 +1978,28 @@ function si_orbp_change_function() {
} else if (selectedValue == 1) { } else if (selectedValue == 1) {
$('.gpa_sum_insure_remove').show();
$('.gpa_band_remove').hide();
var count = $("div.form-row.gpa_sum_insure_remove").length;
if(count == 0){
$('#gmc_add_more').show();
}else{
$('#gmc_add_more').hide();
}
console.log('gmcBandInput', count)
var gpaBandRemoveElements = $("#grid_1").nextAll("div").find(".gpa_band_remove").length;
console.log("Elements with class 'gpa_band_remove' within next div siblings:", gpaBandRemoveElements);
var gmcBandInput = $("#grid_1").find('input[name="gmc_band[]"]').length
console.log('gmcBandInput', gmcBandInput)
$('#si_or_bp_full_div').css({ $('#si_or_bp_full_div').css({
'display': '', 'display': '',
}); });
@ -1741,13 +2009,21 @@ function si_orbp_change_function() {
$('#si_or_bp_basic_pay').css({ $('#si_or_bp_basic_pay').css({
'display': 'none' 'display': 'none'
}); });
$('#si_or_bp_grade').css({
'display': 'none'
});
$('#basic_multiplier').removeAttr('required'); $('#basic_multiplier').removeAttr('required', false);
$('#premium_multiplier').removeAttr('required'); $('#premium_multiplier').removeAttr('required', false);
$('#basic_pay').removeAttr('required'); $('#basic_pay').removeAttr('required', false);
$('#gpa_basic_si').removeAttr('required'); $('#gpa_basic_si').removeAttr('required', false);
$('#gpa_basic_premium').removeAttr('required'); $('#gpa_basic_premium').removeAttr('required', false);
$('#gpa_sum_multiplier2').removeAttr('required', false);
$('#gpa_sum_si2').removeAttr('required', false);
$('#gpa_band').removeAttr('required', false);
$('#gpa_sum_premium2').removeAttr('required', false);
$('#gpa_sum_multiplier').attr('required', true); $('#gpa_sum_multiplier').attr('required', true);
@ -1760,6 +2036,56 @@ function si_orbp_change_function() {
elementsToUnhide.show(); elementsToUnhide.show();
} else if (selectedValue == 3) {
$('.gpa_sum_insure_remove').hide();
$('.gpa_band_remove').show();
var count = $("div.form-row.gpa_band_remove").length;
if(count == 0){
$('#gmc_add_more2').show();
}else{
$('#gmc_add_more2').hide();
}
console.log('gmcBandInput', count)
$('#si_or_bp_full_div').css({
'display': '',
});
$('#si_or_bp_grade').css({
'display': ''
});
$('#si_or_bp_basic_pay').css({
'display': 'none'
});
$('#si_or_bp_sum_insure').css({
'display': 'none'
});
$('#basic_multiplier').removeAttr('required', false);
$('#premium_multiplier').removeAttr('required', false);
$('#basic_pay').removeAttr('required', false);
$('#gpa_basic_si').removeAttr('required', false);
$('#gpa_basic_premium').removeAttr('required', false);
$('#gpa_sum_multiplier').attr('required', false);
$('#gpa_sum_si').attr('required');
$('#gpa_sum_premium').attr('required');
$('#gpa_sum_multiplier2').removeAttr('required', true);
$('#gpa_sum_si2').removeAttr('required', true);
$('#gpa_band').removeAttr('required', true);
$('#gpa_sum_premium2').removeAttr('required', true);
var gridContentInput = $('#grid_content_input');
var elementsToUnhide = gridContentInput.find('.gpa_sum_insure_remove');
// elementsToUnhide.show();
} else { } else {
$('#si_or_bp_full_div').css({ $('#si_or_bp_full_div').css({
'display': 'none', 'display': 'none',
@ -1770,8 +2096,26 @@ function si_orbp_change_function() {
$('#si_or_bp_basic_pay').css({ $('#si_or_bp_basic_pay').css({
'display': '' 'display': ''
}); });
$('#si_or_bp_grade').css({
'display': ''
});
} }
} }
function getCurrentTime() {
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // 0 should be considered as 12
minutes = minutes < 10 ? '0' + minutes : minutes; // Add leading zero if minutes < 10
var timeString = hours + ':' + minutes + ' ' + ampm;
return timeString;
}
</script> </script>

View File

@ -16,16 +16,58 @@
<label for="short_name">TPA Short Name<span class="text-danger">*</span></label> <label for="short_name">TPA Short Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="short_name" placeholder="Enter Short Name" value="<?= isset($tpa['short_name']) ? $tpa['short_name'] : '' ?>" name="short_name" required> <input type="text" class="form-control" id="short_name" placeholder="Enter Short Name" value="<?= isset($tpa['short_name']) ? $tpa['short_name'] : '' ?>" name="short_name" required>
</div> </div>
<div class="form-group col-md-4">
<label for="short_name">TPA Logo<span class="text-danger"></span></label>
<input type="file" class="form-control" onchange="PreviewImage();" id="tpa_logo" name="tpa_logo" accept="image/jpeg, image/jpg, image/png">
</div>
</div> </div>
<hr> <hr>
<div class="form-row">
<div class="form-group col-md-10">
<label for="tpa_name">E-Card Template<span class="text-danger"></span></label>
<textarea style="height: 100px;" class="form-control" id="ecard_content" placeholder="Enter E-card Content" name="ecard_content"><?= isset($template_data) ? $template_data : '' ?></textarea>
</div>
<div class="form-group col-md-2 float-right" style="position: relative;top: 0px;left: 40px;">
<label for="short_name">Logo Preview<span class="text-danger"></span></label>
<img src="<?= isset($tpa['tpa_logo']) && !empty($tpa['tpa_logo']) ? base_url() . "public/uploads/logo/" . $tpa['tpa_logo'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview" class="avatar img-circle img-thumbnail" alt="avatar" />
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<a href="<?= isset($tpa['id']) ? base_url('/util/preview-card/') . $tpa['id'] : '' ?>" class="btn btn-primary" id="preview" target="_blank">Preview</a>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="short_name">Front card Image<span class="text-danger"></span></label>
<input type="file" class="form-control" onchange="PreviewImage2();" id="fc" name="fc" accept="image/jpeg, image/jpg, image/png">
</div>
<div class="form-group col-md-4">
<label for="short_name">Back card Image<span class="text-danger"></span></label>
<input type="file" class="form-control" onchange="PreviewImage3();" id="bc" name="bc" accept="image/jpeg, image/jpg, image/png">
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label for="short_name">Front card Preview<span class="text-danger"></span></label>
<img src="<?= isset($tpa['front_card']) && !empty($tpa['front_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['front_card'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview2" class="avatar img-circle img-thumbnail" alt="avatar" />
</div>
<div class="form-group col-md-4">
<label for="short_name">Back card Preview<span class="text-danger"></span></label>
<img src="<?= isset($tpa['back_card']) && !empty($tpa['back_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['back_card'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview3" class="avatar img-circle img-thumbnail" alt="avatar" />
</div>
</div>
</div> </div>
<div class="form-group text-right m-b-0"> <div class="form-group text-right m-b-0">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" <button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
id="btnSubmit">Submit</button> <button type="button" class="btn btn-secondary waves-effect btnBack" id="btnBack">Cancel</button>
<button type="button" class="btn btn-secondary waves-effect btnBack"
id="btnBack">Cancel</button>
</div> </div>
</form> </form>
</div> </div>
@ -34,8 +76,27 @@
</div> </div>
<!-- end --> <!-- end -->
<script>
<div id="full-width-modal-emp-list" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fullWidthModalLabel" aria-hidden="true">
<div class="modal-dialog modal-full-width">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="fullWidthModalLabel">Preview<span id="title_header_name"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body" id="Preview_data">
</div>
<div class="modal-footer">
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$(document).ready(function() { $(document).ready(function() {
$("#tpa_general_form").submit(function(events) { $("#tpa_general_form").submit(function(events) {
@ -95,8 +156,7 @@ $(document).ready(function () {
setTimeout(function() { setTimeout(function() {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Something Wrong!', 'warning'); console.log('Something Wrong!', 'warning'); }, 1000);
}, 1000);
} }
}); });
} }
@ -133,4 +193,78 @@ function validateForm() {
}); });
function PreviewImage() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("tpa_logo").files[0]);
oFReader.onload = function(oFREvent) {
document.getElementById("uploadPreview").src = oFREvent.target.result;
};
};
function PreviewImage2() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("fc").files[0]);
oFReader.onload = function(oFREvent) {
document.getElementById("uploadPreview2").src = oFREvent.target.result;
};
};
function PreviewImage3() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("bc").files[0]);
oFReader.onload = function(oFREvent) {
document.getElementById("uploadPreview3").src = oFREvent.target.result;
};
};
$('#preview').click(function() {
var ecardContent = $('#ecard_content').val();
$('#Preview_data').html(ecardContent);
});
// $(document).ready(function() {
// $('#preview').click(function() {
// // Get the value from the textarea
// var ecardContent = $('#ecard_content').val();
// var filename_front = $('#fc').val().split('\\').pop();
// var original_string_front = '{FRONT_CARD}';
// var replace_string_front = '<?= isset($tpa['front_card']) && !empty($tpa['front_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['front_card'] : "" ?>';
// ecardContent = ecardContent.replace(original_string_front, replace_string_front);
// console.log(ecardContent);
// var filename_back = $('#fc').val().split('\\').pop();
// var original_string_back = '{BACK_CARD}';
// var replace_string_back = '<?= isset($tpa['back_card']) && !empty($tpa['back_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['back_card'] : "" ?>';
// ecardContent = ecardContent.replace(original_string_back, replace_string_back);
// // console.log(ecardContent)
// // Open a new window for printing
// var printWindow = window.open('', '_blank');
// // Insert the textarea value into the new window
// printWindow.document.write('<html><head><title>Preview Page</title></head><body>');
// printWindow.document.write(ecardContent); // Use <pre> tag to preserve formatting
// printWindow.document.write('</body></html>');
// // Trigger the print functionality
// printWindow.print();
// printWindow.close();
// });
// });
</script> </script>

View File

@ -14,6 +14,7 @@ table.dataTable tbody td {
<div class="table-rep-plugin"> <div class="table-rep-plugin">
<div class="table-responsive" data-pattern="priority-columns"> <div class="table-responsive" data-pattern="priority-columns">
<table id="tech-companies-1" class="table table-striped"> <table id="tech-companies-1" class="table table-striped">
<thead class="bg-light"> <thead class="bg-light">
<?php foreach ($thead as $header): ?> <?php foreach ($thead as $header): ?>
<th><?php echo $header; ?></th> <th><?php echo $header; ?></th>
@ -36,3 +37,36 @@ table.dataTable tbody td {
</div> <!-- end .table-rep-plugin--> </div> <!-- end .table-rep-plugin-->
</div> <!-- end .responsive-table-plugin--> </div> <!-- end .responsive-table-plugin-->
<script>
$('#tech-companies-1').DataTable({
// Enable sorting
"ordering": true,
// Enable filtering/search
"searching": true,
// Enable pagination
"paging": true,
// Set the number of records per page
"pageLength": 10, // Adjust as needed
// Define the initial sorting order (optional)
"order": [[ 0, "asc" ]], // Sort by the first column in ascending order
// Customization for the pagination buttons (optional)
"language": {
"paginate": {
"first": "First",
"last": "Last",
"next": "Next",
"previous": "Previous"
}
}
});
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
public/assets/images/qr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,62 @@
<body>
<div style="display: flex;justify-content:center;gap: 10px;">
<div style="border: 1px solid black;max-height: 250px;width: 400px;background-image: url({FRONT_CARD});background-size: 100% 100%;position: relative;">
<div style="height: 50px;width: 100px;position: absolute;top: 20px;right: 40px;">
<img src="../image/niva.png" alt="" width="100px" height="50px" style="object-fit: fill;">
</div>
<table style="width: 100%;font-family: sans-serif;font-size: 14px;margin-left: 20px;margin-top: 55px;line-height: 19px;">
<tbody>
<tr>
<td>Haamira Banu</td>
</tr>
<tr>
<td style="width: auto;"><b>Xoriant Solutions Pvt Ltd</b></td>
</tr>
<tr>
<td><span>Dob : 02/05/2000</span><span style="padding-left: 40px;">EMP ID : 73496</span></td>
</tr>
<tr>
<td>PHS ID : MBHI CHE 38728183 XSP E</td>
</tr>
<tr>
<td>Valid upto : 31/01/2024</td>
</tr>
</tbody>
</table>
</div>
<div style="border: 1px solid black;min-height: 250px;width: 400px;border: none;"></div>
</div>
<div style="display: flex;justify-content: space-around;justify-content: center;margin-top: 20px;">
<div style="border: 1px solid black;min-height: 450px;width: 800px;padding: 5px 5px 10px 5px ;">
<div style="font-family: sans-serif;line-height: 15px;">
<div style="font-size: 20px;font-weight: 600;margin-top: 10px;text-align: center;"><b>PARAMOUNT HEALTH SERVICES AND INSURANCE TPA PRIVATE.LTD</b></div>
<div style="font-size: 15px;font-weight: 500;text-align: center;margin-top: 10px;">Plot No:A42,Road no-28,M.I.D.C.industrial area,Ram Nagar,Wagle Estate,Thane(W) - 400 604</div>
</div>
<div style="border: 1px solid black;text-align: center;font-size: 16px;font-family: sans-serif;padding: 10px;margin-top: 10px;margin-left: 40px;margin-right: 40px;line-height: 25px;">Cashless Access to Network Hospitals can only be obtained <br> When accompanied with the Authorization letter issued by PHS</div>
<h2 style="font-family: sans-serif;text-align: center;margin: 5px;margin-bottom: 10px;">24 Hours Helpline - Mumbai:(022)-6662 0808</h2>
<div style="text-align: center;font-size: 17px;font-family: sans-serif;margin: 20px 20px;line-height: 25px;">
<b> Toll Free no -</b> 1800 22 6655 (Admission preferably)<br>Website :WWW.paramounttpa.com Email : contact.phs@paramounttpa.com
</div>
<div style="display: flex;justify-content: center;">
<table style="border-spacing:50px 10px;">
<tr>
<td><img src="../image/1 android.png" alt="" width="170px" height="135px"></td>
<td style="font-family: sans-serif;display: flex;align-items: start;font-size: 22px;"><b>Mobile App</b></td>
<td><img src="../image/1-ios.png" alt="" width="150px" height="140px"></td>
</tr>
</table>
</div>
<div style="text-align: center;font-family: sans-serif;font-size: 17px;line-height: 25px;">
please Quote Your PHS ID No.For HELP <br>Immediate intimation to PHS is a must in case of Capitalization
</div>
</div>
</div>
</body>

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>