From f601bb5cd5b5d59f4ab3b65bc4c454e10ba5f243 Mon Sep 17 00:00:00 2001 From: aadhavan valli Date: Mon, 18 Mar 2024 19:39:39 +0530 Subject: [PATCH] FEATURE_EMPLOYEE_FILE_UPLOAD_MAIL_HELPER : AADHAVAN --- app/Config/Email.php | 14 +- app/Config/Routes.php | 1 + app/Controllers/ClientController.php | 337 +++++++++--------- app/Controllers/EmployeeRestController.php | 113 +++--- app/Helpers/MailHelper.php | 44 +++ app/Views/client_policy.php | 102 +++--- app/Views/policy_gpa_terms.php | 15 +- app/Views/policy_grid.php | 388 +++++++++------------ composer.json | 1 + 9 files changed, 544 insertions(+), 471 deletions(-) create mode 100644 app/Helpers/MailHelper.php diff --git a/app/Config/Email.php b/app/Config/Email.php index 4dce650b..b6ac8865 100644 --- a/app/Config/Email.php +++ b/app/Config/Email.php @@ -18,7 +18,7 @@ class Email extends BaseConfig /** * The mail sending protocol: mail, sendmail, smtp */ - public string $protocol = 'mail'; + public string $protocol = 'smtp'; /** * The server path to Sendmail. @@ -28,22 +28,22 @@ class Email extends BaseConfig /** * SMTP Server Hostname */ - public string $SMTPHost = ''; + public string $SMTPHost = 'mail.venbait.in'; /** * SMTP Username */ - public string $SMTPUser = ''; + public string $SMTPUser = 'bbone@venbait.in'; /** * SMTP Password */ - public string $SMTPPass = ''; + public string $SMTPPass = 'xk!L(N_-R#};'; /** * SMTP Port */ - public int $SMTPPort = 25; + public int $SMTPPort = 465; /** * SMTP Timeout (in seconds) @@ -62,7 +62,7 @@ class Email extends BaseConfig * to the server. 'ssl' means implicit SSL. Connection on port * 465 should set this to ''. */ - public string $SMTPCrypto = 'tls'; + public string $SMTPCrypto = 'ssl'; /** * Enable word-wrap @@ -77,7 +77,7 @@ class Email extends BaseConfig /** * Type of mail, either 'text' or 'html' */ - public string $mailType = 'text'; + public string $mailType = 'html'; /** * Character set (utf-8, iso-8859-1, etc.) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 41afa3d2..3d703e43 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -220,5 +220,6 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function($routes){ $routes->post("addEmployeeAndDependence", "EmployeeRestController::addEmployeeAndDependence"); }); +$routes->post("sendEmail", "EmployeeRestController::send_email"); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 8d8b8104..87f633fa 100644 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -583,175 +583,194 @@ class ClientController extends AdminController public function createClientPolicyPremium() { - // print_r($this->request->getPost());die(); - $policy_type = $this->request->getPost('policy_type'); - $client_id = $this->request->getPost('client_id'); - $client_policy_id = $this->request->getPost('client_policy_id'); - $policy_grid_id = $this->request->getPost('policy_grid_id'); - $multiplier = $this->request->getPost('multiplier'); - $si_or_bp = $this->request->getPost('si_or_bp'); - $basic_multiplier = $this->request->getPost('basic_multiplier'); - $premium_multiplier =$this->request->getPost('premium_multiplier'); - $basic_pay = $this->request->getPost('basic_pay'); + try { + $policy_type = $this->request->getPost('policy_type'); + $client_id = $this->request->getPost('client_id'); + $client_policy_id = $this->request->getPost('client_policy_id'); + $policy_grid_id = $this->request->getPost('policy_grid_id'); + $si_or_bp = $this->request->getPost('si_or_bp'); + $basic_multiplier = str_replace(',', '', $this->request->getPost('basic_multiplier')); + $premium_multiplier = str_replace(',', '', $this->request->getPost('premium_multiplier')); + $multiplier = str_replace(',', '', $this->request->getPost('multiplier')); + $basic_pay = str_replace(',', '', $this->request->getPost('basic_pay')); + + $data=[]; + $data['client_id'] = $client_id; + $data['client_policy_id'] = $client_policy_id; + $data['policy_grid_id'] = $policy_grid_id; + - if($policy_type !== null && $policy_type !== ''){ + $premium = []; - $this->policyPremium1Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); - - if($si_or_bp == '1'){ - $premiumData = $this->request->getPost('sum_premium'); - - }else{ - $premiumData = $this->request->getPost('premium'); + if ($policy_grid_id == '1' || $policy_grid_id == '2') { + $this->policyPremium1Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); + } else { + $this->policyPremium2Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); } + - for ($i = 0; $i < count($premiumData); $i++) { - $data = [ - 'client_id' => $client_id, - 'client_policy_id' => $client_policy_id, - 'policy_grid_id' => $policy_grid_id, - 'created_by' => get_session_userid(), - ]; - - if ($si_or_bp == '2') { - if(is_array($this->request->getPost('basic_si'))){ - $si = isset($this->request->getPost('basic_si')[$i]) ? $this->request->getPost('basic_si')[$i] : null; - }else{ - $si = $this->request->getPost('basic_si'); - } - } else { - if(is_array($this->request->getPost('si'))){ - $si = isset($this->request->getPost('si')[$i]) ? $this->request->getPost('si')[$i] : null; - }else{ - $si = $this->request->getPost('si'); - } - } - - - if($si_or_bp == '1'){ - if(is_array($this->request->getPost('sum_premium'))){ - $premium = isset($this->request->getPost('sum_premium')[$i]) ? $this->request->getPost('sum_premium')[$i] : null; - }else{ - $premium = $this->request->getPost('sum_premium'); - } - }else{ - if(is_array($this->request->getPost('premium'))){ - $premium = isset($this->request->getPost('premium')[$i]) ? $this->request->getPost('premium')[$i] : null; - }else{ - $premium = $this->request->getPost('premium'); - } - } - - // $basic_gpa_premium = isset($basic_gpa_premium[$i]) ? $basic_gpa_premium[$i] : null; - if ($si !== null) { - $data['si'] = $si; - } - if ($premium !== null) { - $data['premium'] = $premium; - } - - if($si_or_bp == 2){ - if ($premium_multiplier !== null) { - $data['multiplier'] = $premium_multiplier; - } - }else{ - if ($multiplier !== null) { + if($policy_grid_id == '1'){ + if ($si_or_bp == '1') { + $premium=str_replace(',', '', $this->request->getPost('gpa_sum_premium[]')); + $sum_insure=str_replace(',', '', $this->request->getPost('gpa_sum_si[]')); + $multiplier=$this->request->getPost('gpa_sum_multiplier'); + for ($i=0; $i < count($premium) ; $i++) { + $data['si'] = $sum_insure[$i]; + $data['premium'] = $premium[$i]; $data['multiplier'] = $multiplier; + $data['si_or_bp'] = $this->request->getPost('si_or_bp'); + + $policyPremium= $this->policyPremium1Model->insert($data); } - } - - if ($si_or_bp !== null) { - $data['si_or_bp'] = $si_or_bp; - } + } else { + $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_basic_premium')); + $data['si'] = str_replace(',', '', $this->request->getPost('gpa_basic_si')); + $data['basic_multiplier'] = str_replace(',', '', $this->request->getPost('basic_multiplier')); + $data['multiplier'] = $this->request->getPost('premium_multiplier'); + $data['basic_pay'] = str_replace(',', '', $this->request->getPost('basic_pay')); + $data['si_or_bp'] = $this->request->getPost('si_or_bp'); - + $policyPremium= $this->policyPremium1Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '2'){ + $data['premium'] = str_replace(',', '', $this->request->getPost('gpa_premium')); + $data['si'] = str_replace(',', '', $this->request->getPost('gpa_si')); - if ($basic_multiplier !== null) { - $data['basic_multiplier'] = $basic_multiplier; + $policyPremium= $this->policyPremium1Model->insert($data); + + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '3'){ + $premium=$this->request->getPost('3_premium[]'); + $sum_insure =$this->request->getPost('3_si[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $dataa= $this->policyPremium2Model->insert($data); } - - if ($basic_pay !== null) { - $data['basic_pay'] = $basic_pay; + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '4'){ + $premium=$this->request->getPost('4_premium[]'); + $sum_insure =$this->request->getPost('4_si'); + $age_from =$this->request->getPost('4_age_from[]'); + $age_to =$this->request->getPost('4_age_to[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure); + $data['age_from'] = $age_from[$i]; + $data['age_to'] = $age_to[$i]; + $dataa= $this->policyPremium2Model->insert($data); } - - $this->policyPremium1Model->insert($data); + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '5'){ + $premium=$this->request->getPost('5_premium[]'); + $sum_insure =$this->request->getPost('5_si[]'); + $age_from =$this->request->getPost('5_age_from[]'); + $age_to =$this->request->getPost('5_age_to[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['age_from'] = $age_from[$i]; + $data['age_to'] = $age_to[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '6'){ + $premium=$this->request->getPost('6_premium[]'); + $sum_insure =$this->request->getPost('6_si[]'); + $age_from =$this->request->getPost('6_age_from[]'); + $age_to =$this->request->getPost('6_age_to[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['age_from'] = $age_from[$i]; + $data['age_to'] = $age_to[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '7'){ + $premium=$this->request->getPost('7_premium[]'); + $sum_insure =$this->request->getPost('7_si[]'); + $age_from =$this->request->getPost('7_age_from[]'); + $age_to =$this->request->getPost('7_age_to[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['age_from'] = $age_from[$i]; + $data['age_to'] = $age_to[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '8'){ + $premium=$this->request->getPost('8_premium[]'); + $sum_insure =$this->request->getPost('8_si[]'); + $grade =$this->request->getPost('8_grade[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['grade'] = $grade[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '9'){ + $premium=$this->request->getPost('9_premium[]'); + $sum_insure =$this->request->getPost('9_si[]'); + $grade =$this->request->getPost('9_grade[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['grade'] = $grade[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '10'){ + $premium=$this->request->getPost('10_premium[]'); + $sum_insure =$this->request->getPost('10_si[]'); + $age_from =$this->request->getPost('10_age_from[]'); + $age_to =$this->request->getPost('10_age_to[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['age_from'] = $age_from[$i]; + $data['age_to'] = $age_to[$i]; + $policyPremium= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; + }else if($policy_grid_id == '11'){ + $premium=$this->request->getPost('11_premium[]'); + $sum_insure =$this->request->getPost('11_si[]'); + $grade =$this->request->getPost('11_grade[]'); + $max_sum_insure =$this->request->getPost('11_max_si[]'); + for ($i=0; $i < count($premium) ; $i++) { + $data['premium'] = str_replace(',', '',$premium[$i]); + $data['si'] = str_replace(',', '', $sum_insure[$i]); + $data['grade'] = $grade[$i]; + $data['max_si'] = $max_sum_insure[$i]; + $dataa= $this->policyPremium2Model->insert($data); + } + $data = $this->request->getPost(); + $insert = true; } - $data = $this->request->getPost(); - $insert = true; if($insert){ return $this->respond(['status' => true,'code' => 200,'data' => $data], 200); - }else{ + }else{ return $this->respond(['status' => false,'code' => 404, 'data' => $data,'message' => 'no data found'], 200); - - } - // print_r($data); - // die(); - // $data['created_by'] = get_session_userid(); - // $this->policyPremium1Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); - // $insert = $this->policyPremium1Model->insert($data); - }else{ - - $this->policyPremium2Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); - $premiumData = $this->request->getPost('premium'); - for ($i = 0; $i < count($premiumData); $i++) { - - $data = [ - 'client_id' => $client_id, - 'client_policy_id' => $client_policy_id, - 'policy_grid_id' => $policy_grid_id, - 'created_by' => get_session_userid(), - - ]; - - if(is_array($this->request->getPost('si'))){ - $si = isset($this->request->getPost('si')[$i]) ? $this->request->getPost('si')[$i] : null; - }else{ - $si = $this->request->getPost('si'); - } - $age_from = isset($this->request->getPost('age_from')[$i]) ? $this->request->getPost('age_from')[$i] : null; - $age_to = isset($this->request->getPost('age_to')[$i]) ? $this->request->getPost('age_to')[$i] : null; - $premium = isset($premiumData[$i]) ? $premiumData[$i] : null; - $grade = isset($this->request->getPost('grade')[$i]) ? $this->request->getPost('grade')[$i] : null; - $max_si = isset($this->request->getPost('max_si')[$i]) ? $this->request->getPost('max_si')[$i] : null; - - if ($si !== null) { - $data['si'] = $si; - } - - if ($age_from !== null) { - $data['age_from'] = $age_from; - } - - if ($age_to !== null) { - $data['age_to'] = $age_to; - } - - if ($premium !== null) { - $data['premium'] = $premium; - } - - if ($max_si !== null) { - $data['max_si'] = $max_si; - } - - if ($grade !== null) { - $data['grade'] = $grade; - } - - $this->policyPremium2Model->insert($data); - } - $data = $this->request->getPost(); - $insert = true; - } - - if($insert){ - return $this->respond(['status' => true,'code' => 200,'data' => $data], 200); - }else{ - return $this->respond(['status' => false,'code' => 404, 'data' => $data,'message' => 'no data found'], 200); - - } - + } + } catch (Exception $e) { + // Handle exceptions here + echo 'Error: ' . $e->getMessage(); + } } @@ -844,14 +863,12 @@ class ClientController extends AdminController }else{ $premiumData = $this->policyPremium2Model->where(['client_id' => $record['client_id'], 'client_policy_id' => $client_policy_id, 'is_active' => 1])->findAll(); } - - // echo '
';
         // print_r($results);
         // print_r($data[0]->policy_type); die;
                     // echo "hello";
-            // print_r($premiumData);
-        return $this->respond(['status' => true,'code' => 200,'data' => $results, 'premiumData' => $premiumData, 'count' => $emp_count, 'policy_name' => $policy_name], 200);
+            // return json_encode($premiumData);
+        return $this->respond(['status' => true,'code' => 200,'data' => $results, 'premiumData' => json_encode($premiumData), 'count' => $emp_count, 'policy_name' => $policy_name], 200);
 
     }
 
@@ -862,6 +879,7 @@ class ClientController extends AdminController
             
             $this->myLogger->logme('error','Terms CREATE function called');
             
+
             /*** Client Policy Table Primary Key(ID) ***/
             $client_policy_id = $this->request->getPost("client_policy_id");
 
