diff --git a/app/Config/Routes.php b/app/Config/Routes.php index a82a9776..dc76e1fa 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -285,6 +285,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->post("calculatePremium", "EmployeeRestController::calculatePremium"); $routes->get("getEmployeeOldPolicy", "EmployeeRestController::getEmployeeOldPolicy"); + $routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEmployeeActiveOrInactivePolicy"); }); $routes->post("sendEmail", "EmployeeRestController::send_email"); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index a6cd25ce..8b0c17ee 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -168,6 +168,8 @@ class ClientController extends AdminController // echo "
";
// print_r($data); die;
+ $data['placeHolders'] = ['member_name','nhance_logo','tpa_id','ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'client_name'];
+
echo view('layout/header', $headerData);
echo view('client_onboarding', $data);
@@ -1241,19 +1243,19 @@ class ClientController extends AdminController
$client_policy_id = $this->request->getPost("client_policy_id");
$data['sum_insured'] =str_replace(',', '',$this->request->getPost("sum_insured"));
- $data['family_floater'] =$this->request->getPost("family_floater");
- $data['corporatebuffer'] = $this->request->getPost("corporatebuffer");
+ $data['family_floater'] =$this->request->getPost("family_floater") ? $this->request->getPost("family_floater") : 0;
+ $data['corporatebuffer'] = $this->request->getPost("corporatebuffer") ? $this->request->getPost("corporatebuffer") : 0;
$data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];
// print_r($this->request->getPost());die;
- $data['age_ratio']['self']['min'] = $this->request->getPost("self_min_age");
- $data['age_ratio']['self']['max'] = $this->request->getPost("self_max_age");
- $data['age_ratio']['spouse']['min'] = $this->request->getPost("spouse_min_age");
- $data['age_ratio']['spouse']['max'] = $this->request->getPost("spouse_max_age");
- $data['age_ratio']['child']['min'] = $this->request->getPost("child_min_age");
- $data['age_ratio']['child']['max'] = $this->request->getPost("child_max_age");
- $data['age_ratio']['elders']['min'] = $this->request->getPost("other_member_min_age");
- $data['age_ratio']['elders']['max'] = $this->request->getPost("other_member_max_age");
+ $data['age_ratio']['self']['min'] = $this->request->getPost("self_min_age") ? $this->request->getPost("self_min_age") :0;
+ $data['age_ratio']['self']['max'] = $this->request->getPost("self_max_age") ? $this->request->getPost("self_max_age") : 0;
+ $data['age_ratio']['spouse']['min'] = $this->request->getPost("spouse_min_age") ? $this->request->getPost("spouse_min_age") : 0;
+ $data['age_ratio']['spouse']['max'] = $this->request->getPost("spouse_max_age") ? $this->request->getPost("spouse_max_age") : 0;
+ $data['age_ratio']['child']['min'] = $this->request->getPost("child_min_age") ? $this->request->getPost("child_min_age") : 0;
+ $data['age_ratio']['child']['max'] = $this->request->getPost("child_max_age") ? $this->request->getPost("child_max_age") : 0;
+ $data['age_ratio']['elders']['min'] = $this->request->getPost("other_member_min_age") ? $this->request->getPost("other_member_min_age") :0;
+ $data['age_ratio']['elders']['max'] = $this->request->getPost("other_member_min_age") ? $this->request->getPost("other_member_min_age") : 0;
@@ -1327,7 +1329,7 @@ class ClientController extends AdminController
}
}
- $data['family_floaters']['elders_count'] =$this->request->getPost("member_count");
+ $data['family_floaters']['elders_count'] =$this->request->getPost("member_count") ? $this->request->getPost("member_count") : 0;
$data['waiverofpreexistingdiseases'] =$this->request->getPost("waiverofpreexistingdiseases");
if ($data['waiverofpreexistingdiseases'] == 1) {
diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php
index 728d81b8..826c8a6b 100644
--- a/app/Controllers/EmpDataServiceController.php
+++ b/app/Controllers/EmpDataServiceController.php
@@ -563,7 +563,12 @@ class EmpDataServiceController extends BaseController
public function importInceptionFileValidation($params)
{
+ $this->myLogger->logme('info', 'importInceptionFileValidation called');
+
$file_id = $params['file_id'];
+
+ $this->myLogger->logme('error', 'importInceptionFileValidation batch file table primary id : {data}', ['data' => $file_id]);
+
$file = $this->batchFileModel->where('id', $file_id)->first();
$client_id = $file['client_id'];
$client_policy_id = $file['client_policy_id'];
@@ -631,6 +636,7 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
+ $this->myLogger->logme('error', 'importInceptionFileValidation TPAID already updated');
return 3;
@@ -641,14 +647,22 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
+ $this->myLogger->logme('error', 'importInceptionFileValidation UHID already updated');
return 5;
}
+
+ $this->myLogger->logme('error', 'importInceptionFileValidation UHID or TPAID already updated or the uploadedfile is not correct');
+
}
$excel_data_count = count($excel_data);
$emp_data_count = count($employee_data);
+ $this->myLogger->logme('error', 'importInceptionFileValidation excel file count : {data}', ['data' => $excel_data_count]);
+ $this->myLogger->logme('error', 'importInceptionFileValidation database count : {data}', ['data' => $emp_data_count]);
+
+
// dd($excel_data_count, $emp_data_count);
$difference = $emp_data_count - $excel_data_count;
@@ -657,9 +671,11 @@ class EmpDataServiceController extends BaseController
$status = 'in-progress-partially';
$partially_updated_data = 'Expected : ' . $emp_data_count . ', ' . 'Updated : ' . $excel_data_count . ', ' . 'difference : ' . $difference;
+ $this->myLogger->logme('error', 'importInceptionFileValidation excel file count partially : {data}', ['data' => $partially_updated_data]);
}
+
if ($emp_data_count < $excel_data_count) {
$data = [
@@ -667,6 +683,8 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
+ $this->myLogger->logme('error', 'importInceptionFileValidation excel file count ( {excel} ) exceeds db count ( {db} )', ['db' => $emp_data_count, 'excel' => $excel_data_count]);
+
return 6;
}
@@ -905,6 +923,8 @@ class EmpDataServiceController extends BaseController
$job_details = new Jobs();
$r = Jobs::addJob(['job_name' => 'importInceptionUpdateTPAandUHID','payload' => ['file_id' => $file_id]]);
+ // $this->importInceptionUpdateTPAandUHID(['file_id' => $file_id]);
+
}
}
@@ -913,6 +933,8 @@ class EmpDataServiceController extends BaseController
public function importInceptionUpdateTPAandUHID($params)
{
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID called');
+
$file_id = $params['file_id'];
$file = $this->batchFileModel->find($file_id);
if (!$file) {
@@ -921,6 +943,8 @@ class EmpDataServiceController extends BaseController
];
$this->batchFileModel->where('id', $file_id)->set($data)->update();
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID the Physical file not found - file id : {data}', ['data' => $file_id]);
+
return 0; // Return error code if file not found
}
@@ -929,13 +953,16 @@ class EmpDataServiceController extends BaseController
$insurer_or_tpa = $file['insurer_or_tpa'];
$status = $file['status'];
$batch_code = $file['batch_code'];
+ $user_id = $file['created_by'];
$status_val = 'success';
- if($status == 'in-progress-partially'){
+ if ($status == 'in-progress-partially') {
$status_val = 'partially success';
}
-
+
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID file name : {data}', ['data'=> $file['file_name']]);
+
$file_name_with_path = WRITEPATH . "/uploads/import_excel/" . $file['file_name'];
$excel_data = $this->readExcelFileToArray($file_name_with_path);
@@ -943,6 +970,7 @@ class EmpDataServiceController extends BaseController
array_pop($excel_data); // Remove footer row
$totals = 0;
+ $empty_emp_tpa_uh_ids = [];
$emp_count = count($excel_data);
$db = \Config\Database::connect();
@@ -956,15 +984,43 @@ class EmpDataServiceController extends BaseController
$totals += $amount;
+
+ // Execute the query
+ $query = $db->table('employee_polices');
+ $query->select('employee_polices.id');
+ $query->join('employees', 'employees.id = employee_polices.employee_id');
+ $query->where('employee_polices.client_policy_id', $client_policy_id);
+ $query->where('employees.client_id', $client_id);
+ $query->where('employees.name', $name);
+ $query->where('employees.emp_code', $emp_code);
+ if ($file['insurer_or_tpa'] == 'tpa') {
+
+ $query->where('(employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = "")');
+ } else if ($file['insurer_or_tpa'] == 'insurer') {
+
+ $query->where('(employee_polices.uhid IS NULL OR employee_polices.uhid = "")');
+ }
+ $query->where('employee_polices.is_active', 1);
+ $query->limit(1);
+
+ // Get the result
+ $result = $query->get()->getRowArray();
+ if (isset($result['id']) && $result['id'] !== null) {
+ $empty_emp_tpa_uh_ids[] = $result['id'];
+ }
+
+
+
$sql = "
UPDATE employee_polices
JOIN employees ON employees.id = employee_polices.employee_id
SET tpa_id = ?
WHERE employees.name = ?
AND employees.emp_code = ?
+ AND employee_polices.client_policy_id = ?
AND (employee_polices.tpa_id IS NULL OR employee_polices.tpa_id = '')";
- $params = [$tpa_id, $name, $emp_code];
+ $params = [$tpa_id, $name, $emp_code, $client_policy_id];
$db->query($sql, $params);
@@ -975,9 +1031,10 @@ class EmpDataServiceController extends BaseController
SET employee_polices.uhid = ?
WHERE employees.name = ?
AND employees.emp_code = ?
+ AND employee_polices.client_policy_id = ?
AND (employee_polices.uhid IS NULL OR employee_polices.uhid = '')";
- $params = [$uhid, $name, $emp_code];
+ $params = [$uhid, $name, $emp_code, $client_policy_id];
$db->query($sql, $params);
}
@@ -988,6 +1045,50 @@ class EmpDataServiceController extends BaseController
'amount' => $totals,
]);
+
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID employee count : {data}', ['data'=> $emp_count]);
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID batch file status : {data}', ['data'=> $status_val]);
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID total amount for cash deposite : {data}', ['data'=> $totals]);
+
+
+ if ($file['insurer_or_tpa'] == 'tpa') {
+
+ $this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE');
+
+ $policy_name = $this->getPolicyNameUsingClientPolicyId($client_policy_id);
+ $depositeData = [
+ 'employeeIds' => $empty_emp_tpa_uh_ids,
+ 'client_id' => $client_id,
+ 'client_policy_id' => $client_policy_id,
+ 'count' => $emp_count,
+ 'event' => $file['event_type'],
+ 'policy_name' => $policy_name['policy_name'],
+ 'user_id' => $user_id,
+ ];
+
+
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'cashDepositCalculationForInception','payload' => [
+ 'employeeIds' => $empty_emp_tpa_uh_ids,
+ 'client_id' => $client_id,
+ 'client_policy_id' => $client_policy_id,
+ 'count' => $emp_count,
+ 'event' => $file['event_type'],
+ 'policy_name' => $policy_name['policy_name'],
+ 'user_id' => $user_id,
+ ]]);
+
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'sendMailForDownloadingECard','payload' => $empty_emp_tpa_uh_ids]);
+
+ // $this->cashDepositCalculationForInception($depositeData);
+ // $this->sendMailForDownloadingECard($empty_emp_tpa_uh_ids);
+
+
+ }
+
return 1;
}
@@ -1600,6 +1701,11 @@ class EmpDataServiceController extends BaseController
$insurer_id = $this->clientPolicyModel->where('id', $arrayData['client_policy_id'])->first();
$description = 'The following amount of Rs. ' . $amount->total_sum . '/- has been debited for the ' . $arrayData['count'] . ' employees at ' . remove_underscore_capitalize_first_letter($arrayData['event']) . ' to ' . remove_underscore_capitalize_first_letter($arrayData['policy_name']) . '.';
+
+ if(get_session_userid() == null){
+
+ }
+
$data = [
'amount' => $amount->total_sum ?? 0,
@@ -1608,10 +1714,10 @@ class EmpDataServiceController extends BaseController
'insurer_id' => $insurer_id['insurer_id'],
'description' => $description,
'transaction_type' => 'Debit',
- 'updated_by' => get_session_userid(),
+ 'updated_by' => $arrayData['user_id'],
'is_active' => 1,
];
- $response = DepositHelper::saveDeposit($data, get_session_userid());
+ $response = DepositHelper::saveDeposit($data, $arrayData['user_id']);
return true;
// print_r($response);
// $query = $this->employeePolicyModel->getLastQuery();
@@ -1934,55 +2040,93 @@ class EmpDataServiceController extends BaseController
public function sendMailForDownloadingECard(array $ids)
{
- try {
- $count = 0;
-
- foreach ($ids as $key => $id) {
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - function called');
+ if (count($ids) > 0) {
- $get_emp_email_and_other_details = $this->employeePolicyModel
- ->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
- ->join('employees', 'employees.id = employee_polices.employee_id')
- ->where('employees.emp_status', 'active')
- ->where('employees.is_active', '1')
- ->where('employee_polices.status', 'active')
- ->where('employee_polices.is_active', '1')
- ->where('employee_polices.id', $id)->first();
-
- // echo "";
- // print_r($notification);
- // die;
- $client_data = $this->clientModel->where('id',$get_emp_email_and_other_details['client_id'])->first();
-
- $notification = $this->notificationModel->where('client_id',$get_emp_email_and_other_details['client_id'])->where('template_name','member_ecard_mail')->first();
- if ($get_emp_email_and_other_details != null && $get_emp_email_and_other_details != "" && $notification['enabled'] == 1) {
- $rand_string = $get_emp_email_and_other_details['rand_string'];
- $tpa_id = $get_emp_email_and_other_details['tpa_id'];
-
- $params['rand_string'] = $rand_string;
- $params['tpa_id'] = $tpa_id;
- $params['notification'] = $notification;
- $params['client_data'] = $client_data;
- $params['notification'] = $notification;
- $params['notification'] = $notification;
- $params['get_emp_email_and_other_details'] = $get_emp_email_and_other_details;
- $wholeData = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
-
- $count++;
+ $temp_id = $ids[0];
+
+ $get_client_info_for_notification = $this->employeePolicyModel
+ ->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
+ ->join('employees', 'employees.id = employee_polices.employee_id')
+ ->where('employees.emp_status', 'active')
+ ->where('employees.is_active', '1')
+ ->where('employee_polices.status', 'active')
+ ->where('employee_polices.is_active', '1')
+ ->where('employee_polices.id', $ids[0])->first();
+
+ $client_data = $this->clientModel->where('id', $get_client_info_for_notification['client_id'])->first();
+ $notification = $this->notificationModel->where('client_id', $get_client_info_for_notification['client_id'])->where('template_name', 'member_ecard_mail')->first();
+
+ if ($notification != null && !empty($notification) && $notification['enabled'] == 1) {
+
+ try {
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - inside try');
+ $count = 0;
+ foreach ($ids as $key => $id) {
+
+ $get_emp_email_and_other_details = $this->employeePolicyModel
+ ->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
+ ->join('employees', 'employees.id = employee_polices.employee_id')
+ ->where('employees.emp_status', 'active')
+ ->where('employees.is_active', '1')
+ ->where('employee_polices.status', 'active')
+ ->where('employee_polices.is_active', '1')
+ ->where('employee_polices.id', $id)->first();
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - emp_policy_id : {id}', ['id' => $id]);
+
+ if ($get_emp_email_and_other_details != null && !empty($get_emp_email_and_other_details)) {
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function inside if condition ',);
- if($count == 20 || $count == count($ids)-1){
- $job_details = new Jobs();
- $r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]);
- $wholeData = [];
- $count = 0;
- }
+ $rand_string = $get_emp_email_and_other_details['rand_string'];
+ $tpa_id = $get_emp_email_and_other_details['tpa_id'];
+
+ $params['rand_string'] = $rand_string;
+ $params['tpa_id'] = $tpa_id;
+ $params['notification'] = $notification;
+ $params['client_data'] = $client_data;
+ $params['notification'] = $notification;
+ $params['notification'] = $notification;
+ $params['get_emp_email_and_other_details'] = $get_emp_email_and_other_details;
+ $wholeData[] = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
+
+ $count++;
+
+
+ if ($count == 20 || $count == count($ids) - 1) {
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job to bulk mail',);
+
+ $job_details = new Jobs();
+ $r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $wholeData]);
+ $wholeData = [];
+ $count = 0;
+ }
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function end ',);
+ }
+ }
+ return true; // Email(s) sent successfully
+
+ } catch (\Exception $e) {
+
+ // Log the error
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard : inside catch');
+ $this->myLogger->logme('error', 'Error occurred while sending email: ' . $e->getMessage());
+ return false; // Email(s) sending failed
}
+ } else {
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - the client notification setup not created or not enabled the E-Card Notification');
+ return false;
}
- return true; // Email(s) sent successfully
- } catch (\Exception $e) {
- // Log the error
- $this->myLogger->log('error', 'Error occurred while sending email: ' . $e->getMessage());
- return false; // Email(s) sending failed
+ } else {
+
+ $this->myLogger->logme('error', 'sendMailForDownloadingECard - employee_policy_ids are empty');
+ return false;
}
}
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index 0e9b4a3f..0a346146 100644
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -424,7 +424,7 @@ class EmployeeController extends AdminController
$return = 1;
- // $return = $empDataServiceController->importExcelDataForInception($batch_data);
+ // $return = $empDataServiceController->importInceptionFileValidation(['file_id' => $file_id]);
if ($return == 1) {
session()->setFlashdata('success', 'Data updated successfully. File is being validated.');
@@ -858,11 +858,15 @@ class EmployeeController extends AdminController
// $data['data'] = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
$data = $this->employeePolicyModel->getECardDataUsingMd5($client_policy_id, $emp_code);
+
+ // dd($data);
$template_data_path = WRITEPATH . 'e_card_template/';
$tpa_short_name = strtolower(str_replace(' ', '_', $get_emp_code_and_client_policy_id['short_name'])) . '.html';
$final_path = $template_data_path . $tpa_short_name;
+ // dd($template_data_path, $tpa_short_name, $final_path);
+
if (!file_exists($final_path)) {
$data['message'] = 'Record Not Found';
@@ -871,6 +875,7 @@ class EmployeeController extends AdminController
$tmplt_data = file_get_contents($final_path);
+ // dd($tmplt_data);
$html = ""; // Initialize the HTML variable
foreach ($data as $key => $value) {
@@ -895,6 +900,7 @@ class EmployeeController extends AdminController
'{EMP_ID}' =>$value['emp_code'],
'{CORPORATE_NAME}' =>$value['client_name'],
'{AGE}' =>$value['emp_age'],
+ '{TPA_NAME}' =>$value['emp_age'],
];
// Replace placeholders with values in HTML content
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index 3c8a145d..79069da8 100644
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -618,7 +618,6 @@ class EmployeeRestController extends AdminController
$client_data = $this->clientModel->where('id', $client_id)->first();
- $notification = $this->notificationModel->where('client_id',$client_id)->where('template_name','member_welcome_mail')->first();
$jwt = $this->request->getHeader('Authorization');
$jwtParts = explode(' ', $jwt);
@@ -874,8 +873,9 @@ class EmployeeRestController extends AdminController
$emp_policy = $this->employeePolicyModel->insert($emp_policy_data);
}
+ $notification = $this->notificationModel->where('client_id',$client_id)->where('template_name','member_welcome_mail')->first();
- if ($notification['enabled'] == 1) {
+ if (isset($notification) && $notification['enabled'] == 1) {
//trigger
if ($dataToInsert[$a]['relationship'] == 'Self') {
@@ -900,7 +900,6 @@ class EmployeeRestController extends AdminController
// if ($dataToInsert[$a]['email_corporate'] != null || $dataToInsert[$a]['email_corporate'] != '' && $dataToInsert[$a]['relationship'] == 'Self') {
}
-
}
return $this->respond(['status' => 'success', 'code' => 200, 'message' => "Success" ], 200);
}else{
@@ -917,7 +916,19 @@ class EmployeeRestController extends AdminController
//-------------------------------------
+public function getAgeRange($terms,$familyFloatesValue)
+{
+ $ageRangeArray = ['self' => ['min' => 18, 'max' => 60] , 'spouse' => ['min' => 18, 'max' => 60] , 'child' => ['min' => 0, 'max' => 25] , 'elders' => ['min' => 18, 'max' => 60] ];
+ $ageKey = (preg_replace('/\d/', '', $familyFloatesValue) == 'parent' || preg_replace('/\d/', '', $familyFloatesValue) == 'parent_in_law') ? 'elders' : preg_replace('/\d/', '', $familyFloatesValue);
+ if(isset($terms->age_ratio)){
+ return $terms->age_ratio->$ageKey;
+ }else{
+ return $ageRangeArray[$ageKey];
+ }
+
+
+}
public function getEmployeePolicy()
{
try {
@@ -960,7 +971,7 @@ public function getEmployeePolicy()
// Construct value for policy type GPA
- if($getSlabAndGridData['grid_master']['policy_type'] == "GPA"){
+ if($getSlabAndGridData['grid_master']['policy_type'] == "GPA" && $this->request->getGet('policy') == 'GPA'){
// Filter employee data where the family_floater_key is 'self'
$selfData = array_filter($empData, fn($arr) => trim(strtolower($arr['family_floater_key'])) === 'self');
@@ -985,7 +996,7 @@ public function getEmployeePolicy()
}
// Construct value for policy type GMC
- }else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC"){
+ }else if($getSlabAndGridData['grid_master']['policy_type'] == "GMC" && $this->request->getGet('policy') == 'GMC' ){
@@ -1022,10 +1033,10 @@ public function getEmployeePolicy()
$temp['data']['dob'] = $this->convertDateFormatDMY($value['dob']);
$temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent;
- $temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
- $ageKey = ($dependent == 'parent' || $dependent == 'parent_in_law') ? 'elders' : $dependent;
-
- $temp['data']['age_validation'] = $decodedArray->age_ratio->$ageKey;
+ $temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
+
+
+ $temp['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp);
unset($empData[$key]);
@@ -1035,7 +1046,7 @@ public function getEmployeePolicy()
}
}
}
- // dd($data);
+
// Remove Unwanted floter key from floters array based on either-parents-pil term value
@@ -1064,6 +1075,9 @@ public function getEmployeePolicy()
$temp2['data']['client_policy_id'] = $array->ClientPolicyId;
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
+
+
+ $temp2['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp2);
@@ -1191,8 +1205,8 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
$temp['data']['client_policy_id'] = $array->ClientPolicyId;
$temp['data']['form_type'] = $dependent;
$temp['data']['basic_cover_si'] = $employee_policy->basic_cover_si;
- $ageKey = ($dependent == 'parent' || $dependent == 'parent_in_law') ? 'elders' : $dependent;
- $temp['data']['age_validation'] = $array->Policy_Terms->age_ratio->$ageKey;
+ $temp['data']['age_validation'] = $this->getAgeRange($array->Policy_Terms,$familyFloatesValue);
+
array_push($data,$temp);
unset($empData[$key]);
@@ -1229,7 +1243,7 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id)
$temp2['data']['client_policy_id'] = $array->ClientPolicyId;
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
-
+ $temp2['data']['age_validation'] = $this->getAgeRange($array->Policy_Terms,$familyFloatesValue);
array_push($data,$temp2);
}
@@ -1430,7 +1444,9 @@ public function getAddOnPolicy()
$temp['data']['client_policy_id'] = $array['id'];
$temp['data']['form_type'] = $dependent;
$temp['data']['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
- $temp['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
+ $temp['data']['premium'] = isset($employee_policy->premium) ? $employee_policy->premium : null;
+ $temp['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
+
array_push($data,$temp);
unset($addOnEmployeeData[$key]);
$floters = array_diff($floters, [$familyFloatesValue]);
@@ -1487,6 +1503,8 @@ public function getAddOnPolicy()
$temp2['data']['client_policy_id'] = $array['id'];
$temp2['data']['button_name'] = 'Add '.ucfirst(str_replace('_', ' ', preg_replace('/\d/', '', $familyFloatesValue)));
$temp2['data']['form_type'] = preg_replace('/\d/', '', $familyFloatesValue);
+
+ $temp2['data']['age_validation'] = $this->getAgeRange($decodedArray,$familyFloatesValue);
array_push($data,$temp2);
@@ -1650,26 +1668,33 @@ public function iAgreeForAddOn()
$find = $this->employeeModel->getEmpFamilybyEmpCode(client_policy_id: $value,emp_code: $emp_code,client_id: $client_id,emp_status:['draft','enrolled'],policy_status:['draft','enrolled']);
$array_list[] = $find;
}
- $params ['array_list'] = $array_list;
- $params ['client_policy_id'] = $client_policy_id;
- $params ['emp_code'] = $emp_code;
- $params ['client_id'] = $client_id;
- $wholeData =sendMailNotification::sendMailNotification('member_review_and_summary_mail', $params);
- MailHelper::send_email($wholeData[0]);
+ $notification = $this->notificationModel->where('client_id' ,$client_id)->where('template_name', 'member_review_and_summary_mail')->first();
- if (isset($wholeData[0])) {
-
- $account_manager_wholeData =sendMailNotification::sendMailNotification('account_maneger_summary_mail', $params);
- foreach ($account_manager_wholeData as $key => $value) {
- MailHelper::send_email($value);
- }
+ if (isset($notification) && $notification['enabled'] == 1) {
+ $params ['array_list'] = $array_list;
+ $params ['client_policy_id'] = $client_policy_id;
+ $params ['emp_code'] = $emp_code;
+ $params ['client_id'] = $client_id;
+ $params ['notification'] = $notification;
- $client_hr_wholeData =sendMailNotification::sendMailNotification('client_hr_summary_mail', $params);
+ $wholeData =sendMailNotification::sendMailNotification('member_review_and_summary_mail', $params);
+ MailHelper::send_email($wholeData[0]);
- foreach ($client_hr_wholeData as $key => $value) {
- MailHelper::send_email($value);
+ if (isset($wholeData[0])) {
+
+ $account_manager_wholeData =sendMailNotification::sendMailNotification('account_maneger_summary_mail', $params);
+
+ foreach ($account_manager_wholeData as $key => $value) {
+ MailHelper::send_email($value);
+ }
+
+ $client_hr_wholeData =sendMailNotification::sendMailNotification('client_hr_summary_mail', $params);
+
+ foreach ($client_hr_wholeData as $key => $value) {
+ MailHelper::send_email($value);
+ }
}
}
@@ -2023,6 +2048,83 @@ function getEmployeeOldPolicy()
}
+function getEmployeeActiveOrInactivePolicy()
+{
+
+ if($this->request->getGet('type') == 'Active'){ $value = 1; }else{ $value = 0; }
+ $ClientPolicyData = $this->clientPolicyModel->select('client_policy.* , policies.name as policy_name , policy_type.policy_type as policy_type')
+ ->join('policies', 'client_policy.policy_id = policies.id', 'left')
+ ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left')
+ ->where('client_policy.client_id', $this->request->getGet('client_id') )
+ ->where('client_policy.is_active', 1 )
+ ->where('client_policy.policy_status', $value)
+ ->orderby('client_policy.id' , 'ASC')
+ ->findAll();
+
+ // Retrieve employee and dependents data by passing the employee code
+ $employeeData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code'))
+ ->where('client_id',$this->request->getGet('client_id'))
+ ->where('is_active', 1 )->findAll();
+ $whereArrayForId = [];
+ foreach ( $employeeData as $key => $value) { array_push($whereArrayForId, $value['id']); }
+
+ if(count($ClientPolicyData) > 0 && count($employeeData) > 0)
+ {
+ $result = [];
+ foreach ($ClientPolicyData as $key => $ClientPolicyValue) {
+
+ $terms = json_decode($ClientPolicyValue['policy_terms']);
+ // dd($terms);
+ $data['client_id'] = $ClientPolicyValue['client_id'];
+ $data['client_policy_id'] = $ClientPolicyValue['id'];
+ $data['policy_name'] = $ClientPolicyValue['policy_name'];
+ $data['policy_type'] = $ClientPolicyValue['policy_type'];
+ $data['policy_type'] = $ClientPolicyValue['policy_type'];
+ $data['policy_start_date'] = $this->convertDateFormatDisplay($ClientPolicyValue['policy_start_date']);
+ $data['policy_end_date'] = $this->convertDateFormatDisplay($ClientPolicyValue['policy_end_date']);
+
+ if($ClientPolicyValue['policy_type_id'] == 1){ $data['heading'] = 'Group Personal Accident Coverage'; }else
+ if($ClientPolicyValue['policy_type_id'] == 2){ $data['heading'] = 'Group Medical Coverage'; }else
+ if($ClientPolicyValue['policy_type_id'] == 3){ $data['heading'] = 'Group Medical Coverage - Parents'; }else
+ if($ClientPolicyValue['policy_type_id'] == 4){ $data['heading'] = 'Group Medical Coverage - Top Up'; }else
+ if($ClientPolicyValue['policy_type_id'] == 5){ $data['heading'] = 'Group Medical Coverage - Parents (Top Up)'; }
+
+ if($ClientPolicyValue['policy_type_id'] == 1){ $data['floter_text_heading'] = 'Sum Insured'; }
+ else
+ {
+ if($terms->family_floater == 1){ $data['floter_text_heading'] = 'Floter Sum Insured'; }else{ $data['floter_text_heading'] = 'Sum Insured'; }
+ }
+
+ $employee_policy = $this->employeePolicyModel->select('employees.*,employee_polices.employee_id , employee_polices.basic_cover_si , employee_polices.premium , employee_polices.gst , employee_polices.tpa_id , employee_polices.rand_string')
+ ->join('employees', 'employee_polices.employee_id = employees.id', 'left')
+ ->whereIn('employee_polices.employee_id',$whereArrayForId)
+ ->where('employee_polices.client_policy_id',$ClientPolicyValue['id'])
+ ->where('employee_polices.is_active', 1 )->findAll();
+ $si_value = 0;
+ $si_premium_value = 0;
+ $si_gst_value = 0;
+ foreach ($employee_policy as $key => $value) {
+ if(isset($value['basic_cover_si'])){ $si_value = $value['basic_cover_si']; }
+ if(isset($value['premium'])){ $si_premium_value = $si_premium_value + $value['premium'];}
+ if(isset($value['gst'])){ $si_gst_value = $si_gst_value + $value['gst'];}
+ }
+
+ $data['si_value'] = $si_value;
+ $data['si_premium_value'] = ($ClientPolicyValue['policy_type_id'] == 1 || $ClientPolicyValue['policy_type_id'] == 2) ? 0 : $si_premium_value;
+ $data['si_gst_value'] = ($ClientPolicyValue['policy_type_id'] == 1 || $ClientPolicyValue['policy_type_id'] == 2) ? 0 : $si_gst_value;
+
+ $data['EmployeePolicy'] = $employee_policy;
+ array_push($result, $data);
+ }
+
+ return $this->respond(['status' => 'success','code' => 200,'data' => $result ], 200);
+
+ }else{
+ return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 200);
+ }
+
+}
+
private function convertDateFormatDisplay($dateString)
{
diff --git a/app/Controllers/JobWorker.php b/app/Controllers/JobWorker.php
index 9ae90d51..8d81699f 100644
--- a/app/Controllers/JobWorker.php
+++ b/app/Controllers/JobWorker.php
@@ -18,6 +18,8 @@ class JobWorker extends AdminController
'add' => ['type' => 'HC', 'handler' => 'App\\Helpers\\HttpRequestHelper'], 'sub' => ['type' => 'CC', 'handler' => 'App\\Controllers\\Jobs\SubJob'], 'fancy_date_time_format' => ['type' => 'HF', 'handler' => 'fancy_date_time_format'], 'addNumber' => ['type' => 'HC', 'handler' => 'App\\Model\\HttpRequestHelper'], 'excelFileFormatValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'excelFileDataValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesOnboardPreprocess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeeDisembark' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesSIEnhanceProcess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'employeesCorrectionProcess' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmployeeServiceController'], 'send_email' => ['type' => 'HC', 'handler' => 'App\\Helpers\\MailHelper'], 'bulk_mail' => ['type' => 'HC', 'handler' => 'App\\Helpers\\MailHelper'], 'insertBatchList' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'importInceptionFileValidation' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
'importInceptionUpdateTPAandUHID' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
+ 'cashDepositCalculationForInception' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
+ 'sendMailForDownloadingECard' => ['type' => 'CC', 'handler' => 'App\\Controllers\\EmpDataServiceController'],
];
public function __construct()
{
diff --git a/app/Helpers/MailHelper.php b/app/Helpers/MailHelper.php
index 55d17264..da8d2624 100644
--- a/app/Helpers/MailHelper.php
+++ b/app/Helpers/MailHelper.php
@@ -58,7 +58,6 @@ class MailHelper
}
}
-
public static function bulk_mail(array $mails = [])
{
// print_r();die;
@@ -78,6 +77,5 @@ class MailHelper
}
}
-
}
?>
\ No newline at end of file
diff --git a/app/Views/client_basic_info.php b/app/Views/client_basic_info.php
index 68749f6f..1fc76c70 100644
--- a/app/Views/client_basic_info.php
+++ b/app/Views/client_basic_info.php
@@ -263,6 +263,13 @@ input:checked + .slider:before {
success: function(res) {
console.log(res);
+ console.log($('#general_PrimaryKey').val());
+
+ if($('#general_PrimaryKey').val() == ""){
+
+ window.location.href = '= base_url("client/list/"); ?>' + res.data.id;
+ }
+
if(res){
setTimeout(function() {
@@ -300,7 +307,6 @@ input:checked + .slider:before {
var client_id_for_file = res.data.id;
- console.log()
if(PrimaryKey === ''){
$.ajax({
diff --git a/app/Views/client_onboarding.php b/app/Views/client_onboarding.php
index 5ae22d1a..9ff286b9 100644
--- a/app/Views/client_onboarding.php
+++ b/app/Views/client_onboarding.php
@@ -201,11 +201,11 @@ body {
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
- $('#btnBranchAdd').hide();
+ $('#notification-tab').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
- if ($('#btnBranchBack')[0].style.display == 'none') {
- $('#btnBranchAdd').show();
+ if ($('#notification-tab')[0].style.display == 'none') {
+ $('#notification-tab').show();
}
}
@@ -236,10 +236,10 @@ body {
client_branch_contact();
});
- // document.getElementById("notification_tab").addEventListener("click", function(event) {
- // event.preventDefault();
- // client_notification();
- // });
+ document.getElementById("notification_tab").addEventListener("click", function(event) {
+ event.preventDefault();
+ client_notification();
+ });
diff --git a/app/Views/notification.php b/app/Views/notification.php
index 99a03358..124094f5 100644
--- a/app/Views/notification.php
+++ b/app/Views/notification.php
@@ -25,6 +25,7 @@
$member_review_and_summary_mail = 0;
$account_maneger_summary_mail = 0;
$client_hr_summary_mail = 0;
+ if(isset($notification)){
foreach($notification as $value){
if ($value['template_name'] == 'member_welcome_mail') {
@@ -50,6 +51,7 @@
if ($value['template_name'] == 'client_hr_summary_mail') {
$client_hr_summary_mail = $value['enabled'];
}
+ }
}
?>
@@ -57,15 +59,15 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -293,7 +295,7 @@