diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 683cc3c1..79dc65c4 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -119,7 +119,7 @@ class ClientController extends AdminController { $emp_code = 'MGL-004'; $client_id = 77; - $client_policy_id = 206; + $client_policy_id = 205; $array_list = []; $find = $this->employeeModel->getEmpFamilybyEmpCode(client_policy_id: $client_policy_id, emp_code: $emp_code, client_id: $client_id, emp_status: ['draft', 'enrolled'], policy_status: ['draft', 'enrolled']); @@ -915,6 +915,7 @@ class ClientController extends AdminController $data['client_branch_id'] = $this->request->getPost('client_branch_id'); $data['cd_ac_no'] = $this->request->getPost('cd_ac_no'); $data['gst'] = $this->request->getPost('gst'); + $data['disclaimer'] = $this->request->getPost('disclaimer'); if ($policy_type_id == 1 || $policy_type_id == 2 || $policy_type_id == 6 || $policy_type_id == 7) { @@ -1041,6 +1042,7 @@ class ClientController extends AdminController $data['client_branch_id'] = $this->request->getPost('client_branch_id'); $data['cd_ac_no'] = $this->request->getPost('cd_ac_no'); $data['gst'] = $this->request->getPost('gst'); + $data['disclaimer'] = $this->request->getPost('disclaimer'); $data['policy_start_date'] = change_date_format($this->request->getPost('policy_start_date'), 'd-m-Y', 'Y-m-d'); $data['policy_end_date'] = change_date_format($this->request->getPost('policy_end_date'), 'd-m-Y', 'Y-m-d'); diff --git a/app/Helpers/sendMailNotification.php b/app/Helpers/sendMailNotification.php index 91907824..b598cf95 100755 --- a/app/Helpers/sendMailNotification.php +++ b/app/Helpers/sendMailNotification.php @@ -3,10 +3,13 @@ namespace App\Helpers; use App\Models\ClientModel; +use App\Models\ClientPolicyModel; use App\Models\ClientRMModel; use App\Models\NotificationModel; use App\Models\UserModel; use App\Models\EmployeeModel; +use App\Models\PolicyPremium1Model; +use App\Models\PolicyPremium2Model; class sendMailNotification { @@ -169,10 +172,22 @@ class sendMailNotification $clientModel = new ClientModel(); $notificationModel = new NotificationModel(); + $clientPolicyModel = new ClientPolicyModel(); + $PolicyPremium1Model = new PolicyPremium1Model(); + $PolicyPremium2Model = new PolicyPremium2Model(); + $client_data =$clientModel->where('id', $client_id)->first(); $notification_data = $notificationModel->where('client_id' ,$client_id)->where('template_name', $action)->first(); + $client_policy_data = $clientPolicyModel->where('id', $client_policy_id)->first(); + + if($client_policy_data['policy_type_id'] == 1 || $client_policy_data['policy_type_id'] == 6 || $client_policy_data['policy_type_id'] == 7 ){ + $policy_premium_data = $PolicyPremium1Model->where('client_policy_id', $client_policy_id)->first(); + }else{ + $policy_premium_data = $PolicyPremium2Model->where('client_policy_id', $client_policy_id)->first(); + } + // dd($notification_data); if (isset($notification_data) && $notification_data['enabled'] == 1) { @@ -200,14 +215,21 @@ class sendMailNotification $name = ''; $emp_code = ''; + // echo '
';
+                // print_r($array_list); die;
+
                 foreach ($array_list as $item) {
+                    
+
                     if (count($item) != 0) {
-                        $table_content .= '

Policy Name : '; + + $table_content .= '

Policy Type :'; $temp_data = ''; $policy_name = ''; $is_addon = ''; foreach ($item as $inner_item) { + $policy_name = $inner_item['policy_name']; if ($inner_item['relationship'] == 'Self') { @@ -215,17 +237,27 @@ class sendMailNotification } else { $emp_code = ''; } + + + $si = ''; + $premium = ''; + $gst_forself = ''; + if(checkFamilyFloaters($policy_premium_data, $client_policy_data, $inner_item)){ + $si = '₹ ' .format_indian_number($inner_item['basic_cover_si']); + $premium = '₹ ' .format_indian_number(round($inner_item['premium'])); + $gst_forself = '₹ ' .format_indian_number(round($inner_item['gst'])); + } $temp_data .= ''; $temp_data .= '' . $inner_item['name'] . $emp_code . ''; $temp_data .= '' . $inner_item['relationship'] . ''; $temp_data .= '' . \DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y') . ''; - $temp_data .= '₹' . format_indian_number($inner_item['basic_cover_si']) . ''; + $temp_data .= '' . $si . ''; // Only Display SI Topup and Dependent Addon if ($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3) { - $temp_data .= '₹' . format_indian_number(round($inner_item['premium'])) . ''; - $temp_data .= '₹' . format_indian_number(round($inner_item['gst'])) . ''; + $temp_data .= '' . $premium . ''; + $temp_data .= '' . $gst_forself . ''; } $temp_data .= ''; @@ -237,8 +269,13 @@ class sendMailNotification $gst = $inner_item['gst'] + $gst; } } + + $policy_name_for_policy_type = $inner_item['policy_name']; + if($client_policy_data['policy_type_id'] == 3 && $client_policy_data['is_addon'] == 3){ + $policy_name_for_policy_type = 'Add-On Group Medical Coverage for Parents'; + } - $table_content .= $policy_name . '

'; + $table_content .= $policy_name_for_policy_type . '

'; $table_content .= ''; // Add text-align: center to the table head @@ -264,7 +301,7 @@ class sendMailNotification if ($is_addon == 2 || $is_addon == 3) { $addon_list_array = [ - 'policy_name' => $policy_name, + 'policy_name' => $policy_name_for_policy_type, 'addtional_premium' => round($addtional_premium), 'gst' => round($gst) ]; @@ -316,8 +353,6 @@ class sendMailNotification // $table_content .= '
' . $sum_total_words . '
'; } - - // print_r($table_content); die; $mail_content = str_replace("[[member_name]]", $name . ' (' . $emp_code . ')' , $mail_content); @@ -337,14 +372,27 @@ class sendMailNotification } else if($action == 'account_maneger_summary_mail'){ $client_id = $params['client_id']; + $client_policy_id = $params['client_policy_id']; $clientModel = new ClientModel(); $notificationModel = new NotificationModel(); $clientRMModel =new ClientRMModel(); + $clientPolicyModel = new ClientPolicyModel(); + $PolicyPremium1Model = new PolicyPremium1Model(); + $PolicyPremium2Model = new PolicyPremium2Model(); + $client_data =$clientModel->where('id', $client_id)->first(); $notification_data = $notificationModel->where('client_id' ,$client_id)->where('template_name', $action)->first(); + $client_policy_data = $clientPolicyModel->where('id', $client_policy_id)->first(); + + if($client_policy_data['policy_type_id'] == 1 || $client_policy_data['policy_type_id'] == 6 || $client_policy_data['policy_type_id'] == 7 ){ + $policy_premium_data = $PolicyPremium1Model->where('client_policy_id', $client_policy_id)->first(); + }else{ + $policy_premium_data = $PolicyPremium2Model->where('client_policy_id', $client_policy_id)->first(); + } + if (isset($notification_data) && $notification_data['enabled'] == 1) { $client_rm_data= $clientRMModel->where('client_id', $client_id)->where('is_active',1)->findAll(); @@ -381,12 +429,13 @@ class sendMailNotification foreach ($array_list as $item) { if (count($item) != 0) { - $table_content .= '

Policy Name : '; + $table_content .= '

Policy Type :'; $temp_data = ''; $policy_name = ''; $is_addon = ''; foreach ($item as $inner_item) { + $policy_name = $inner_item['policy_name']; if ($inner_item['relationship'] == 'Self') { @@ -394,17 +443,26 @@ class sendMailNotification } else { $emp_code = ''; } + + $si = ''; + $premium = ''; + $gst_forself = ''; + if(checkFamilyFloaters($policy_premium_data, $client_policy_data, $inner_item)){ + $si = '₹ ' .format_indian_number($inner_item['basic_cover_si']); + $premium = '₹ ' .format_indian_number(round($inner_item['premium'])); + $gst_forself = '₹ ' .format_indian_number(round($inner_item['gst'])); + } $temp_data .= '

'; $temp_data .= ''; $temp_data .= ''; $temp_data .= ''; - $temp_data .= ''; + $temp_data .= ''; // Only Display SI Topup and Dependent Addon if ($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3) { - $temp_data .= ''; - $temp_data .= ''; + $temp_data .= ''; + $temp_data .= ''; } $temp_data .= ''; @@ -416,8 +474,13 @@ class sendMailNotification $gst = $inner_item['gst'] + $gst; } } + + $policy_name_for_policy_type = $inner_item['policy_name']; + if($client_policy_data['policy_type_id'] == 3 && $client_policy_data['is_addon'] == 3){ + $policy_name_for_policy_type = 'Add-On Group Medical Coverage for Parents'; + } - $table_content .= $policy_name . ''; + $table_content .= $policy_name_for_policy_type . ''; $table_content .= '
' . $inner_item['name'] . $emp_code . '' . $inner_item['relationship'] . '' . \DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y') . '₹' . format_indian_number($inner_item['basic_cover_si']) . '' . $si . '₹' . format_indian_number(round($inner_item['premium'])) . '₹' . format_indian_number(round($inner_item['gst'])) . '' . $premium . '' . $gst_forself . '
'; // Add text-align: center to the table head @@ -443,7 +506,7 @@ class sendMailNotification if ($is_addon == 2 || $is_addon == 3) { $addon_list_array = [ - 'policy_name' => $policy_name, + 'policy_name' => $policy_name_for_policy_type, 'addtional_premium' => round($addtional_premium), 'gst' => round($gst) ]; @@ -513,14 +576,28 @@ class sendMailNotification } else if($action == 'client_hr_summary_mail'){ $client_id = $params['client_id']; + $client_policy_id = $params['client_policy_id']; $clientModel = new ClientModel(); + $clientPolicyModel = new ClientPolicyModel(); + $PolicyPremium1Model = new PolicyPremium1Model(); + $PolicyPremium2Model = new PolicyPremium2Model(); $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(); + + $client_policy_data = $clientPolicyModel->where('id', $client_policy_id)->first(); + + if($client_policy_data['policy_type_id'] == 1 || $client_policy_data['policy_type_id'] == 6 || $client_policy_data['policy_type_id'] == 7 ){ + $policy_premium_data = $PolicyPremium1Model->where('client_policy_id', $client_policy_id)->first(); + }else{ + $policy_premium_data = $PolicyPremium2Model->where('client_policy_id', $client_policy_id)->first(); + } + + if (isset($notification_data['enabled']) && $notification_data['enabled'] == 1) { $client_rm_data= $clientRMModel->where('client_id', $client_id)->where('is_active',1)->findAll(); $user_list= []; @@ -558,7 +635,7 @@ class sendMailNotification foreach ($array_list as $item) { if (count($item) != 0) { - $table_content .= '

Policy Name : '; + $table_content .= '

Policy Type :'; $temp_data = ''; $policy_name = ''; $is_addon = ''; @@ -571,17 +648,29 @@ class sendMailNotification } else { $emp_code = ''; } + + $si = ''; + $premium = ''; + $gst_forself = ''; + + // dd($policy_premium_data, $client_policy_data, $inner_item); + + if(checkFamilyFloaters($policy_premium_data, $client_policy_data, $inner_item)){ + $si = '₹ ' .format_indian_number($inner_item['basic_cover_si']); + $premium = '₹ ' .format_indian_number(round($inner_item['premium'])); + $gst_forself = '₹ ' .format_indian_number(round($inner_item['gst'])); + } $temp_data .= '

'; $temp_data .= ''; $temp_data .= ''; $temp_data .= ''; - $temp_data .= ''; + $temp_data .= ''; // Only Display SI Topup and Dependent Addon if ($inner_item['is_addon'] == 2 || $inner_item['is_addon'] == 3) { - $temp_data .= ''; - $temp_data .= ''; + $temp_data .= ''; + $temp_data .= ''; } $temp_data .= ''; @@ -594,7 +683,12 @@ class sendMailNotification } } - $table_content .= $policy_name . ''; + $policy_name_for_policy_type = $inner_item['policy_name']; + if($client_policy_data['policy_type_id'] == 3 && $client_policy_data['is_addon'] == 3){ + $policy_name_for_policy_type = 'Add-On Group Medical Coverage for Parents'; + } + + $table_content .= $policy_name_for_policy_type . ''; $table_content .= '
' . $inner_item['name'] . $emp_code . '' . $inner_item['relationship'] . '' . \DateTime::createFromFormat('Y-m-d', $inner_item['dob'])->format('d-m-Y') . '₹' . format_indian_number($inner_item['basic_cover_si']) . '' . $si . '₹' . format_indian_number(round($inner_item['premium'])) . '₹' . format_indian_number(round($inner_item['gst'])) . '' . $premium . '' . $gst_forself . '
'; // Add text-align: center to the table head @@ -620,7 +714,7 @@ class sendMailNotification if ($is_addon == 2 || $is_addon == 3) { $addon_list_array = [ - 'policy_name' => $policy_name, + 'policy_name' => $policy_name_for_policy_type, 'addtional_premium' => round($addtional_premium), 'gst' => round($gst) ]; @@ -836,7 +930,7 @@ class sendMailNotification if (!empty($array_list)) { - $table_content .= '

Policy Name : '; + $table_content .= '

Policy Type :'; $policy_name = $array_list['policy_name']; @@ -985,7 +1079,7 @@ class sendMailNotification $emp_code = ''; if (!empty($array_list)) { - $table_content .= '

Policy Name : '; + $table_content .= '

Policy Type :'; $policy_name = $array_list['policy_name']; @@ -1133,7 +1227,7 @@ class sendMailNotification if (!empty($array_list)) { - $table_content .= '

Policy Name : '; + $table_content .= '

Policy Type :'; $policy_name = $array_list['policy_name']; diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php index e0e8ef06..6e627287 100755 --- a/app/Helpers/utility_helper.php +++ b/app/Helpers/utility_helper.php @@ -375,7 +375,34 @@ if (!function_exists('excelFileGDriveUpload')) { } } +if(!function_exists('checkFamilyFloaters')){ + function checkFamilyFloaters($policy_premium_data, $client_policy_data, $emp_data){ + + if($policy_premium_data['premium_type'] == 1){ + + //only family floater + if ($emp_data['relationship'] == 'Self') { + return true; + } + + if($client_policy_data['policy_type_id'] == 3 && $client_policy_data['is_addon'] == 3){ + if($emp_data['rata_premimum'] > 0){ + return true; + }else{ + return false; + } + } + + return false; + + }else{ + //individual + return true; + } + + } +} function numberToWords($number)