@@ -870,6 +888,9 @@ class ClientController extends AdminController
                 $data['corporatebuffer'] = $this->request->getPost("corporatebuffer");
                 $data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];                
 
+                if (!in_array("self", $data['family_floaters'])) {
+                    array_unshift($data['family_floaters'], "self");
+                }
             $data['waiverofpreexistingdiseases']   =$this->request->getPost("waiverofpreexistingdiseases");
             if ($data['waiverofpreexistingdiseases'] == 1) {
                 $data['maternitycoverage']   =$this->request->getPost("maternitycoverage");
diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php
index 9f2d3574..56b8d097 100644
--- a/app/Controllers/EmployeeRestController.php
+++ b/app/Controllers/EmployeeRestController.php
@@ -2,6 +2,8 @@
 
 namespace App\Controllers;
 
+use App\Helpers\MailHelper;
+
 use CodeIgniter\HTTP\IncomingRequest;
 use CodeIgniter\HTTP\RequestInterface;
 use CodeIgniter\HTTP\ResponseInterface;
@@ -14,6 +16,7 @@ use App\Models\ClientModel;
 use App\Models\PolicesModel;
 use App\Models\RelationshipModel;
 use App\Models\FileModel;
+use App\Models\ClientPolicyModel;
 
 
 use PhpOffice\PhpSpreadsheet\Spreadsheet;
@@ -36,6 +39,7 @@ class EmployeeRestController extends AdminController
     protected $fileModel;
     protected $policesModel;
     protected $relationshipModel;
+    protected $clientPolicyModel;
 
     public function __construct()
     {
@@ -48,6 +52,7 @@ class EmployeeRestController extends AdminController
         $this->policesModel = new PolicesModel();
         $this->relationshipModel = new RelationshipModel();
         $this->fileModel= new FileModel();
+        $this->clientPolicyModel= new ClientPolicyModel();
     }
 
   
@@ -144,7 +149,7 @@ class EmployeeRestController extends AdminController
         
     }
 
