From c47072c2b2118276d33c9d6dc63b6a211948bd2d Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 7 Jan 2025 11:03:36 +0530 Subject: [PATCH] FEAT_COMMON_ECARD_TEMPLATE : RV --- app/Controllers/EmployeeController.php | 85 ++++++++++++++++++++------ 1 file changed, 65 insertions(+), 20 deletions(-) diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index a859e103..813238f3 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -1086,6 +1086,7 @@ class EmployeeController extends AdminController return $response; } + //E-CARD DOWNLOAD FUNCTION public function generateIDCardForEmployee($rand_string, $people = 0) { // dd($rand_string, $people); @@ -1186,6 +1187,8 @@ class EmployeeController extends AdminController '{QR_ANDROID_2}' => base_url() . 'public/e_card_imgs/play_store.png', '{QR_IOS_2}' => base_url() . 'public/e_card_imgs/appstore.png', ]; + + $placeholders['{LEVELS}'] = $this->generateAcmAndMForEcard($client_id); foreach ($placeholders as $placeholder => $replaceValue) { $htmlContent = str_replace($placeholder, $replaceValue, $htmlContent); @@ -2443,27 +2446,30 @@ class EmployeeController extends AdminController exit; } + //------------------------------------------------------------------------------------------------------ + + public function test_members_list(){ - // $model = new EmployeeModel(); - // $list = [ - // ['relationship' => 'spouse','emp_code' => 'TEST002', 'name' => 'Lakshmi','email_personal' => 'lakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'1996-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], - // ['relationship' => 'Daughter','emp_code' => 'TEST002', 'name' => 'Jayalakshmi','email_personal' => 'jayalakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'2018-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], - // ['relationship' => 'Son','emp_code' => 'TEST002', 'name' => 'Jayam Ravi','email_personal' => 'jayamravi@gmail.com','mobile'=>'6382156701','gender'=>'male','dob'=>'1994-05-19','doj'=>'2019-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], - // // ['relationship' => 'self','emp_code' => 'TEST003', 'name' => 'Ravi Shankar','email_personal' => 'srinivassaravanan2002@gmail.com','email_corporate'=>'srinivas.saravanan@venbainfotech.com','mobile'=>'6382156701','gender'=>'male','dob'=>'1994-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'] - // ['relationship' => 'spouse','emp_code' => 'TEST001', 'name' => 'Lakshmi','email_personal' => 'lakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'1996-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], + // $model = new EmployeeModel(); + // $list = [ + // ['relationship' => 'spouse','emp_code' => 'TEST002', 'name' => 'Lakshmi','email_personal' => 'lakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'1996-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], + // ['relationship' => 'Daughter','emp_code' => 'TEST002', 'name' => 'Jayalakshmi','email_personal' => 'jayalakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'2018-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], + // ['relationship' => 'Son','emp_code' => 'TEST002', 'name' => 'Jayam Ravi','email_personal' => 'jayamravi@gmail.com','mobile'=>'6382156701','gender'=>'male','dob'=>'1994-05-19','doj'=>'2019-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], + // // ['relationship' => 'self','emp_code' => 'TEST003', 'name' => 'Ravi Shankar','email_personal' => 'srinivassaravanan2002@gmail.com','email_corporate'=>'srinivas.saravanan@venbainfotech.com','mobile'=>'6382156701','gender'=>'male','dob'=>'1994-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'] + // ['relationship' => 'spouse','emp_code' => 'TEST001', 'name' => 'Lakshmi','email_personal' => 'lakshmi@gmail.com','mobile'=>'6382156701','gender'=>'female','dob'=>'1996-05-19','doj'=>'2022-02-01','basic_pay'=>'100000','emp_status'=>'enrolled'], - // ]; - // foreach($list as $listitem){ + // ]; + // foreach($list as $listitem){ - - // $model->insert($listitem); - // } - // die(); - $employee_data = $this->employeeModel->getTestEmployeeData(); - $data['employees'] = $employee_data; - $data['clients'] = $this->clientModel->findAll(); - // dd($data); - return $this->loadLayout('test_members_list',$data); + + // $model->insert($listitem); + // } + // die(); + $employee_data = $this->employeeModel->getTestEmployeeData(); + $data['employees'] = $employee_data; + $data['clients'] = $this->clientModel->findAll(); + // dd($data); + return $this->loadLayout('test_members_list',$data); } public function mapEmployees(){ @@ -2546,8 +2552,6 @@ class EmployeeController extends AdminController } - - public function cloneWorksheet() { // Define file paths @@ -2602,4 +2606,45 @@ class EmployeeController extends AdminController } } + //------------------------------------------------------------------------------------------------------ + + + public function generateAcmAndMForEcard($client_id) + { + $db = db_connect(); + $builder = $db->table('client_rm'); + $builder->select('user_profiles.first_name, user_profiles.mobile, user_profiles.email, client_rm.level'); + $builder->join('user_profiles', 'client_rm.user_id = user_profiles.id'); + $builder->where('client_rm.client_id', $client_id); + $builder->whereIn('client_rm.level', [2, 3]); + $builder->where('client_rm.is_active', 1); + $builder->orderBy('client_rm.level', 'desc'); + $query = $builder->get(); + $result = $query->getResultArray(); + + $levels = [ + 3 => [], + 2 => [] + ]; + + foreach ($result as $value) { + $levels[$value['level']][] = $value; + } + + // Generate the HTML content + $html = ''; + + foreach ($levels as $level => $contacts) { + $displayLevel = $level == 3 ? 1 : 2; // Switch levels for display + $html .= '
Level ' . $displayLevel . '
'; + foreach ($contacts as $index => $contact) { + $html .= ($index + 1) . '. ' . $contact['first_name'] . ' / ' . $contact['mobile'] . ' / ' . $contact['email'] . '
'; + } + } + + $html .= '


'; + + return $html; + } + }