From 35f096cf559157aeb5150f1a96a72388352f449d Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Mon, 22 Dec 2025 18:27:31 +0530 Subject: [PATCH 1/3] FEAT_ENROLLMENT_WINDOW_OPEN_CLOSE_DATE_CAPTURE --- app/Controllers/EmployeeController.php | 9 +- app/Controllers/EmployeeRestController.php | 142 +++++++++++++++--- app/Controllers/EmployeeServiceController.php | 3 + app/Helpers/utility_helper.php | 19 ++- app/Models/EmployeeModel.php | 10 +- app/Models/EmployeePolicyModel.php | 4 +- app/Models/FileModel.php | 4 +- app/Views/employee_upload.php | 30 ++++ app/Views/file_list.php | 23 ++- 9 files changed, 209 insertions(+), 35 deletions(-) diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index dcb7ec7..f6ae2ae 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -279,10 +279,15 @@ class EmployeeController extends AdminController $client_id = $this->request->getPost('client_id'); $policy_id = $this->request->getPost('policy_id'); $branch_id = $this->request->getPost('branch_id'); + $enrollment_open_date = $this->request->getPost('enrollment_open_date'); + $enrollment_close_date = $this->request->getPost('enrollment_close_date'); $action = $this->request->getPost('upload-action-type'); $status = 'inprogress'; - $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => $action, 'client_branch_id' => $branch_id,'uploaded_by' => 1]); //here field policy_id have client_policy_id and not policy id from policy master + $enrollment_open_date = change_date_format($enrollment_open_date, 'd/m/Y', 'Y-m-d'); + $enrollment_close_date = change_date_format($enrollment_close_date, 'd/m/Y', 'Y-m-d'); + + $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => $action, 'client_branch_id' => $branch_id,'uploaded_by' => 1, 'enrollment_open_date' => $enrollment_open_date, 'enrollment_close_date' => $enrollment_close_date]); //here field policy_id have client_policy_id and not policy id from policy master $this->myLogger->logme("error", '{file_id} uploaded success', ['file_id' => $file_id]); //start validation process @@ -328,7 +333,7 @@ class EmployeeController extends AdminController $data['fileList'] = $this->fileModel ->select([ - 'files.id','files.file_name','files.created_by','files.created_at','files.is_active','files.status','files.client_id','files.policy_id','files.client_branch_id','files.action','files.uploaded_by', + 'files.id','files.file_name','files.created_by','files.created_at','files.is_active','files.status','files.client_id','files.policy_id','files.client_branch_id','files.action','files.uploaded_by', 'enrollment_open_date', 'enrollment_close_date', 'up.emp_code', 'up.first_name', 'c.short_name', diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 348b42a..60a3e05 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -236,7 +236,7 @@ class EmployeeRestController extends AdminController $data = $this->request->getJSON(); //enrolment check - $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id); + $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($data[0]->client_policy_id, $data[0]->emp_code); if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => [],'message' => 'Enrollment closed.'], 200); } @@ -573,7 +573,7 @@ class EmployeeRestController extends AdminController // print_r($requestData); // dd($requestData); - $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id); + $openForEnrollment = $this->findThePolicyIsOpenForEnrollment($requestData[0]->client_policy_id, $requestData[0]->emp_code); if($openForEnrollment == false){ return $this->respond(['status' => 'failed','code' => 404,'data' => 'Enrollment closed'], 404); } foreach ($requestData as $key => $value) @@ -1455,16 +1455,47 @@ class EmployeeRestController extends AdminController $array->family_floaters_of_dependent_and_gst_value = 0; } - $checkGmcParentsPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, policy_type.long_name as Policy_Name , client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.is_premium_summery as is_premium_summery, client_policy.enrolment_visibility') - ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left') - ->where('client_policy.policy_type_id', 3 ) - ->where('client_policy.is_addon', 1 ) - ->where('client_policy.client_id', $this->request->getGet('client_id') ) - ->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id') ) - ->where('client_policy.is_active', 1 ) - ->where('client_policy.enrolment_visibility', 1 ) - ->get() - ->getResult(); + $checkGmcParentsPolicyExist = $this->clientPolicyModel->select(" + client_policy.id as ClientPolicyId, + client_policy.client_id as ClientId, + client_policy.policy_type_id as policy_type_id, + policy_type.long_name as Policy_Name , + client_policy.is_addon as is_addon , + ( + SELECT COALESCE( + MAX( + CASE + WHEN ep.enrollment_open_date <= CURDATE() + AND ep.enrollment_close_date >= CURDATE() + THEN 1 + ELSE 0 + END + ), 0 + ) + FROM employee_polices ep + INNER JOIN employees e ON e.id = ep.employee_id + WHERE e.is_active = 1 + AND ep.is_active = 1 + AND ep.enrollment_open_date IS NOT NULL + AND ep.enrollment_close_date IS NOT NULL + AND e.emp_code = {$emp_code} + AND ep.client_policy_id = client_policy.id + ) AS OpenForEnrollment, + -- client_policy.open_for_enrollment as OpenForEnrollment, + client_policy.inception_type as inception_type , + client_policy.policy_terms as Policy_Terms , + client_policy.is_premium_summery as is_premium_summery, + client_policy.enrolment_visibility + ") + ->join('policy_type', 'client_policy.policy_type_id = policy_type.id', 'left') + ->where('client_policy.policy_type_id', 3 ) + ->where('client_policy.is_addon', 1 ) + ->where('client_policy.client_id', $this->request->getGet('client_id') ) + ->where('client_policy.client_branch_id', $this->request->getGet('client_branch_id') ) + ->where('client_policy.is_active', 1 ) + ->where('client_policy.enrolment_visibility', 1 ) + ->get() + ->getResult(); if($checkGmcParentsPolicyExist) { $GmcParrentsData = $this->getGmcParrentsPolicy($checkGmcParentsPolicyExist,$emp_code,$client_id,$client_branch_id); @@ -1746,7 +1777,37 @@ class EmployeeRestController extends AdminController public function getAdditionalGPAPolicy($empData,$policy_type,$emp_code,$client_id,$client_branch_id,$login_by_hr) { - $checkPolicyExist = $this->clientPolicyModel->select('client_policy.id as ClientPolicyId , client_policy.client_id as ClientId, client_policy.policy_type_id as policy_type_id, client_policy.is_addon as is_addon , client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.enrolment_visibility,client_policy.is_premium_summery') + $checkPolicyExist = $this->clientPolicyModel->select(" + client_policy.id as ClientPolicyId , + client_policy.client_id as ClientId, + client_policy.policy_type_id as policy_type_id, + client_policy.is_addon as is_addon , + ( + SELECT COALESCE( + MAX( + CASE + WHEN ep.enrollment_open_date <= CURDATE() + AND ep.enrollment_close_date >= CURDATE() + THEN 1 + ELSE 0 + END + ), 0 + ) + FROM employee_polices ep + INNER JOIN employees e ON e.id = ep.employee_id + WHERE e.is_active = 1 + AND ep.is_active = 1 + AND ep.enrollment_open_date IS NOT NULL + AND ep.enrollment_close_date IS NOT NULL + AND e.emp_code = {$emp_code} + AND ep.client_policy_id = client_policy.id + ) AS OpenForEnrollment, + -- client_policy.open_for_enrollment as OpenForEnrollment , + client_policy.inception_type as inception_type , + client_policy.policy_terms as Policy_Terms , + client_policy.enrolment_visibility, + client_policy.is_premium_summery + ") ->where('client_policy.policy_type_id', $policy_type ) ->where('client_policy.is_addon', 1 ) ->where('client_policy.client_id', $client_id ) @@ -2062,6 +2123,7 @@ class EmployeeRestController extends AdminController { try { + $emp_code = $this->request->getGet('emp_code'); $addOnEmployeeData = $this->employeeModel->where('is_active', 1 ) ->where('emp_code',$this->request->getGet('emp_code')) ->where('client_id',$this->request->getGet('client_id')) @@ -2070,7 +2132,30 @@ class EmployeeRestController extends AdminController - $clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id')) + $clientPolicy = $this->clientPolicyModel->select(" + client_policy.*, + ( + SELECT COALESCE( + MAX( + CASE + WHEN ep.enrollment_open_date <= CURDATE() + AND ep.enrollment_close_date >= CURDATE() + THEN 1 + ELSE 0 + END + ), 0 + ) + FROM employee_polices ep + INNER JOIN employees e ON e.id = ep.employee_id + WHERE e.is_active = 1 + AND ep.is_active = 1 + AND ep.enrollment_open_date IS NOT NULL + AND ep.enrollment_close_date IS NOT NULL + AND e.emp_code = {$emp_code} + AND ep.client_policy_id = client_policy.id + ) AS open_for_enrollment + ") + ->where('client_id',$this->request->getGet('client_id')) ->where('client_branch_id',$this->request->getGet('client_branch_id')) ->where('policy_status', 1) ->where('is_active', 1) @@ -2079,6 +2164,7 @@ class EmployeeRestController extends AdminController if(count($clientPolicy)) { + $self = $this->employeeModel->where('employees.is_active', 1) ->where('employees.emp_code', $this->request->getGet('emp_code')) ->where('employees.client_id', $this->request->getGet('client_id')) @@ -3632,15 +3718,25 @@ class EmployeeRestController extends AdminController } - public function findThePolicyIsOpenForEnrollment($plicy_id) + public function findThePolicyIsOpenForEnrollment($plicy_id, $emp_code) { - $policy = $this->clientPolicyModel->where('id',$plicy_id)->where('open_for_enrollment',1)->find(); - + // $policy = $this->clientPolicyModel->where('id',$plicy_id)->where('open_for_enrollment',1)->find(); + $policy = $this->employeePolicyModel + ->join('employees', 'employee_polices.employee_id = employees.id') + ->where('employees.emp_code',$emp_code) + ->where('employees.family_floater_key','self') + ->where('employee_polices.client_policy_id',$plicy_id) + ->where('employee_polices.enrollment_open_date <= CURDATE()', null, false) + ->where('employee_polices.enrollment_close_date >= CURDATE()', null, false) + ->where('employees.is_active', 1) + ->where('employee_polices.is_active', 1) + ->find(); + if($policy) - return true; + return true; else - return false; + return false; } @@ -3782,7 +3878,9 @@ class EmployeeRestController extends AdminController ->where('employees.is_active', 1) ->where('employee_polices.is_active', 1) ->where('cp.enrolment_visibility', 1) - ->where('cp.open_for_enrollment', 1) + // ->where('cp.open_for_enrollment', 1) + ->where('employee_polices.enrollment_open_date <= CURDATE()', null, false) + ->where('employee_polices.enrollment_close_date >= CURDATE()', null, false) ->where('cp.policy_status', 1) ->whereIn('cp.policy_type_id', [1, 2, 3, 6, 7]) ->orderBy('employees.created_at', 'desc') @@ -3834,7 +3932,9 @@ class EmployeeRestController extends AdminController ->where('employees.is_active', 1) ->where('employee_polices.is_active', 1) ->where('cp.enrolment_visibility', 1) - ->where('cp.open_for_enrollment', 1) + // ->where('cp.open_for_enrollment', 1) + ->where('employee_polices.enrollment_open_date <= CURDATE()', null, false) + ->where('employee_polices.enrollment_close_date >= CURDATE()', null, false) ->where('cp.policy_status', 1) ->whereIn('cp.policy_type_id', [1, 2, 3, 6, 7]) ->orderBy('employees.created_at', 'desc'); diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index 300e6aa..b5075d6 100755 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -2085,6 +2085,9 @@ public function getFileMetaDataByFileId($file_id, $status = 'success'){ $policy_data['basic_cover_si'] = $row[9]; $policy_data['date_coverage'] = $row[13] != "" && $row[13] != null ? change_date_format($row[13],'d-M-Y','Y-m-d') : null; $policy_data['client_policy_id'] = $file['policy_id']; + $policy_data['enrollment_open_date'] = $file['enrollment_open_date'] ?? null; + $policy_data['enrollment_close_date'] = $file['enrollment_close_date'] ?? null; + $employee = $this->employeeModel->checkExistingEmployee($value,$file['client_branch_id']); unset($value['temp']); diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php index 765b8af..6adc430 100755 --- a/app/Helpers/utility_helper.php +++ b/app/Helpers/utility_helper.php @@ -556,7 +556,9 @@ if (!function_exists('change_date_format')) { if ($source_format !== null && $output_format !== null) { $date = DateTime::createFromFormat($source_format, $date_str); if (!$date) { - throw new Exception("Invalid date string for source format: $source_format"); + // throw new Exception("Invalid date string for source format: $source_format"); + log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return $date->format($output_format); } @@ -565,7 +567,9 @@ if (!function_exists('change_date_format')) { if ($source_format !== null && $output_format === null) { $date = DateTime::createFromFormat($source_format, $date_str); if (!$date) { - throw new Exception("Invalid date string for source format: $source_format"); + // throw new Exception("Invalid date string for source format: $source_format"); + log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return $date->format('Y-m-d'); // MySQL default format } @@ -580,10 +584,17 @@ if (!function_exists('change_date_format')) { } // If no format matches, throw an exception $allowed_placeholders = implode(', ', $allowed_formats); - throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders"); + // throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders"); + log_message( + 'error', + "❌ Date format error: Invalid date string. Allowed formats: {$allowed_placeholders} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}" + ); + return null; } } catch (Exception $e) { - return "Error: " . $e->getMessage(); + // return "Error: " . $e->getMessage(); + log_message('error', "❌ Date format error: {$e->getMessage()} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return null; diff --git a/app/Models/EmployeeModel.php b/app/Models/EmployeeModel.php index c556bdb..47bf0b3 100755 --- a/app/Models/EmployeeModel.php +++ b/app/Models/EmployeeModel.php @@ -159,10 +159,12 @@ class EmployeeModel extends Model client_policy.policy_id as PolicyId, client_policy.id as ClientPolicyId, client_policy.is_premium_summery, - CASE - WHEN client_policy.open_for_enrollment IS NULL THEN 0 - ELSE client_policy.open_for_enrollment - END AS OpenForEnrollment, + CASE + WHEN employee_polices.enrollment_open_date <= CURDATE() + AND employee_polices.enrollment_close_date >= CURDATE() + THEN 1 + ELSE 0 + END AS OpenForEnrollment client_policy.disclaimer, client_policy.policy_type_id , employee_polices.tpa_id as tpa_id , diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index d29c75f..306e6ee 100755 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -35,7 +35,9 @@ class EmployeePolicyModel extends Model "claim_status", 'ecard_sent_status', 'payable_employee', - 'file_id' + 'file_id', + "enrollment_open_date", + "enrollment_close_date", ]; // Callbacks diff --git a/app/Models/FileModel.php b/app/Models/FileModel.php index 5b27a7d..2029ea9 100755 --- a/app/Models/FileModel.php +++ b/app/Models/FileModel.php @@ -20,7 +20,9 @@ class FileModel extends Model "policy_id", "client_branch_id", "uploaded_by", - "updated_by" + "updated_by", + "enrollment_open_date", + "enrollment_close_date", ]; diff --git a/app/Views/employee_upload.php b/app/Views/employee_upload.php index 4d54c71..1d20b1d 100755 --- a/app/Views/employee_upload.php +++ b/app/Views/employee_upload.php @@ -71,6 +71,16 @@ option:disabled { ?> + +
+ + +
+ +
+ + +

