diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b2bdee0f..f7caabe2 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -10,8 +10,16 @@ use CodeIgniter\Router\RouteCollection; $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); // Reminder Mail Notification + $routes->get("reminder_mail", "NotificationController::reminder_mail"); + +$routes->post("add_advertise_image", "AppContentManagementController::add_advertise_image"); +$routes->get("add_image_index", "AppContentManagementController::add_image_index"); +$routes->get("getAdvertiseImage/(:any)", "AppContentManagementController::getAdvertiseImage/$1"); +$routes->get("frontend_content", "AppContentManagementController::frontend_content"); + + // $routes->get('/', 'LoginController::index'); $routes->get('/test', 'Home::index'); $routes->get('/login', 'LoginController::index'); ///auth/google @@ -272,7 +280,8 @@ $routes->group("/api", ["filter" => "authJWT"], function ($routes) { - +$routes->get("getEmployeePolicy", "EmployeeRestController::getEmployeePolicy"); +$routes->get("getAddOnPolicy", "EmployeeRestController::getAddOnPolicy"); $routes->get("getChatResponse", "ChatBotController::getChatResponse"); $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getChatResponse", "ChatBotController::getChatResponse"); diff --git a/app/Controllers/AppContentManagementController.php b/app/Controllers/AppContentManagementController.php new file mode 100644 index 00000000..300036be --- /dev/null +++ b/app/Controllers/AppContentManagementController.php @@ -0,0 +1,96 @@ +myLogger = \Config\Services::mylogger(); + $this->addImgModel = new AddImgModel(); + $this->feContentModel = new FEContentModel(); + } + public function add_image_index() + { + $this->myLogger->logme('error','Addvertisement Image list function called'); + $headerData['page_name'] = 'Addvertisement Image List'; + $data['addImageList'] = $this->addImgModel->findAll(); + + // dd($data); + + echo view('layout/header', $headerData); + echo view('add_image_list', $data); + echo view('layout/footer'); + + // $this->loadLayout('client_onboarding', $data); + } + + public function add_advertise_image(){ + + // print_r($this->request->getPost());die; + $uploadFilePath = ROOTPATH . 'public/uploads/advertiseImage/'; + $file_name = file_Upload($this->request->getFile('advertise_image'), $uploadFilePath); + $data['id'] = $this->request->getPost('add_image_id'); + // $data['created_by'] = get_session_userid(); + $data['name'] = $file_name; + + if($data['id'] == 0){ + $insert = $this->addImgModel->insert($data); + if($insert){ + return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + + }else{ + return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); + + } + }else{ + $id = $data['id']; + $update = $this->addImgModel->update($id,$data); + if($update){ + return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + + }else{ + return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); + } + } + } + + public function getAdvertiseImage($image_id){ + + $image_data = $this->addImgModel->select('name')->where(['id' => $image_id])->first(); + + if($image_data){ + return $image_data['name']; + }else{ + return ; + } + } + + + + // Front End Content Area + public function frontend_content(){ + + $data['test'] = $this->feContentModel->findAll(); + $headerData['page_name'] = 'Front-End Content'; + + echo view('layout/header', $headerData); + echo view('frontend_content_list', $data); + echo view('layout/footer'); + } + +} \ No newline at end of file diff --git a/app/Controllers/ChatBotController.php b/app/Controllers/ChatBotController.php index d048ada7..6fd006c8 100644 --- a/app/Controllers/ChatBotController.php +++ b/app/Controllers/ChatBotController.php @@ -73,31 +73,69 @@ class ChatBotController extends AdminController public function getChatResponse() { - // try { + try { $request_for = $this->request->getGet('request_for'); $option = $this->request->getGet('option'); + $is_option = $this->request->getGet('is_option'); + $custom_options = $this->request->getGet('custom_options'); - $requestData = $this->ChatBotModel->where('request', $request_for) + $responseData = $this->ChatBotModel->where('request', $request_for) ->where('is_active', 1 ) ->first(); - - if ($requestData) { + + if ($responseData) { - - if($option != 0){ + if(isset($option) && $option != 0){ - $decodedData = json_decode($requestData['options'],true); + $decodedData = json_decode($responseData['options'],true); - $requestFor = $decodedData[$request_for][$option]; + $requestFor = $decodedData[$option]; - $requestData = $this->ChatBotModel->where('request', $requestFor) + $responseData = $this->ChatBotModel->where('request', $requestFor) ->where('is_active', 1 ) ->first(); } + if(isset($custom_options)) + { - $result = ['request_for'=>$requestData['request'],'options'=>json_decode($requestData['options'],true)]; + } + + if(isset($is_option) && $is_option == 0){ + + $text = $this->request->getGet('text'); + $value = $this->request->getGet('value'); + $Data = $this->ChatBotModel->where('options', $text)->where('is_active', 1 )->first(); + if($Data){ + + if($Data['options'] == 'Please Enter Your Mobile Number To View Your Policies') + { + $result = $this->getAllPolicyByMobileNumber($value,'text'); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + }else if($Data['options'] == 'Please Enter Your Mobile Number To Raise Ticket'){ + $result = $this->getAllPolicyByMobileNumber($value,'options'); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + } + + }else{ + + $result = $this->sendDefaultMessage(); + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); + } + + + } + + + + $result = [ + 'request_for' => $responseData['request'], + 'options' => json_decode($responseData['options'], true), + 'text' => $responseData['is_option'] != 1 ? $responseData['options'] : null, + 'is_option' => $responseData['is_option'] + ]; + return $this->respond(['status' => 'success','code' => 200,'data' => $result ],200); @@ -107,12 +145,123 @@ class ChatBotController extends AdminController return $this->respond(['status' => 'failed','code' => 404,'data' => 'No Data'],404); } - // } catch (\Throwable $th) { - // return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); - // } + } catch (\Throwable $th) { + return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + } } - + +public function sendDefaultMessage() +{ + $responseData = $this->ChatBotModel->where('id', 1)->where('is_active', 1 )->first(); + return [ + 'request_for' => $responseData['request'], + 'options' => json_decode($responseData['options'], true), + 'text' => $responseData['is_option'] != 1 ? $responseData['options'] : null, + 'is_option' => $responseData['is_option'] + ]; + + +} + + +public function getAllPolicyByMobileNumber($mobileNo,$action) +{ + $employee = $this->employeeModel->where('mobile', $mobileNo)->where('is_active', 1 )->first(); + if($employee){ + + $employeeData = $this->employeeModel->where('emp_code', $employee['emp_code']) + ->where('client_id',$employee['client_id']) + ->where('client_branch_id',$employee['client_branch_id']) + ->where('is_active', 1 )->findAll(); + $whereArrayForId = []; + foreach ( $employeeData as $key => $value) { array_push($whereArrayForId, $value['id']); } + + $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', $employee['client_id'] ) + ->where('client_policy.client_branch_id', $employee['client_branch_id'] ) + ->where('client_policy.is_active', 1 ) + ->where('client_policy.policy_status', 1) + ->orderby('client_policy.id' , 'ASC') + ->findAll(); + $options = []; + $text = ''; + if(count($ClientPolicyData) > 0 && count($employeeData) > 0) + { + + foreach ($ClientPolicyData as $key => $ClientPolicyValue) { + + $data['policy_name'] = $ClientPolicyValue['policy_name']; + $data['policy_type'] = $ClientPolicyValue['policy_type']; + $data['policy_no'] = $ClientPolicyValue['policy_no']; + + + + $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 , employee_polices.uhid as uhid') + ->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(); + if(count($employee_policy) > 0) + { + $policy[$ClientPolicyValue['id']] = $ClientPolicyValue['policy_name']."(".$ClientPolicyValue['policy_type'].")"; + array_push($options, $policy); + $text .= $ClientPolicyValue['policy_name']."(".$ClientPolicyValue['policy_type'].") % "; + }else{ + $text .= "There is no any active policies "; + } + + } + if($action == 'options'){ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => $options[count($options) - 1], + 'text' => null, + 'is_option' => "1", + 'custom_options'=>'create_ticket' + ]; + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => $text, + 'is_option' => "0" + ]; + } + + + + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => "Dear ".$employee['name'].", % Policy not yet bound for you.", + 'is_option' => "0" + ]; + + } + + + + }else{ + return [ + 'request_for' => $this->request->getGet('request_for'), + 'options' => null, + 'text' => "Invalid Mobile Number", + 'is_option' => "0" + ]; + } + + +} + + + } + + + diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 5540381a..10aac50d 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -27,7 +27,6 @@ use App\Models\NotificationModel; use App\Models\UserModel; use App\Models\FEContentModel; use App\Models\AddImgModel; -use App\Models\FileModel; use App\Controllers\Jobs ; @@ -435,7 +434,7 @@ class EmployeeRestController extends AdminController ->findAll(); - // dd($checkIfExist); + if ($checkIfExist) { $empPolicy = $this->employeePolicyModel->updateSiAndPremium($value->client_policy_id, $value->employee_id, $value->basic_cover_si); @@ -626,13 +625,7 @@ class EmployeeRestController extends AdminController // Upload the Employee Detail in DB by Sheet Data public function employeeUpload() { - - - - try { - // echo $this->request->getPost('client_id'); - // die; $file = $this->request->getFile('file'); $client_id = $this->request->getPost('client_id'); $client_branch_id = $this->request->getPost('client_branch_id'); @@ -643,17 +636,12 @@ class EmployeeRestController extends AdminController $jwt = $this->request->getHeader('Authorization'); $jwtParts = explode(' ', $jwt); - // print_r($jwtParts);die; - $token = $jwtParts[2]; - // return "hello"; - + $token = $jwtParts[2]; + $decodedPayload = json_decode(base64_decode(explode('.', $token)[1]), true); // get the employee id from token $employee_id = $decodedPayload['id']; - - - $client_policy = $this->clientPolicyModel->where('id', $policy_id)->where('client_id', $client_id)->where('client_branch_id', $client_branch_id)->first(); if ($client_policy) { $policy = $this->policesModel->where('id', $client_policy['policy_id'])->first(); @@ -668,12 +656,12 @@ class EmployeeRestController extends AdminController $file_name_with_path = WRITEPATH."/uploads/excel/".$filename; //make an entry in DB - $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $loggedInUserID, 'status' => $status, 'action' => 'enrollment', 'client_branch_id' => $client_branch_id]); //here field policy_id have client_policy_id and not policy id from policy master + $file_id = $this->fileModel->insert(['file_name' => $filename, 'client_id' => $client_id, 'policy_id' => $policy_id, 'created_by' => $employee_id, 'status' => 'draft', 'action' => 'enrollment', 'client_branch_id' => $client_branch_id]); //here field policy_id have client_policy_id and not policy id from policy master $this->myLogger->logme("error", '{file_id} - client uploaded success', ['file_id' => $file_id]); $empServiceController = new EmployeeServiceController(); $result = $empServiceController->excelFileFormatValidation(['file_id' => $file_id]); - // dd($result); + if(isset($result['error_summary']) && count($result['error_summary'])) { $result = $empServiceController->getExcelErrorData($file_id); @@ -701,34 +689,34 @@ class EmployeeRestController extends AdminController $highestRowAndColumn = $sheet->getHighestRowAndColumn(); $data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']); - $extractData['file_name']= $filename; - $extractData['client_id']= $client_id; - $extractData['client_branch_id']= $client_branch_id; - $extractData['status']= 'success'; - $extractData['policy_id']= $policy_id; - $extractData['action']= 'enrollment'; - $extractData['created_by']=$employee_id; + // $extractData['file_name']= $filename; + // $extractData['client_id']= $client_id; + // $extractData['client_branch_id']= $client_branch_id; + // $extractData['status']= 'success'; + // $extractData['policy_id']= $policy_id; + // $extractData['action']= 'enrollment'; + // $extractData['created_by']=$employee_id; - $file_data =$this->fileModel->insert($extractData); + // $file_data =$this->fileModel->insert($extractData); - $extra = []; - if (count($data[0]) == 11) { - $value = ['Sno','Emp_Code','Name','DOJ','Gender','Relation','DOB','Mail','Mobile','SI','Grade']; - $check_miss_match = []; - for ($i=0; $i 0) { + // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Column Name's are miss Match's!", 'data'=> $check_miss_match], 200); + // } + // } - if (count($check_miss_match) > 0) { - return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Column Name's are miss Match's!", 'data'=> $check_miss_match], 200); - } - } - - if(count($data[0]) != 11){ - return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Uploaded file row count is Not Match!" ], 200); - } + // if(count($data[0]) != 11){ + // return json_encode($data[0]); + // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "Uploaded file row count is Not Match!" ], 200); + // } //this change the column name into index number for ($i = 0; $i < count($data[0]); $i++) { @@ -753,18 +741,6 @@ class EmployeeRestController extends AdminController } $dataToInsert = []; $basic_cover_si= []; - // if ($extra[9]) { - // $new_array = []; - // for ($i=0; $i < count($extra[9]); $i++) { - // if ($sum_insured_amount_for_check_employee_2 != $extra[9][$i] || $sum_insured_amount_for_check_employee_1 != $extra[9][$i]) { - // $new_array[] = $i+1; - // } - // } - // if (count($new_array) > 0) { - // $count =count($new_array); - // return $this->respond(['status' => 'failed', 'code' => 404, 'message' => "$count Employee Sum Insured is Not Match.. " , 'data' => $new_array], 200); - // } - // } foreach ($extra['0'] as $index => $id) { $relation =''; if ($extra['5'][$index] === 'Mother' || $extra['5'][$index] === 'Father') { @@ -956,6 +932,7 @@ 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); @@ -970,7 +947,7 @@ public function getAgeRange($terms,$familyFloatesValue) public function getEmployeePolicy() { - try { + // try { $id = $this->request->getGet('id'); $emp_code = $this->request->getGet('emp_code'); @@ -989,7 +966,7 @@ public function getEmployeePolicy() ->where('is_active', 1 ) ->where('is_addon_value',0)->findAll(); - + if ($empPolicy) { $result = []; @@ -1058,12 +1035,17 @@ public function getEmployeePolicy() $array->floter_text_description = ''; } - // Convert familyFloaters terms data to plain array + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } $floters = $this->FloterConvertion($familyFloates); $data = []; foreach ($floters as $familyFloatesValue) { $dependent = preg_replace('/\d/', '', $familyFloatesValue); + if(count($empData)){ foreach ($empData as $key => $value) { if ($value['family_floater_key'] === $dependent) { @@ -1089,8 +1071,8 @@ public function getEmployeePolicy() } } } - - + + // Remove Unwanted floter key from floters array based on either-parents-pil term value if($familyFloates->{'either-parents-pil'} == 1 && count($floters)) @@ -1108,7 +1090,21 @@ public function getEmployeePolicy() $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false); } } - + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + + } + + // Add family floter buttons placement data for FE validation if(count($floters)){ foreach ($floters as $familyFloatesValue) { @@ -1161,9 +1157,9 @@ public function getEmployeePolicy() }else{ return $this->respond(['status' => 'failed','code' => 404,'data' => []], 200); } - } catch (\Exception $e) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); - } + // } catch (\Exception $e) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500); + // } } @@ -1229,6 +1225,13 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl $array->floter_text_description = ''; } + + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } + // Convert familyFloaters terms data to plain array $floters = $this->FloterConvertion($familyFloates); $data = []; @@ -1278,6 +1281,19 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false || strpos($value, 'parent_in_law') !== false); } } + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + + } // Add family floter buttons placement data for FE validation if(count($floters)){ @@ -1306,8 +1322,9 @@ public function getGmcParrentsPolicy($GmcParrentsPolicy,$emp_code,$client_id,$cl public function FloterConvertion($array){ $result = []; + foreach ($array as $key => $value) { - if ($value > 0) { + if ($value > 0 && $key != 'elders_count') { if ($value != 0 && $key === 'childrens') { for ($i = 1; $i <= $value; $i++) { $result[] = "child" . $i; @@ -1477,6 +1494,11 @@ public function getAddOnPolicy() // Map family floaters that already exist in the employee table $familyFloates = $policy_terms->family_floaters; + // remove parent and parent-in-law from familyFloaters + if($familyFloates->{'either-parents-pil'} != 0){ + unset($familyFloates->parents); + unset($familyFloates->parents_in_law); + } // Convert familyFloaters terms data to plain array $floters = $this->FloterConvertion($familyFloates); @@ -1551,6 +1573,34 @@ public function getAddOnPolicy() } + else if($familyFloates->{'either-parents-pil'} == 2 && count($floters)) + { + if(count($addOnEmployeeData) == 0) + { + $GMCEmpData = $this->employeeModel->where('emp_code',$this->request->getGet('emp_code')) + ->where('is_addon_value',0) + ->where('is_active', 1 ) + ->where('family_floater_key','parent') + ->findAll(); + + if(count($GMCEmpData) > 0){ + $floters = array_diff($floters, ["parent1","parent2"]); + }else{ + $floters = array_diff($floters, ["parent_in_law1","parent_in_law2"]); + } + }else{ + $count_parent = 0; + $count_parent_in_law = 0; + foreach ($floters as $value) { + if (preg_replace('/\d/', '', $value) == 'parent') { $count_parent++; } + if (preg_replace('/\d/', '', $value) == 'parent_in_law') {$count_parent_in_law++;} + } + if(($count_parent + $count_parent_in_law) == 2) { + $floters = array_filter($floters, fn($value) => strpos($value, 'parent') === false); + } + } + + } diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index c351d0b1..9ba53688 100644 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -873,7 +873,7 @@ class EmployeeServiceController extends AdminController $job_details = new Jobs(); $r = Jobs::addJob(['job_name' => 'excelFileDataValidation','payload' => ['file_id' => $file_id]]); // $jobWorker = new JobWorker(); - // JobWorker::processJob($r);s + // JobWorker::processJob($r); } return $result; @@ -987,8 +987,7 @@ class EmployeeServiceController extends AdminController } } - //check self availbale in uploaded file - if(($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'enrollment') || ($policy_details['policy_type_id'] == 3 && $is_self_available_in_policy_terms)) // 3 is GMC parents dep addon) + if(($policy_details['base_policy'] == null && ($file['action'] == 'inception' || $file['action'] == 'addition' || $file['action'] == 'enrollment')) || ($policy_details['policy_type_id'] == 3 && $is_self_available_in_policy_terms)) // 3 is GMC parents dep addon) { $res = check_self_available_in_family($family,$file['action']); if(!$res['is_self_found']) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 72e7b8c7..56fb00c5 100644 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -92,11 +92,12 @@ class RestAuthenticationController extends AdminController public function getVerifiedUserData() { - try { + // try { $mobile_number = $this->request->getJSON()->mobile_number; $otp = $this->request->getJSON()->otp; $employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first(); + if ($employeeData && $otp == $employeeData["otp"] || $employeeData && isset($this->request->getJSON()->login_by_hr)) { $auth = HttpRequestHelper::getRequestInfo(); if ($auth) { @@ -120,9 +121,9 @@ class RestAuthenticationController extends AdminController } else { return $this->respond(['status' => 'failed','code' => 404,'data' => "Invalid OTP"],200); } - } catch (\Exception $e) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); - } + // } catch (\Exception $e) { + // return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()],500); + // } } public function verifyHrWithMobileNumber() diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 184cbefa..f654dc40 100644 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -71,7 +71,8 @@ class UserController extends AdminController $admin = 0; } foreach ($temp_team as $key => $value) { - if($value == 2){ + $team = $this->teamModel->where('id' , $value)->first(); + if($team['name'] == 'Claims'){ $hdz_staff = [ 'emp_code' => $userData['emp_code'], 'fullname' => $userData['first_name'], diff --git a/app/Filters/AuthJWT.php b/app/Filters/AuthJWT.php index 193ad6ec..b64a2a76 100644 --- a/app/Filters/AuthJWT.php +++ b/app/Filters/AuthJWT.php @@ -13,6 +13,7 @@ use ReflectionClass; require_once('../vendor/autoload.php'); use App\Models\EmployeeModel; +use App\Models\LevelContactModel; class AuthJWT implements FilterInterface @@ -20,7 +21,6 @@ class AuthJWT implements FilterInterface public function before(RequestInterface $request, $arguments = null) { $jwt = $request->getHeader('Authorization'); - $model = new EmployeeModel(); if ($jwt) { if (JWTToken::validateJWT($jwt)) { @@ -28,22 +28,44 @@ class AuthJWT implements FilterInterface $data = json_decode($data); $id = $data->decoded->id; - $user_data = $model->where('id', $id)->first(); + if(isset($data->decoded->emp_code)){ + $model = new EmployeeModel(); + $user_data = $model->where('id', $id)->first(); - if($user_data['token_time_out'] > time()){ - $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; - $model->update($id, $data); - return true; + if($user_data['token_time_out'] > time()){ + $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; + $model->update($id, $data); + return true; + }else{ + $data =["token_time_out" => '']; + $model->update($id, $data); + header('Content-Type: application/json'); + http_response_code(401); + // $error = json_encode(["status" => 401, "message" => $data->message]); + $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); + echo $error; + exit; + } }else{ - $data =["token_time_out" => '']; - $model->update($id, $data); - header('Content-Type: application/json'); - http_response_code(401); - // $error = json_encode(["status" => 401, "message" => $data->message]); - $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); - echo $error; - exit; + $model = new LevelContactModel(); + $hr_data = $model->where('id', $id)->first(); + + if($hr_data['token_time_out'] > time()){ + $data =["token_time_out" => time() + getenv('TOKENTIMEOUT') ]; + $model->update($id, $data); + return true; + }else{ + $data =["token_time_out" => '']; + $model->update($id, $data); + header('Content-Type: application/json'); + http_response_code(401); + // $error = json_encode(["status" => 401, "message" => $data->message]); + $error = json_encode(["status" => 401, "message" => "Token is Invalid"]); + echo $error; + exit; + } } + } } else { header('Content-Type: application/json'); diff --git a/app/Helpers/JWTToken.php b/app/Helpers/JWTToken.php index 592c38f8..196bdaca 100644 --- a/app/Helpers/JWTToken.php +++ b/app/Helpers/JWTToken.php @@ -13,6 +13,7 @@ use CodeIgniter\HTTP\RequestInterface; use ReflectionClass; use App\Models\EmployeeModel; +use App\Models\LevelContactModel; class JWTToken @@ -25,13 +26,19 @@ class JWTToken try{ $token = JWT::encode($request_data ,$secret_Key,'HS512'); - - $model = new EmployeeModel(); $id = $request_data['id']; - $data =[ - "token_time_out" => time() + getenv('TOKENTIMEOUT') - ]; - $model->update($id, $data); + $data["token_time_out"] = time() + getenv('TOKENTIMEOUT'); + + if(isset($data['emp_code'])){ + $model = new EmployeeModel(); + $model->update($id, $data); + + }else{ + $models = new LevelContactModel(); + $models->update($id, $data); + + } + return $token; } diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php index 11f9a5ee..21be120d 100644 --- a/app/Helpers/excel_util_helper.php +++ b/app/Helpers/excel_util_helper.php @@ -632,7 +632,7 @@ if (!function_exists('check_dependent_conflict')) } } //check for any cross parents but not more than two - if($allowed_adults == 0 && $allowed_parents_count == 1 && $allowed_parent_in_laws_count == 1 && (2 < ($received_parents_count + $received_parent_in_laws_count))) + if($allowed_adults == 2 && (2 < ($received_parents_count + $received_parent_in_laws_count))) { // dd($allowed_adults); $result['status'] = false; @@ -787,6 +787,22 @@ if (!function_exists('calculate_premimum')) } } + //set primary_rack_rate_acting_self in emp_details_with_empband_max_age_max_count array for policies where self not available and premium type is 1 (i.e.) GMC parents as dep addon policy + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = false; + if(!isset($emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self']) && $current_grid_info['type'] == 'primary') + { + if(strtolower($transformed_familiy_member_data['relationship']) == 'self') + { + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self'] = true; + } + else + { + $transformed_familiy_member_data['temp']['primary_rack_rate_acting_self'] = true; + $emp_details_with_empband_max_age_max_count[ $transformed_familiy_member_data['emp_code'] ]['primary_rack_rate_acting_self'] = true; + } + } + //generate relationship code if($transformed_familiy_member_data['temp']['action'] != 'D' && $transformed_familiy_member_data['temp']['action'] != 'C' && $transformed_familiy_member_data['temp']['action'] != 'SI') { @@ -1013,7 +1029,7 @@ if (!function_exists('premium_calculation_manager')) $employee_received_si = $default_si == null ? $emp_data['policy_details']['basic_cover_si'] : $default_si; foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1036,7 +1052,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // dd($slab_value); $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1057,7 +1073,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1077,7 +1093,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // echo $emp_data['name']; $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1099,7 +1115,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; - if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1121,7 +1137,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['grade'] == $employee_received_band && $slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) ) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { // $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; @@ -1143,7 +1159,7 @@ if (!function_exists('premium_calculation_manager')) foreach ($temp_slab_rates as $skey => $slab_value) { - if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + if($slab_value['si'] == $employee_received_si && (($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { $emp_data['policy_details']['basic_cover_si'] = $slab_value['si']; $emp_data['policy_details']['date_coverage'] = (isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']); @@ -1170,7 +1186,7 @@ if (!function_exists('premium_calculation_manager')) if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $max_age && $slab_value['age_to'] >= $max_age) && (($slab_value['premium_type'] == 1 && - ( (strtolower($emp_data['relationship']) == 'self') || ($emp_data['temp']['additional_rack_rate_acting_self']) )) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) ) ) + ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) ) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; $emp_data['policy_details']['date_coverage'] = isset($emp_data['policy_details']['date_coverage']) ? $emp_data['policy_details']['date_coverage'] : $policy_terms['policy_start_date']; @@ -1195,7 +1211,7 @@ if (!function_exists('premium_calculation_manager')) { if($slab_value['si'] == $employee_received_si && $slab_value['grade'] == $employee_received_band && (($slab_value['premium_type'] == 1 && - ( (strtolower($emp_data['relationship']) == 'self') || ($emp_data['temp']['additional_rack_rate_acting_self']) )) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) + ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self'])) || ($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) )) { //calculate premium based on count // echo $emp_data['name']; @@ -1224,7 +1240,7 @@ if (!function_exists('premium_calculation_manager')) $emp_data['policy_details']['basic_cover_si'] = null; foreach ($temp_slab_rates as $skey => $slab_value) { - if( $slab_value['si'] == $employee_received_si && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self'] ) )) ) + if( $slab_value['si'] == $employee_received_si && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; @@ -1249,7 +1265,7 @@ if (!function_exists('premium_calculation_manager')) $age = calculate_days_bw_dates(from_date: $emp_data['dob'])->y; foreach ($temp_slab_rates as $skey => $slab_value) { - if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && (strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) + if( $slab_value['si'] == $employee_received_si && ($slab_value['age_from'] <= $age && $slab_value['age_to'] >= $age) && ((($slab_value['premium_type'] == 2 || $slab_value['premium_type'] == null) && $slab_value['relationship'] == $employee_relationship) || ($slab_value['premium_type'] == 1 && ( strtolower($emp_data['relationship']) == 'self' || $emp_data['temp']['primary_rack_rate_acting_self'] || $emp_data['temp']['additional_rack_rate_acting_self']) )) ) { $emp_data['policy_details']['basic_cover_si'] = $employee_received_si; diff --git a/app/Helpers/header.php b/app/Helpers/header.php new file mode 100644 index 00000000..2ade2b0b --- /dev/null +++ b/app/Helpers/header.php @@ -0,0 +1,658 @@ + + + + + + + <?= isset($page_name) ? $page_name : 'NHance'; ?> + + + + + + + + /assets/images/Nhance_Favi.svg"> + + + /assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css" rel="stylesheet" type="text/css" /> + + + /assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + /assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" /> + + + + /assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" /> + /assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" /> + + /assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" /> + /assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" /> + + + /assets/css/icons.min.css" rel="stylesheet" type="text/css" /> + + + + + + + + + + + /assets/css/jodit.css" rel="stylesheet" type="text/css" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ /assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading..."> +
+
+ + + +
+ + + + + + +
+ + + + + +
+ + + + + +
+ + +
+ + + + + + +
+
+ + +
\ No newline at end of file diff --git a/app/Models/ChatBotModel.php b/app/Models/ChatBotModel.php index caae27a5..65270779 100644 --- a/app/Models/ChatBotModel.php +++ b/app/Models/ChatBotModel.php @@ -11,6 +11,7 @@ class ChatBotModel extends Model "id", "request", "options", + "is_option", "created_by", "updated_by", "is_active", diff --git a/app/Views/add_image_list.php b/app/Views/add_image_list.php new file mode 100644 index 00000000..9658053d --- /dev/null +++ b/app/Views/add_image_list.php @@ -0,0 +1,210 @@ + + +
+
+
+
+
+
+

Advertisement Image List

+
+
+ ADD +
+
+ + + + + + + + + + + + + + + + + + + + +
Advertisement Image NameStatusAction
+ + + +
+
+
+
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php index 7fe56a99..2ade2b0b 100644 --- a/app/Views/layout/header.php +++ b/app/Views/layout/header.php @@ -40,6 +40,7 @@ + /assets/css/jodit.css" rel="stylesheet" type="text/css" /> @@ -69,6 +70,8 @@ }