-
+    
     public function addEmployeeAndDependence()
     {
         try {
@@ -220,7 +225,7 @@ class EmployeeRestController extends AdminController
         }
     }
 
-
+    // Get the RelationShip list
     public function relationshipList()
     {
         try {
@@ -238,18 +243,15 @@ class EmployeeRestController extends AdminController
         }
     }
 
-
+    // Upload the Sheet Data in DB
     public function employeeUpload()
     {
-
         $file = $this->request->getFile('file');
         $client_id = $this->request->getPost('client_id');
         $policy_id = $this->request->getPost('policy_id');
 
-
         $is_moved = $file->move(WRITEPATH . 'uploads/import_excel');
         $filename = $file->getName();
-
         $file_name_with_path = WRITEPATH."/uploads/import_excel/".$filename;
 
         //check the file exist or not
@@ -258,7 +260,6 @@ class EmployeeRestController extends AdminController
             session()->setFlashdata('error', 'File not found');
             return redirect()->to(base_url('employee/upload'));
         }
-
         // Load the Excel file
         $spreadsheet = IOFactory::load($file_name_with_path);
 
@@ -289,17 +290,16 @@ class EmployeeRestController extends AdminController
             $data[] = $rowData;
         }
 
+        
         $extractData['file_name']= $filename;
         $extractData['client_id']= $client_id;
         $extractData['status']= 'success';
         $extractData['policy_id']= $policy_id;
         $extractData['action']= 'enrollment';