@@ -180,6 +190,26 @@ $(document).ready(function() { $("#policy_id").select2(); $("#branch_id").select2(); + var enrollment_open_date = flatpickr("#enrollment_open_date", { + dateFormat: "d/m/Y", + allowInput: false, + minDate: "today", + onChange: function (selectedDates) { + if (selectedDates.length) { + enrollment_close_date.setDate( + new Date(selectedDates[0].getTime() + 15 * 24 * 60 * 60 * 1000), + true + ); + } + } + }); + + var enrollment_close_date = flatpickr("#enrollment_close_date", { + dateFormat: "d/m/Y", + allowInput: false, + minDate: "today" + }); + }); // Declare a global variable to store API response data diff --git a/app/Views/file_list.php b/app/Views/file_list.php index cf7b4d6..837caac 100755 --- a/app/Views/file_list.php +++ b/app/Views/file_list.php @@ -44,8 +44,27 @@ // echo $reason; ?> - - + + + + + From d4baacb05521a106599e0c374cdea838dfcd8f4a Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 23 Dec 2025 14:22:02 +0530 Subject: [PATCH 2/3] FIX_ENROLLMENT_WINDOW --- app/Controllers/EmployeeRestController.php | 8 +++----- app/Models/EmployeeModel.php | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 60a3e05..05d9602 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -1478,10 +1478,9 @@ class EmployeeRestController extends AdminController AND ep.is_active = 1 AND ep.enrollment_open_date IS NOT NULL AND ep.enrollment_close_date IS NOT NULL - AND e.emp_code = {$emp_code} + AND e.emp_code = '{$emp_code}' AND ep.client_policy_id = client_policy.id ) AS OpenForEnrollment, - -- client_policy.open_for_enrollment as OpenForEnrollment, client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.is_premium_summery as is_premium_summery, @@ -1799,10 +1798,9 @@ class EmployeeRestController extends AdminController AND ep.is_active = 1 AND ep.enrollment_open_date IS NOT NULL AND ep.enrollment_close_date IS NOT NULL - AND e.emp_code = {$emp_code} + AND e.emp_code = '{$emp_code}' AND ep.client_policy_id = client_policy.id ) AS OpenForEnrollment, - -- client_policy.open_for_enrollment as OpenForEnrollment , client_policy.inception_type as inception_type , client_policy.policy_terms as Policy_Terms , client_policy.enrolment_visibility, @@ -2151,7 +2149,7 @@ class EmployeeRestController extends AdminController AND ep.is_active = 1 AND ep.enrollment_open_date IS NOT NULL AND ep.enrollment_close_date IS NOT NULL - AND e.emp_code = {$emp_code} + AND e.emp_code = '{$emp_code}' AND ep.client_policy_id = client_policy.id ) AS open_for_enrollment ") diff --git a/app/Models/EmployeeModel.php b/app/Models/EmployeeModel.php index 47bf0b3..c5bd85b 100755 --- a/app/Models/EmployeeModel.php +++ b/app/Models/EmployeeModel.php @@ -164,7 +164,7 @@ class EmployeeModel extends Model AND employee_polices.enrollment_close_date >= CURDATE() THEN 1 ELSE 0 - END AS OpenForEnrollment + END AS OpenForEnrollment, client_policy.disclaimer, client_policy.policy_type_id , employee_polices.tpa_id as tpa_id , From 317723c1a7768e771c16abf0118af7b4d3c3e6e0 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 23 Dec 2025 15:25:02 +0530 Subject: [PATCH 3/3] CHANGE_NEW_PLACE_HOLD_OPEND_CLOSE_DATE_WELCOME_MAIL_HANDLE --- app/Controllers/ClientController.php | 4 +- app/Controllers/EmployeeServiceController.php | 2 + app/Helpers/sendMailNotification.php | 21 ++++++++ app/Views/client_policy.php | 52 ++++++++++--------- app/Views/notification.php | 2 +- 5 files changed, 54 insertions(+), 27 deletions(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 5afb6bb..5c77edf 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -507,7 +507,7 @@ 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', 'post_enrollment_app_link', 'client_name'];
+        $data['placeHolders'] = ['member_name', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name', 'enrollment_open_date', 'enrollment_close_date'];
 
         // dd($data['placeHolders']);
 
@@ -653,7 +653,7 @@ class ClientController extends AdminController
         $editData['client_policy']    = $clientPoliceData;
         $editData['client_policy']['role'] = get_role_id();
         $editData['notification'] = $this->notificationModel->select('template_name,enabled')->where('client_id', $id)->findAll();
-        $editData['placeHolders'] = ['member_name', 'member_mobile', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name'];
+        $editData['placeHolders'] = ['member_name', 'member_mobile', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name', 'enrollment_open_date', 'enrollment_close_date'];
         
         $editData['auto_fetch_client_list'] =  $this->getClientListFromPost();
 
diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php
index b5075d6..15da05b 100755
--- a/app/Controllers/EmployeeServiceController.php
+++ b/app/Controllers/EmployeeServiceController.php
@@ -2170,6 +2170,8 @@ public function getFileMetaDataByFileId($file_id, $status = 'success'){
                                         'client_policy_id' => $file['policy_id'],
                                         'employee_policy_id' => $emp_policy_id ?? null,
                                         'employee_id' => $emp_id,
+                                        'enrollment_open_date' => $file['enrollment_open_date'] ?? null,
+                                        'enrollment_close_date' => $file['enrollment_close_date'] ?? null,
                                         'mail_type' => 'member_welcome_mail',
                                     ];
                                    //store email and mail content via helper to send notification
diff --git a/app/Helpers/sendMailNotification.php b/app/Helpers/sendMailNotification.php
index 859cd08..01b1d80 100755
--- a/app/Helpers/sendMailNotification.php
+++ b/app/Helpers/sendMailNotification.php
@@ -51,12 +51,23 @@ class sendMailNotification
             $nhance_logo = $_ENV['NHANCE_LOGO'];
             $client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
 
+            $enrollment_open_date = !empty($dataToInsert['enrollment_open_date'] ?? null)
+                ? change_date_format($dataToInsert['enrollment_open_date'], 'Y-m-d', 'F d, Y')
+                : 'N/A';
+
+            $enrollment_close_date = !empty($dataToInsert['enrollment_close_date'] ?? null)
+                ? change_date_format($dataToInsert['enrollment_close_date'], 'Y-m-d', 'F d, Y')
+                : 'N/A';
+
             $mail_content = str_replace(["[[client_logo]]", "{{client_logo}}"], "Client Logo", $mail_content);
             $mail_content = str_replace(["[[nhance_logo]]", "{{nhance_logo}}"], "Nhance Logo", $mail_content);
             $mail_content = str_replace(["[[member_name]]", "{{member_name}}"], $employee_name, $mail_content);
             $mail_content = str_replace(["[[member_mobile]]", "{{member_mobile}}"], $employee_mobile_no, $mail_content);
             $mail_content = str_replace(["[[client_name]]", "{{client_name}}"], $client_data['client_name'], $mail_content);
 
+            $mail_content = str_replace(["[[enrollment_open_date]]", "{{enrollment_open_date}}"], $enrollment_open_date, $mail_content);
+            $mail_content = str_replace(["[[enrollment_close_date]]", "{{enrollment_close_date}}"], $enrollment_close_date, $mail_content);
+
             $mail_content = str_replace(["[[app_link]]", "{{app_link}}"], "Review Details", $mail_content);
             if ($dataToInsert['relationship'] == 'Self' && $mail != null || $mail != '') {
                 
@@ -1247,6 +1258,13 @@ class sendMailNotification
 
             $app_link = $_ENV['App_Url'];
             $nhance_logo = $_ENV['NHANCE_LOGO'];
+            $enrollment_open_date = !empty($dataToInsert['enrollment_open_date'] ?? null)
+                ? date('F d, Y', strtotime(str_replace('/', '-', $dataToInsert['enrollment_open_date'] ?? '')))
+                : date('F d, Y');
+
+            $enrollment_close_date = !empty($dataToInsert['enrollment_close_date'] ?? null)
+                ? date('F d, Y', strtotime(str_replace('/', '-', $dataToInsert['enrollment_close_date'] ?? '')))
+                : date('F d, Y', strtotime('+15 days'));
 
             $client_logo = base_url() . "public/uploads/logo/" . $client_data['client_logo'];
 
@@ -1256,6 +1274,9 @@ class sendMailNotification
             $mail_content = str_replace(["[[member_mobile]]", "{{member_mobile}}"], $mobile, $mail_content);
             $mail_content = str_replace(["[[client_name]]", "{{client_name}}"], $client_data['client_name'], $mail_content);
 
+            $mail_content = str_replace(["[[enrollment_open_date]]", "{{enrollment_open_date}}"], $enrollment_open_date, $mail_content);
+            $mail_content = str_replace(["[[enrollment_close_date]]", "{{enrollment_close_date}}"], $enrollment_close_date, $mail_content);
+
             $mail_content = str_replace(["[[app_link]]", "{{app_link}}"], "Review Details", $mail_content);
 
             if ($mail != null || $mail != '') {
diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php
index b2f4917..93b0328 100755
--- a/app/Views/client_policy.php
+++ b/app/Views/client_policy.php
@@ -156,7 +156,7 @@ input:checked + .slider:before {
                     Client Branch
                     
                     Date
-                    Enrolment Status
+                    
                     Status
                     Action
                 
@@ -299,7 +299,8 @@ input:checked + .slider:before {
                                 
                              -->
-                            
+ + -
- - -
+ -
- - -
-