-
         //  $extractData['created_by']=set_session_context('Employee');
 
         $file_data =$this->fileModel->insert($extractData);
 
-        // print_r(count($data));
         $extra = [];
         for ($i = 0; $i < count($data); $i++) {
             if ($i == 0) {
@@ -318,57 +318,90 @@ class EmployeeRestController extends AdminController
                 }
             }
         }
-
+        // print_r("Extra", $extra);die;
         $dataToInsert = [];
+        $basic_cover_si= [];
         foreach ($extra['id'] as $index => $id) {
             $record = [
                 // 'id' => $id,
-                'emp_code' => $extra['emp_code'][$index],
+                'emp_code' => isset($extra['emp_code'][$index]) ? $extra['emp_code'][$index] : 0,
                 'name' => $extra['name'][$index],
                 // Check if the 'doj' key exists before accessing it
                 'doj' => isset($extra['doj'][$index]) ? $extra['doj'][$index] : null,
                 'gender' => $extra['gender'][$index],
                 'relationship' => $extra['relationship'][$index],
                 'dob' => $extra['dob'][$index],
-                'email' => $extra['Email'][$index],
+                'email_personal' => $extra['Email'][$index],
+                'client_id' => $client_id,
             ];
+            $record2 = [
+                'basic_cover_si' => isset($extra['sum_insure'][$index]) ? $extra['sum_insure'][$index] : 0,
+            ];
+
             $dataToInsert[] = $record;
+            $basic_cover_si[]= $record2;
         }
-
-                // print_r($dataToInsert);die();
-
-                for ($a=0; $a employeeModel->insert($dataToInsert[$a]);
-
-                     $employee = $this->employeeModel->checkExistingEmpEntrollment($dataToInsert[$a]);
-
-                    // print_r($employee);die;
-                     if (count($employee)) {
-                        // $dataToInsert['id'] = $employee['id'];
-                        $this->employeeModel->update($dataToInsert[$a], ['id' => $employee['id']]);
-                        die();
+        // print_r("dataToInsert", $dataToInsert);die;
+        for ($a=0; $a employeeModel->checkExistingEmpEntrollment($dataToInsert[$a]);
+                    $emp_id =0;
+                    if ($employee) {
+                        $emp_id =$employee['id'];
+                        $id =$emp_id;
+                        $result = $this->employeeModel->update($id, $dataToInsert[$a]);
+                        if ($result) {
+                            $log_message = 'Update Employee - '.$employee['name'].'('.$employee['emp_code'].') with PK '.$employee['id'];
+                            $this->myLogger->logme('error',('Update - ' . $employee['id'].' - '. $employee['emp_code'] .' - '.$employee['name']));
+                        }
                     }else{
+                        $result = $this->employeeModel->insert($dataToInsert[$a]);
+                        $emp_id =$result;
+                        if ($result) {
+                            $emp = $this->employeeModel->where('id', $result)->get()->getResult();
 
-                     }
-                }
-        
-        
-
-
-
-        
-        // $query = $this->employeePolicyModel->getLastQuery();
-        // echo $query . "
"; - // Return the array containing data from the Excel file - // return $data; + $policy_name = $this->employeePolicyModel->where('employee_id', $result)->get()->getResult();; + + + $log_message = 'Insert Employee- '.$dataToInsert[$a]['name'] .'('.$dataToInsert[$a]['emp_code'] .') with PK '; + $this->myLogger->logme('error',('Insert - ' . $dataToInsert[$a]['emp_code'] .' - '. $dataToInsert[$a]['name'])); + } + } + $emp_policy_data =[ + 'employee_id'=>$emp_id, + 'client_policy_id'=>$policy_id, + 'status'=> 'draft', + 'basic_cover_si'=> $basic_cover_si[$a] + ]; + + $employee_policy = $this->employeePolicyModel->checkExistingEmpPolicy(['employee_id' => $emp_id,'client_policy_id' => $policy_id]); + if ($employee_policy) { + foreach ($employee_policy as $existing_policy) { + $this->employeePolicyModel->update($existing_policy['id'], $emp_policy_data); + } + } else { + $emp_policy = $this->employeePolicyModel->insert($emp_policy_data); + } + //trigger + // print_r($dataToInsert[$a]['email_personal']);die; + $policy = $this->clientPolicyModel->where('id', $policy_id)->first(); + $policy_name = $this->policesModel->where('id', $policy['policy_id'])->first(); + $mail = $dataToInsert[$a]['email_personal']; + $subject = 'Welcome, Employee Benefit Program Enrolment'; + $message = 'Dear ' . $dataToInsert[$a]['name'] . ",
We are glad to welcome you to the employee benefit program ," .$policy_name['name'] ."offered by your employer,


Click on the link below to review your personal and family details:
Review Details" ; + $return_log = MailHelper::send_email($mail,$subject, $message); + + // $a = json_decode( $return_log); + + // print_r($a);die; + // $this->myLogger->logme($return_log,''); + } } + } \ No newline at end of file diff --git a/app/Helpers/MailHelper.php b/app/Helpers/MailHelper.php new file mode 100644 index 00000000..6da40441 --- /dev/null +++ b/app/Helpers/MailHelper.php @@ -0,0 +1,44 @@ +setFrom('bbone@venbait.in', 'Venkat'); + + $email->setTo($emaill); + + $email->setSubject($subject); + $email->setMessage($message); + + if ($email->send()) { + return json_encode(['status' => 'success','code' => 200, 'message'=>'Email Sent Successfully...','data' => $emaill,],200); + } else { + return json_encode(['status' => 'failed','code' => 404,'message'=>'Email Sent Failed...','data' => $emaill ],404); + } + + } catch (Exception $e) { + return json_encode(['status' => 'failed','code' => 500,'data' => $e],500); + } + } + + + function logme($message, $email) { + // Your logging logic here + // For example, writing to a log file + file_put_contents('path/to/log/file.txt', $message . "\n", FILE_APPEND); + } +} +?> \ No newline at end of file diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php index a9df6485..7e7dde33 100644 --- a/app/Views/client_policy.php +++ b/app/Views/client_policy.php @@ -694,9 +694,21 @@ } function convertCommaNumberToWords(input) { - // console.log(input); - const number = parseInt(input.replace(/,/g, ''), 10); - return convertNumberToWords(number); + let number; + if (input instanceof HTMLElement) { + const inputValue = input.value; + number = parseInt(inputValue.replace(/,/g, ''), 10); + var convert_word_value = convertNumberToWords(number); + + if (input.nextElementSibling !== null) { + input.nextElementSibling.textContent = convert_word_value; + } + } else { + number = parseInt(input.replace(/,/g, ''), 10); + } + var convert_word_value = convertNumberToWords(number); + + return convert_word_value; } function onlyNumbers(event){ @@ -709,6 +721,7 @@ function formatNumber(input, maxLength) { + // console.log("input", input); maxLength=16; let value = input.value.replace(/\D/g, ''); // Remove non-numeric characters @@ -723,48 +736,49 @@ if (input.id == 'gpa_si') { gpaSumInsureMultiplier(); } + convertCommaNumberToWords(input); - if(input.id == 'basic_pay'){ - var inputNumber = input.value; - if (inputNumber) { - var result = convertCommaNumberToWords(inputNumber); - $("#gpa_basic_pay_number_word").text(result); - } else { - $("#gpa_basic_pay_number_word").text(""); - } - }else if(input.id == 'basic_gpa_si'){ - var inputNumber = input.value; - if (inputNumber) { - var result = convertCommaNumberToWords(inputNumber); - $("#basic_gpa_si_number_word").text(result); - } else { - $("#basic_gpa_si_number_word").text(""); - } - }else if(input.id == 'basic_gpa_premium'){ - var inputNumber = input.value; - if (inputNumber) { - var result = convertCommaNumberToWords(inputNumber); - $("#basic_gpa_premium_number_word").text(result); - } else { - $("#basic_gpa_premium_number_word").text(""); - } - }else if(input.id == 'gpa_si'){ - var inputNumber = input.value; - if (inputNumber) { - var result = convertCommaNumberToWords(inputNumber); - $("#gpa_sum_si_number_word").text(result); - } else { - $("#gpa_sum_si_number_word").text(""); - } - }else if(input.id == 'gpa_premium'){ - var inputNumber = input.value; - if (inputNumber) { - var result = convertCommaNumberToWords(inputNumber); - $("#gpa_sum_premium_number_word").text(result); - } else { - $("#gpa_sum_premium_number_word").text(""); - } - } + // if(input.id == 'basic_pay'){ + // var inputNumber = input.value; + // if (inputNumber) { + // var result = convertCommaNumberToWords(inputNumber); + // $("#gpa_basic_pay_number_word").text(result); + // } else { + // $("#gpa_basic_pay_number_word").text(""); + // } + // }else if(input.id == 'basic_gpa_si'){ + // var inputNumber = input.value; + // if (inputNumber) { + // var result = convertCommaNumberToWords(inputNumber); + // $("#basic_gpa_si_number_word").text(result); + // } else { + // $("#basic_gpa_si_number_word").text(""); + // } + // }else if(input.id == 'basic_gpa_premium'){ + // var inputNumber = input.value; + // if (inputNumber) { + // var result = convertCommaNumberToWords(inputNumber); + // $("#basic_gpa_premium_number_word").text(result); + // } else { + // $("#basic_gpa_premium_number_word").text(""); + // } + // }else if(input.id == 'gpa_si'){ + // var inputNumber = input.value; + // if (inputNumber) { + // var result = convertCommaNumberToWords(inputNumber); + // $("#gpa_sum_si_number_word").text(result); + // } else { + // $("#gpa_sum_si_number_word").text(""); + // } + // }else if(input.id == 'gpa_premium'){ + // var inputNumber = input.value; + // if (inputNumber) { + // var result = convertCommaNumberToWords(inputNumber); + // $("#gpa_sum_premium_number_word").text(result); + // } else { + // $("#gpa_sum_premium_number_word").text(""); + // } + // } return ; // } diff --git a/app/Views/policy_gpa_terms.php b/app/Views/policy_gpa_terms.php index eabdb8bd..a3745720 100644 --- a/app/Views/policy_gpa_terms.php +++ b/app/Views/policy_gpa_terms.php @@ -417,6 +417,10 @@ return; } + setTimeout(function() { + $('.loader').fadeOut(); + $('.loader-mask').delay(350).fadeOut('slow'); + }, 1000); }, error: function(xhr, status, error) { console.error(xhr.responseText); @@ -466,7 +470,11 @@ data: {client_policy_id: client_policy_id}, success: function(res) { - console.log(res) + console.log(res); + setTimeout(function() { + $('.loader').fadeOut(); + $('.loader-mask').delay(350).fadeOut('slow'); + }, 1000); $('#nameOfThePolicyInGPA').html(' - ' + res.policy_name.name); if(res.count){ @@ -533,10 +541,7 @@ $("#sumInsured2").trigger("keyup"); $("#totalSumInsured").trigger("keyup"); - setTimeout(function() { - $('.loader').fadeOut(); - $('.loader-mask').delay(350).fadeOut('slow'); - }, 1000); + }, error: function(xhr, status, error) { diff --git a/app/Views/policy_grid.php b/app/Views/policy_grid.php index 0734c5e4..4d95a66c 100644 --- a/app/Views/policy_grid.php +++ b/app/Views/policy_grid.php @@ -92,17 +92,17 @@
- +
- +
- +
@@ -132,12 +132,12 @@
- +
- +
@@ -155,12 +155,12 @@
- +
- +
`; @@ -176,12 +176,12 @@
- +
- +
@@ -196,26 +196,25 @@ for (var i = 1; i <= 11; i++) { $('#grid_' + i).remove(); } - grid_html = `
-
+
- +
- +
- +
- +
@@ -236,20 +235,20 @@
- +
- +
- +
- +
@@ -267,30 +266,30 @@ grid_html = `
-
+ +
- +
-
-
-
+
+
- +
-
+
- +
- +
-
+
`; } else if(dataIdValue == '7'){ @@ -304,20 +303,20 @@
- +
- +
- +
- +
@@ -339,16 +338,16 @@
- +
- +
- +
@@ -368,16 +367,16 @@
- +
- +
- +
@@ -397,20 +396,20 @@
- +
- +
- +
- +
@@ -430,21 +429,21 @@
- +
- +
- +
- +
@@ -467,6 +466,14 @@ grid_container.insertAdjacentHTML('beforeend', grid_html); + + if(dataIdValue == '1'){ + $('#gpa_sum_si').trigger('keyup'); + // $('input[name="gpa_sum_si[]"]').each(function() { + // console.log($(this)); + // $(this).trigger('keyup'); + // }); + } $('#gpa_sum_insured').hide(); $('#btnGridSubmit').show(); @@ -474,13 +481,6 @@ setTimeout(() => { $('#si_or_bp').trigger('change'); }, 300); - - - - - - - }; @@ -575,7 +575,16 @@ data: { client_policy_id: client_policy_id}, dataType: 'json', success: function (res) { + setTimeout(function() { + $('.loader').fadeOut(); + $('.loader-mask').delay(350).fadeOut('slow'); + }, 1000); console.log('res',res); + var temp_for_premiumData = JSON.parse(res.premiumData); + + res.premiumData= JSON.parse(res.premiumData); + + $('#nameOfThePolicy').html(' - ' + res.policy_name); $('#grid_emp_count').val(res.count); @@ -606,7 +615,6 @@ addGridHTML(false, res.premiumData[0], res.premiumData[0].policy_grid_id, si_or_bp_value); - res.premiumData.shift(); $.each(res.premiumData, function(index, item){ if (item.si_or_bp == '1') { @@ -623,33 +631,29 @@ $('#bs-example-modal-lg').modal('show'); - // $("#gpa_si").trigger("keyup"); - // $("#basic_gpa_premium").trigger("keyup"); - - // $("#sum_insured").trigger("keyup"); - // $("#premium").trigger("keyup"); - + $("#gpa_si").trigger("keyup"); + $("#gpa_premium").trigger("keyup"); $('#basic_pay').trigger('keyup'); + $('#4_si').trigger('keyup'); - $('input[name="si[]"]').each(function() { + $('input[name="gpa_sum_si[]"]').each(function() { $(this).trigger('keyup'); }); - - - $('input[name="premium[]"]').each(function() { + $('input[name="gpa_sum_premium[]"]').each(function() { $(this).trigger('keyup'); }); - // $("input[name='si[]']").trigger("keyup"); - // $("input[name='premium[]']").trigger("keyup") - - setTimeout(function() { - $('.loader').fadeOut(); - $('.loader-mask').delay(350).fadeOut('slow'); - }, 1000);si - + var id_for_trigger =temp_for_premiumData[0].policy_grid_id; + $(`input[name="${id_for_trigger}_si[]"]`).each(function() { + console.log($(this)); + $(this).trigger('keyup'); + }); + $(`input[name="${id_for_trigger}_premium[]"]`).each(function() { + console.log($(this)); + $(this).trigger('keyup'); + }); }, error: function (xhr, status, error) { console.error(xhr.responseText); @@ -762,12 +766,12 @@ html = `
- +
- +
@@ -787,12 +791,12 @@
- +
- +
@@ -809,15 +813,15 @@
- +
- +
- +
@@ -833,20 +837,20 @@
- +
- +
- +
- +
@@ -859,29 +863,28 @@ html =`
-
+ +
- +
-
-
-
- - -
-
- - -
-
- - -
-
-
- - -
+
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
`; @@ -891,20 +894,20 @@
- +
- +
- +
- +
@@ -919,16 +922,16 @@
- +
- +
- +
@@ -943,16 +946,16 @@
- +
- +
- +
@@ -967,20 +970,20 @@
- +
- +
- +
- +
@@ -995,21 +998,21 @@
- +
- +
- +
- +
@@ -1072,8 +1075,8 @@ function checkDuplicate() { if ($('#grid')[0].value === '3') { - var siInputs = $('input[name="si[]"]'); - var premiumInputs = $('input[name="premium[]"]'); + var siInputs = $('input[name="3_si[]"]'); + var premiumInputs = $('input[name="3_premium[]"]'); var siValues = []; var premiumValues = []; @@ -1105,8 +1108,8 @@ } }else if($('#grid')[0].value === '4'){ - var ageFrom = $('input[name="age_from[]"]'); - var ageTo = $('input[name="age_to[]"]'); + var ageFrom = $('input[name="4_age_from[]"]'); + var ageTo = $('input[name="4_age_to[]"]'); var ageFromValues = []; var ageToValues = []; @@ -1138,9 +1141,9 @@ } }else if ($('#grid')[0].value === '5') { - var si = $('input[name="si[]"]'); - var ageFrom = $('input[name="age_from[]"]'); - var ageTo = $('input[name="age_to[]"]'); + var si = $('input[name="5_si[]"]'); + var ageFrom = $('input[name="5_age_from[]"]'); + var ageTo = $('input[name="5_age_to[]"]'); var si_array = []; var ageFrom_array = []; @@ -1175,8 +1178,8 @@ return false; } }else if($('#grid')[0].value === '6'){ - var ageFrom = $('input[name="age_from[]"]'); - var ageTo = $('input[name="age_to[]"]'); + var ageFrom = $('input[name="6_age_from[]"]'); + var ageTo = $('input[name="6_age_to[]"]'); var ageFromValues = []; var ageToValues = []; @@ -1207,9 +1210,9 @@ return false; } }else if($('#grid')[0].value === '7'){ - var si = $('input[name="si[]"]'); - var ageFrom = $('input[name="age_from[]"]'); - var ageTo = $('input[name="age_to[]"]'); + var si = $('input[name="7_si[]"]'); + var ageFrom = $('input[name="7_age_from[]"]'); + var ageTo = $('input[name="7_age_to[]"]'); var si_array = []; var ageFrom_array = []; @@ -1244,9 +1247,9 @@ return false; } }else if($('#grid')[0].value === '10'){ - var si = $('input[name="si[]"]'); - var ageFrom = $('input[name="age_from[]"]'); - var ageTo = $('input[name="age_to[]"]'); + var si = $('input[name="10_si[]"]'); + var ageFrom = $('input[name="10_age_from[]"]'); + var ageTo = $('input[name="10_age_to[]"]'); var si_array = []; var ageFrom_array = []; @@ -1282,8 +1285,8 @@ return false; } }else if($('#grid')[0].value === '8'){ - var siInputs = $('input[name="si[]"]'); - var gradeInputs = $('input[name="grade[]"]'); + var siInputs = $('input[name="8_si[]"]'); + var gradeInputs = $('input[name="8_grade[]"]'); var siValues = []; var gradeValues = []; @@ -1314,8 +1317,8 @@ return false; } }else if($('#grid')[0].value === '9'){ - var siInputs = $('input[name="si[]"]'); - var gradeInputs = $('input[name="grade[]"]'); + var siInputs = $('input[name="9_si[]"]'); + var gradeInputs = $('input[name="9_grade[]"]'); var siValues = []; var gradeValues = []; @@ -1346,9 +1349,9 @@ return false; } }else if ($('#grid')[0].value === '11') { - var siInputs = $('input[name="si[]"]'); - var gradeInputs = $('input[name="grade[]"]'); - var maxSiInputs = $('input[name="max_si[]"]'); + var siInputs = $('input[name="11_si[]"]'); + var gradeInputs = $('input[name="11_grade[]"]'); + var maxSiInputs = $('input[name="11_max_si[]"]'); var siValues = []; var gradeValues = []; @@ -1393,47 +1396,46 @@ { var multi = $('#basic_multiplier')[0].value.replace(/,/g, '') * input.value.replace(/,/g, ''); - $('#basic_gpa_si').val(multi).trigger('keyup'); + $('#gpa_basic_si').val(multi).trigger('keyup'); - var multi_2 = $('#basic_gpa_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, ''); - $('#basic_gpa_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, ''); - $('#basic_gpa_si').val(multi).trigger('keyup'); + $('#gpa_basic_si').val(multi).trigger('keyup'); - var multi_2 = $('#basic_gpa_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, ''); - $('#basic_gpa_premium').val(multi_2).trigger('keyup'); + $('#gpa_basic_premium').val(multi_2).trigger('keyup'); }else if(input.id == 'premium_multiplier') { - var multi = input.value.replace(/,/g, '') * $('#basic_gpa_si')[0].value.replace(/,/g, ''); + var multi = input.value.replace(/,/g, '') * $('#gpa_basic_si')[0].value.replace(/,/g, ''); - $('#basic_gpa_premium').val(multi).trigger('keyup'); - }else if(input.id == 'basic_gpa_si') + $('#gpa_basic_premium').val(multi).trigger('keyup'); + }else if(input.id == 'gpa_basic_si') { var multi = input.value.replace(/,/g, '') * $('#premium_multiplier')[0].value.replace(/,/g, ''); - $('#basic_gpa_premium').val(multi).trigger('keyup'); + $('#gpa_basic_premium').val(multi).trigger('keyup'); } } function gpaSumInsureMultiplier() { - - var element = $('#multiplier')[0]; - var sumInsured = $('input[name="si[]"]'); + var element = $('#gpa_sum_multiplier')[0]; + var sumInsured = $('input[name="gpa_sum_si[]"]'); if ($('#si_or_bp').val() == 2) { var premium = $('input[name="premium[]"]'); } else { - var premium = $('input[name="sum_premium[]"]'); + var premium = $('input[name="gpa_sum_premium[]"]'); } sumInsured.each(function(index) { @@ -1460,15 +1462,15 @@ $('#si_or_bp_sum_insure').css({'display':'none'}); $('#si_or_bp_basic_pay').css({'display':''}); - $('#multiplier').removeAttr('required'); - $('#gpa_si').removeAttr('required'); - $('#gpa_premium').removeAttr('required'); + $('#gpa_sum_multiplier').removeAttr('required'); + $('#gpa_sum_si').removeAttr('required'); + $('#gpa_sum_premium').removeAttr('required'); $('#basic_multiplier').attr('required', true); $('#premium_multiplier').attr('required', true); $('#basic_pay').attr('required', true); - $('#basic_gpa_si').attr('required', true); - $('#basic_gpa_premium').attr('required', true); + $('#gpa_basic_si').attr('required', true); + $('#gpa_basic_premium').attr('required', true); var gridContentInput = $('#grid_content_input'); @@ -1487,13 +1489,13 @@ $('#basic_multiplier').removeAttr('required'); $('#premium_multiplier').removeAttr('required'); $('#basic_pay').removeAttr('required'); - $('#basic_gpa_si').removeAttr('required'); - $('#basic_gpa_premium').removeAttr('required'); + $('#gpa_basic_si').removeAttr('required'); + $('#gpa_basic_premium').removeAttr('required'); - $('#multiplier').attr('required', true); - $('#gpa_si').attr('required', true); - $('#gpa_premium').attr('required', true); + $('#gpa_sum_multiplier').attr('required', true); + $('#gpa_sum_si').attr('required', true); + $('#gpa_sum_premium').attr('required', true); var gridContentInput = $('#grid_content_input'); @@ -1510,52 +1512,4 @@ } - - - // $("#gpa_si").on("keyup", function() { - // var inputNumber = $(this).val(); - // if (inputNumber) { - // var result = convertCommaNumberToWords(inputNumber); - // $("#gpa_si_number_word").text(result); - // } else { - // $("#gpa_si_number_word").text(""); - // } - - - // }); - - // $("#basic_gpa_premium").on("keyup", function() { - // var inputNumber = $(this).val(); - // if (inputNumber) { - // var result = convertCommaNumberToWords(inputNumber); - // $("#gpa_premium_number_word").text(result); - // } else { - // $("#gpa_premium_number_word").text(""); - // } - // }); - - - // $("#sum_insured").on("keyup", function() { - // var inputNumber = $(this).val(); - // if (inputNumber) { - // var result = convertCommaNumberToWords(inputNumber); - // $("#sum_insured_number_word").text(result); - // } else { - // $("#sum_insured_number_word").text(""); - // } - // }); - - - // $("#premium").on("keyup", function() { - // var inputNumber = $(this).val(); - // if (inputNumber) { - // var result = convertCommaNumberToWords(inputNumber); - // $("#premium_number_word").text(result); - // } else { - // $("#premium_number_word").text(""); - // } - // }); - - - \ No newline at end of file diff --git a/composer.json b/composer.json index d49707b4..12d029a0 100644 --- a/composer.json +++ b/composer.json @@ -17,6 +17,7 @@ "firebase/php-jwt": "^6.10", "google/apiclient": "^2.15.0", "laminas/laminas-escaper": "^2.9", + "phpmailer/phpmailer": "^6.9", "phpoffice/phpspreadsheet": "^2.0", "psr/log": "^1.1", "slim/slim": "^4.13"