diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 7b5a1fca..1cff8157 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -43,6 +43,7 @@ $routes->post("add_advertise_image", "AppContentManagementController::add_advert $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('showAdvertiseImage/(:any)', 'AdvertiseController::showAdvertiseImage/$1'); // $routes->get('/', 'LoginController::index'); @@ -478,6 +479,7 @@ $routes->group("rfq", ["filter" => "authMVC"], function ($routes) { $routes->get("driveListFiles", "GoogleDriveController::listFiles"); $routes->post('dmsSearch', 'PolicyTransactionController::dmsSearch', ['filter' => 'authMVC']); $routes->get('dmsSearch', 'PolicyTransactionController::dmsSearch', ['filter' => 'authMVC']); +$routes->get('payouts', 'PolicyTransactionController::payouts', ['filter' => 'authMVC']); $routes->get('downloadGdriveFile', 'GoogleDriveController::downloadGdriveFile', ['filter' => 'authMVC']); $routes->get('cli/sendZeptoMail', 'MasterController::testZeptoSMTP'); @@ -555,6 +557,8 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->post("ecardRequest", "ApiServiceController::ecardRequest"); + $routes->get("getWellnessURL", "ApiServiceController::getWellnessURL"); + $routes->post("logHrActivity", "RestAuthenticationController::logHrActivity"); $routes->post("getVerifiedUserData", "RestAuthenticationController::getVerifiedUserData"); @@ -590,7 +594,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) { $routes->get("getEmployeeActiveOrInactivePolicy", "EmployeeRestController::getEmployeeActiveOrInactivePolicy"); $routes->get("getFEContent", "EmployeeRestController::getFEContent"); $routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage"); - $routes->get("getWellnessURL", "EmployeeRestController::getWellnessURL"); + $routes->get("getEcardURL", "EmployeeRestController::getEcardURL"); //$routes->post('postDataForTicket',"EmployeeRestController::postDataForTicket"); @@ -701,12 +705,14 @@ $routes->get('getEnrollmentBatchStatus','ICICILombardController::getEnrollmentBa $routes->get('fetchUHIDDetails','ICICILombardController::fetchUHIDDetails'); //Third party Vidal Api Call - +$routes->get('fileUpload','VidalApiController::fileUpload'); $routes->post('hospitalNetwork','VidalApiController::hospitalNetwork'); $routes->post('eCardService','VidalApiController::eCardService'); $routes->post('claimStatusCheck','VidalApiController::claimStatusCheck'); -$routes->post('newClaim','VidalApiController::newClaim'); +$routes->get('newClaim','VidalApiController::SubmitClaim'); $routes->post('enrollment','VidalApiController::enrollment'); +$routes->get('fileUploadToVidal','VidalApiController::fileUploadToVidal'); +$routes->get('claimStatus','VidalApiController::claimStatus'); //Third party MediAssist Api Call diff --git a/app/Controllers/ApiServiceController.php b/app/Controllers/ApiServiceController.php index 5b32cec1..ad6a114c 100644 --- a/app/Controllers/ApiServiceController.php +++ b/app/Controllers/ApiServiceController.php @@ -213,6 +213,101 @@ class ApiServiceController extends BaseController } + public function getWellnessUrl() + { + + $emp_id = $this->request->getGet('emp_id'); + $client_policy_id = $this->request->getGet('client_policy_id'); + + $db = \Config\Database::connect(); + + // $data = $db->table('employees e') + // ->select('pt.policy_type, + // e.name, e.email_corporate as email, e.mobile as phone, e.emp_code as memberId, e.gender, e.dob, e.relationship as relation, + // cp.policy_no as policyNumber, cp.policy_no as employeeId, cp.policy_start_date as policyStartDate, cp.policy_end_date as policyEndDate') + // ->join('employee_polices ep', 'e.id = ep.employee_id') + // ->join('client_policy cp', 'ep.client_policy_id = cp.id') + // ->join('policy_type pt', 'cp.policy_type_id = pt.id') + // ->where('e.id', $emp_id) + // ->where('e.emp_status', 'active') + // ->where('ep.status', 'active') + // ->where('e.is_active', 1) + // ->where('ep.is_active', 1) + // ->get() + // ->getResultArray(); + + $data = $db->table('employee_polices ep') + ->select('pt.policy_type, + e.name, e.email_corporate as email, e.mobile as phone, e.emp_code as memberId, e.gender, e.dob, e.relationship as relation, + cp.policy_no as policyNumber, cp.policy_no as employeeId, cp.policy_start_date as policyStartDate, cp.policy_end_date as policyEndDate, cp.wellness_plan_id as planId') + ->join('employees e', 'e.id = ep.employee_id') + ->join('client_policy cp', 'ep.client_policy_id = cp.id') + ->join('policy_type pt', 'cp.policy_type_id = pt.id') + ->where('ep.employee_id', $emp_id) + ->where('ep.client_policy_id', $client_policy_id) + ->where('ep.status', 'active') + ->where('ep.is_active', 1) + ->get() + ->getRow(); + + + + $userParams = []; + if(!empty($data)) + { + $userParams['name'] = $data->name; + $userParams['email'] = $data->email; + $userParams['phone'] = $data->phone; + $userParams['memberId'] = $data->memberId; + $userParams['gender'] = $data->gender; + $userParams['dob'] = $data->dob; + $userParams['relation'] = $data->relation; + $userParams['policyNumber'] = $data->policyNumber; + $userParams['employeeId'] = $data->employeeId; + $userParams['policyStartDate']= $data->policyStartDate; + $userParams['policyEndDate'] = $data->policyEndDate; + $userParams['policyName'] = 'Nhance ' . $data->policy_type; + $userParams['planId'] = $data->planId; + $userParams['moduleName'] = 'home'; + + } + + // dd($userParams); + + if (empty($userParams)) { + return $this->respond(['status' => 'failed','message' => 'Coming soon........!'], 200); + } + + // Derive 32-byte key from SHA256 + $derivedKey = hash('sha256', env('VISIT_SECRET_KEY'), true); + + // Build query string like Node.js + $plainText = ''; + foreach ($userParams as $k => $v) { + $plainText .= "&{$k}={$v}"; + } + $plainText = ltrim($plainText, '&'); + + // Encrypt + $algorithm = "aes-256-cbc"; + $encrypted = openssl_encrypt($plainText, $algorithm, $derivedKey, OPENSSL_RAW_DATA, env('VISIT_IV')); + + // Base64URL encode (same as Node.js output) + $output = rtrim(strtr(base64_encode($encrypted), '+/', '-_'), '='); + + $baseURL = env('VISIT_BASE_URL'); + $clientId = env('VISIT_CLIENT_ID'); + $finalUrl = $baseURL . '/sso?userParams=' . $output . '&clientId=' . $clientId; + + if (!empty($finalUrl)) { + log_message('error', 'VISIT SSO | emp_id: '.$emp_id.' | URL: '.$finalUrl); + return $this->respond(['status' => 'success','data' => $finalUrl], 200); + } else { + return $this->respond(['status' => 'failed','message' => 'Coming soon........!'], 200); + } + } + + diff --git a/app/Controllers/AppContentManagementController.php b/app/Controllers/AppContentManagementController.php index 33d6ce1d..f9e1d356 100755 --- a/app/Controllers/AppContentManagementController.php +++ b/app/Controllers/AppContentManagementController.php @@ -40,36 +40,58 @@ class AppContentManagementController extends AdminController // $this->loadLayout('client_onboarding', $data); } - public function add_advertise_image(){ + public function add_advertise_image() { + try { + $file = $this->request->getFile('advertise_image'); + //1) original file name for vaildations + $fileName = $file->getClientName(); //original file name for vaildations + $existing = $this->addImgModel->where('name', $fileName)->where('is_active', 1)->first(); + if($existing){ return $this->respond(['status' => false, 'message' => 'This file has already been uploaded in active state.'], 400); } - // 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; + //skip 1) and use this + // $fileName = $file->getRandomName(); // Same Name Multiple time upload means different name - if($data['id'] == 0){ - $insert = $this->addImgModel->insert($data); - if($insert){ - return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + if (!$file || !$file->isValid()) { + return $this->respond(['status' => false, 'message' => 'No file uploaded or invalid file.'], 400); + } - }else{ - return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); + $uploadPath = WRITEPATH . 'uploads/advertiseImage/'; + if (!is_dir($uploadPath)) mkdir($uploadPath, 0755, true); - } - }else{ - $id = $data['id']; - $update = $this->addImgModel->update($id,$data); - if($update){ - return $this->respond(['status' => true,'code' => 200,'data' => "success"], 200); + + $file->move($uploadPath, $fileName); - }else{ - return $this->respond(['status' => false,'code' => 404,'message' => 'no data found'], 200); - } + $id = $this->request->getPost('add_image_id'); + $data = ['name' => $fileName]; + + if ($id == 0) { + $this->addImgModel->insert($data); + } else { + $this->addImgModel->update($id, $data); + } + + return $this->respond(['status' => true, 'message' => 'Image saved successfully.']); + } catch (\Exception $e) { + return $this->respond(['status' => false, 'message' => $e->getMessage()], 500); } } + public function showAdvertiseImage($fileName) + { + + $filePath = WRITEPATH . 'uploads/advertiseImage/' . $fileName; + + if (!file_exists($filePath)) { + return $this->response->setStatusCode(404, 'File not found'); + } + + $mimeType = mime_content_type($filePath); + header('Content-Type: ' . $mimeType); + readfile($filePath); + exit; + } + + public function getAdvertiseImage($image_id){ $image_data = $this->addImgModel->select('name')->where(['id' => $image_id])->first(); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 05a75542..0bed75f5 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -5661,7 +5661,7 @@ class ClientController extends AdminController // $employeeController = new EmployeeController(); // $employeeController->truncateFileData('633'); - // $res = $this->getHrAccessData(4005); dd($res); + // $res = $this->getHrAccessData(4075); dd($res); // ---------- TICKET SERVICE CONTROLLER -------------------------------------------------------------------------------- @@ -5702,8 +5702,8 @@ class ClientController extends AdminController // ---------- POLICY TRANSACTION CONTROLLER -------------------------------------------------------------------------------- $policyTransactionController = new PolicyTransactionController(); - // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '60']); - // $res = $policyTransactionController->updateInsurerStatement(['file_id' => '22']); + // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '62']); + // $res = $policyTransactionController->updateInsurerStatement(['file_id' => '62']); // dd('-----', $res); // ----------EMP DATA SERVICE CONTROLLER-------------------------------------------------------------------------------- @@ -7025,177 +7025,434 @@ class ClientController extends AdminController return $combinedHrAccessData; } + // do not remove this commented items + // public function constructHrAccessData($data, $client_id , $pre_client_id) + // { + // // print_rr($data);die; + + // $preHrs = $data['pre_hr_data']; + // $postHrs = $data['post_hr_data']; + // $hrAccessTableData = $data['hr_access_table_data']; + // $merged = []; + + // // Merge based on mobile and email + // foreach ($postHrs as $post) { + // $found = false; + // foreach ($preHrs as $index => $pre) { + + // if ( trim($post['hr_mobile']) == trim($pre['hr_mobile']) && trim($post['hr_mail']) == trim($pre['hr_mail']) ) { + + // $merged[] = [ + // 'pre_hr_id' => $pre['pre_hr_id'], + // 'post_hr_id' => $post['post_hr_id'], + // 'hr_name' => $post['hr_name'], + // 'hr_mobile' => $post['hr_mobile'], + // 'hr_mail' => $post['hr_mail'], + // 'pre_branch_id' => $pre['pre_branch_id'] ?? null, + // 'post_branch_id' => $post['post_branch_id'] ?? null, + // 'post_branch_name' => $post['post_branch_name'] ?? null + // ]; + // unset($preHrs[$index]); // remove matched pre_hr + // $found = true; + // break; + // } + // } + + // if (!$found) { + // $merged[] = [ + // 'pre_hr_id' => null, + // 'post_hr_id' => $post['post_hr_id'], + // 'hr_name' => $post['hr_name'], + // 'hr_mobile' => $post['hr_mobile'], + // 'hr_mail' => $post['hr_mail'], + // 'pre_branch_id' => $pre['pre_branch_id'] ?? null, + // 'post_branch_id' => $post['post_branch_id'] ?? null , + // 'post_branch_name' => $post['post_branch_name'] ?? null + // ]; + // } + // } + + // // Remaining preHrs (not matched) + // foreach ($preHrs as $pre) { + + // foreach ($merged as $value) { + // if ( trim($pre['hr_mobile']) == trim($value['hr_mobile']) && trim($pre['hr_mail']) == trim($value['hr_mail']) ) { + // continue 2; // Skip adding this pre_hr as it's already matched + // } + // } + + // $merged[] = [ + // 'pre_hr_id' => $pre['pre_hr_id'], + // 'post_hr_id' => null, + // 'hr_name' => $pre['hr_name'], + // 'hr_mobile' => $pre['hr_mobile'], + // 'hr_mail' => $pre['hr_mail'], + // 'pre_branch_id' => $pre['pre_branch_id'] ?? null, + // 'post_branch_id' => $post['post_branch_id'] ?? null , + // 'post_branch_name' => $post['post_branch_name'] ?? null + // ]; + // } + + // // dd($merged); + + // $result = []; + + // if (empty($hrAccessTableData)) { + + // // No access data — fill result with hr data and other fields as null + // foreach ($merged as $hr) { + // $result[] = [ + // 'hr_access_table_pk' => null, + // 'post_client_id' => $client_id ?? null, + // 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + // 'post_hr_id' => $hr['post_hr_id'] ?? null, + // 'allowed_pre_modules' => [], + // 'allowed_post_modules' => [], + // 'allowed_pre_policies' => [], + // 'allowed_active_policies' => [], + // 'allowed_cd' => [], + // 'hr_name' => $hr['hr_name'] ?? null, + // 'hr_mobile' => $hr['hr_mobile'] ?? null, + // 'hr_mail' => $hr['hr_mail'] ?? null, + // 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + // 'post_branch_id' => $hr['post_branch_id'] ?? null , + // 'post_branch_name' => $hr['post_branch_name'] ?? null , + // 'pre_client_id' => $pre_client_id ?? null + // ]; + // } + // } else { + // // First create a map of HR data by post_hr_id for quick lookup + // $hrMap = []; + // foreach ($merged as $hr) { + // $hrMap[$hr['post_hr_id']] = $hr; + // } + + // // Process access data first + // foreach ($hrAccessTableData as $access) { + // $post_hr_id = $access['post_hr_id']; + + // // Check if this HR exists in our merged data + // if (isset($hrMap[$post_hr_id])) { + // $hr = $hrMap[$post_hr_id]; + // $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + + // // Parse allowed modules + // $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; + // $allowed_pre_modules = $allowed_modules['pre'] ?? []; + // $allowed_post_modules = $allowed_modules['post'] ?? []; + + // $result[$temp_arr_key] = [ + // 'hr_access_table_pk' => $access['id'] ?? null, + // 'post_client_id' => $access['post_client_id'] ?? null, + // 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + // 'post_hr_id' => $hr['post_hr_id'] ?? null, + // 'allowed_pre_modules' => $allowed_pre_modules, + // 'allowed_post_modules' => $allowed_post_modules, + // 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], + // 'allowed_active_policies' => json_decode($access['allowed_active_policies'], true) ?? [], + // 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], + // 'hr_name' => $hr['hr_name'], + // 'hr_mobile' => $hr['hr_mobile'], + // 'hr_mail' => $hr['hr_mail'], + // 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + // 'post_branch_id' => $hr['post_branch_id'] ?? null , + // 'post_branch_name' => $hr['post_branch_name'] ?? null , + // 'pre_client_id' => $pre_client_id ?? null + // ]; + + // // Remove from map so we know it's been processed + // unset($hrMap[$post_hr_id]); + // } + // } + + // // Now process any remaining HRs that didn't have access records + // foreach ($hrMap as $hr) { + // $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + + // $result[$temp_arr_key] = [ + // 'hr_access_table_pk' => null, + // 'post_client_id' => $client_id ?? null, + // 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + // 'post_hr_id' => $hr['post_hr_id'] ?? null, + // 'allowed_pre_modules' => [], + // 'allowed_post_modules' => [], + // 'allowed_pre_policies' => [], + // 'allowed_active_policies' => [], + // 'allowed_cd' => [], + // 'hr_name' => $hr['hr_name'] ?? null, + // 'hr_mobile' => $hr['hr_mobile'] ?? null, + // 'hr_mail' => $hr['hr_mail'] ?? null, + // 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + // 'post_branch_id' => $hr['post_branch_id'] ?? null , + // 'post_branch_name' => $hr['post_branch_name'] ?? null , + // 'pre_client_id' => $pre_client_id ?? null + // ]; + // } + // } + + + // $resultData['hr_access_data'] = array_values($result); + // $resultData['pre_policy_data'] = $data['pre_policy_data']; + // $resultData['post_policy_data'] = $data['post_policy_data']; + // $resultData['post_cd_data'] = $data['post_cd_data']; + + // return $resultData; + // } + public function constructHrAccessData($data, $client_id , $pre_client_id) - { - // print_rr($data);die; + { + try{ - $preHrs = $data['pre_hr_data']; - $postHrs = $data['post_hr_data']; - $hrAccessTableData = $data['hr_access_table_data']; - $merged = []; + $preHrs = $data['pre_hr_data']; + $postHrs = $data['post_hr_data']; + $hrAccessTableData = $data['hr_access_table_data']; + $merged = []; - // Merge based on mobile and email - foreach ($postHrs as $post) { - $found = false; - foreach ($preHrs as $index => $pre) { + // Merge based on mobile and email + foreach ($postHrs as $post) { + $found = false; + foreach ($preHrs as $index => $pre) { - if ( trim($post['hr_mobile']) == trim($pre['hr_mobile']) && trim($post['hr_mail']) == trim($pre['hr_mail']) ) { + if ( trim($post['hr_mobile']) == trim($pre['hr_mobile']) && trim($post['hr_mail']) == trim($pre['hr_mail']) ) { + $merged[] = [ + 'pre_hr_id' => $pre['pre_hr_id'], + 'post_hr_id' => $post['post_hr_id'], + 'hr_name' => $post['hr_name'], + 'hr_mobile' => $post['hr_mobile'], + 'hr_mail' => $post['hr_mail'], + 'pre_branch_id' => $pre['pre_branch_id'] ?? null, + 'post_branch_id' => $post['post_branch_id'] ?? null, + 'post_branch_name' => $post['post_branch_name'] ?? null + ]; + unset($preHrs[$index]); // remove matched pre_hr + $found = true; + break; + } + } + + if (!$found) { $merged[] = [ - 'pre_hr_id' => $pre['pre_hr_id'], + 'pre_hr_id' => null, 'post_hr_id' => $post['post_hr_id'], 'hr_name' => $post['hr_name'], 'hr_mobile' => $post['hr_mobile'], 'hr_mail' => $post['hr_mail'], 'pre_branch_id' => $pre['pre_branch_id'] ?? null, - 'post_branch_id' => $post['post_branch_id'] ?? null, - 'post_branch_name' => $post['post_branch_name'] ?? null + 'post_branch_id' => $post['post_branch_id'] ?? null , + 'post_branch_name' => $post['post_branch_name'] ?? null ]; - unset($preHrs[$index]); // remove matched pre_hr - $found = true; - break; } } - if (!$found) { + // Remaining preHrs (not matched) + foreach ($preHrs as $pre) { + + foreach ($merged as $value) { + if ( trim($pre['hr_mobile']) == trim($value['hr_mobile']) && trim($pre['hr_mail']) == trim($value['hr_mail']) ) { + continue 2; // Skip adding this pre_hr as it's already matched + } + } + $merged[] = [ - 'pre_hr_id' => null, - 'post_hr_id' => $post['post_hr_id'], - 'hr_name' => $post['hr_name'], - 'hr_mobile' => $post['hr_mobile'], - 'hr_mail' => $post['hr_mail'], + 'pre_hr_id' => $pre['pre_hr_id'], + 'post_hr_id' => null, + 'hr_name' => $pre['hr_name'], + 'hr_mobile' => $pre['hr_mobile'], + 'hr_mail' => $pre['hr_mail'], 'pre_branch_id' => $pre['pre_branch_id'] ?? null, 'post_branch_id' => $post['post_branch_id'] ?? null , 'post_branch_name' => $post['post_branch_name'] ?? null ]; } - } - // Remaining preHrs (not matched) - foreach ($preHrs as $pre) { + $result = []; - foreach ($merged as $value) { - if ( trim($pre['hr_mobile']) == trim($value['hr_mobile']) && trim($pre['hr_mail']) == trim($value['hr_mail']) ) { - continue 2; // Skip adding this pre_hr as it's already matched - } - } - - $merged[] = [ - 'pre_hr_id' => $pre['pre_hr_id'], - 'post_hr_id' => null, - 'hr_name' => $pre['hr_name'], - 'hr_mobile' => $pre['hr_mobile'], - 'hr_mail' => $pre['hr_mail'], - 'pre_branch_id' => $pre['pre_branch_id'] ?? null, - 'post_branch_id' => $post['post_branch_id'] ?? null , - 'post_branch_name' => $post['post_branch_name'] ?? null - ]; - } + if (empty($hrAccessTableData)) { - // dd($merged); - - $result = []; - - if (empty($hrAccessTableData)) { - - // No access data — fill result with hr data and other fields as null - foreach ($merged as $hr) { - $result[] = [ - 'hr_access_table_pk' => null, - 'post_client_id' => $client_id ?? null, - 'pre_hr_id' => $hr['pre_hr_id'] ?? null, - 'post_hr_id' => $hr['post_hr_id'] ?? null, - 'allowed_pre_modules' => [], - 'allowed_post_modules' => [], - 'allowed_pre_policies' => [], - 'allowed_active_policies' => [], - 'allowed_cd' => [], - 'hr_name' => $hr['hr_name'] ?? null, - 'hr_mobile' => $hr['hr_mobile'] ?? null, - 'hr_mail' => $hr['hr_mail'] ?? null, - 'pre_branch_id' => $hr['pre_branch_id'] ?? null, - 'post_branch_id' => $hr['post_branch_id'] ?? null , - 'post_branch_name' => $hr['post_branch_name'] ?? null , - 'pre_client_id' => $pre_client_id ?? null - ]; - } - } else { - // First create a map of HR data by post_hr_id for quick lookup - $hrMap = []; - foreach ($merged as $hr) { - $hrMap[$hr['post_hr_id']] = $hr; - } - - // Process access data first - foreach ($hrAccessTableData as $access) { - $post_hr_id = $access['post_hr_id']; - - // Check if this HR exists in our merged data - if (isset($hrMap[$post_hr_id])) { - $hr = $hrMap[$post_hr_id]; - $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; - - // Parse allowed modules - $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; - $allowed_pre_modules = $allowed_modules['pre'] ?? []; - $allowed_post_modules = $allowed_modules['post'] ?? []; - - $result[$temp_arr_key] = [ - 'hr_access_table_pk' => $access['id'] ?? null, - 'post_client_id' => $access['post_client_id'] ?? null, + // No access data — fill result with hr data and other fields as null + foreach ($merged as $hr) { + $result[] = [ + 'hr_access_table_pk' => null, + 'post_client_id' => $client_id ?? null, 'pre_hr_id' => $hr['pre_hr_id'] ?? null, 'post_hr_id' => $hr['post_hr_id'] ?? null, - 'allowed_pre_modules' => $allowed_pre_modules, - 'allowed_post_modules' => $allowed_post_modules, - 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], - 'allowed_active_policies' => json_decode($access['allowed_active_policies'], true) ?? [], - 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], - 'hr_name' => $hr['hr_name'], - 'hr_mobile' => $hr['hr_mobile'], - 'hr_mail' => $hr['hr_mail'], + 'allowed_pre_modules' => [], + 'allowed_post_modules' => [], + 'allowed_pre_policies' => [], + 'allowed_active_policies' => [], + 'allowed_cd' => [], + 'hr_name' => $hr['hr_name'] ?? null, + 'hr_mobile' => $hr['hr_mobile'] ?? null, + 'hr_mail' => $hr['hr_mail'] ?? null, 'pre_branch_id' => $hr['pre_branch_id'] ?? null, 'post_branch_id' => $hr['post_branch_id'] ?? null , 'post_branch_name' => $hr['post_branch_name'] ?? null , 'pre_client_id' => $pre_client_id ?? null ]; + } - // Remove from map so we know it's been processed - unset($hrMap[$post_hr_id]); + } else { + + // First create a map of HR data by post_hr_id for quick lookup + $hrMap = []; + foreach ($merged as $hr) { + if(!empty($hr['post_hr_id'])){ + $hrMap['post_hr_id_' . $hr['post_hr_id']] = $hr; + }else{ + $hrMap['pre_hr_id_' . $hr['pre_hr_id']] = $hr; + } + } + + // Process access data first + foreach ($hrAccessTableData as $access) { + + $post_hr_id = $access['post_hr_id']; + $pre_hr_id = $access['pre_hr_id']; + + if (empty($post_hr_id) && !empty($pre_hr_id)) { + $type_of_access_data = "PRE"; + } elseif (!empty($post_hr_id) && empty($pre_hr_id)) { + $type_of_access_data = "POST"; + } elseif (!empty($post_hr_id) && !empty($pre_hr_id)) { + $type_of_access_data = "POST&PRE"; + } else { + $type_of_access_data = "UNKNOWN"; + } + + // Check if this HR exists in our merged data + if (isset($hrMap['post_hr_id_' . $post_hr_id])) { + + $hr = $hrMap['post_hr_id_' . $post_hr_id]; + $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail'] . $post_hr_id; + + // Parse allowed modules + $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; + $allowed_pre_modules = $allowed_modules['pre'] ?? []; + $allowed_post_modules = $allowed_modules['post'] ?? []; + + $result[$temp_arr_key] = [ + 'hr_access_table_pk' => $access['id'] ?? null, + 'post_client_id' => $access['post_client_id'] ?? null, + 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + 'post_hr_id' => $hr['post_hr_id'] ?? null, + 'allowed_pre_modules' => $allowed_pre_modules, + 'allowed_post_modules' => $allowed_post_modules, + 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], + 'allowed_active_policies' => json_decode($access['allowed_active_policies'], true) ?? [], + 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], + 'hr_name' => $hr['hr_name'], + 'hr_mobile' => $hr['hr_mobile'], + 'hr_mail' => $hr['hr_mail'], + 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + 'post_branch_id' => $hr['post_branch_id'] ?? null , + 'post_branch_name' => $hr['post_branch_name'] ?? null , + 'pre_client_id' => $pre_client_id ?? null, + 'type_of_access_data' => $type_of_access_data ?? null + ]; + + // Remove from map so we know it's been processed + unset($hrMap['post_hr_id_' . $post_hr_id]); + + }else if (isset($hrMap['pre_hr_id_' . $pre_hr_id])){ + + $hr = $hrMap['pre_hr_id_' . $pre_hr_id]; + $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail'] . $post_hr_id; + + // Parse allowed modules + $allowed_modules = json_decode($access['allowed_modules'], true) ?? null; + $allowed_pre_modules = $allowed_modules['pre'] ?? []; + $allowed_post_modules = $allowed_modules['post'] ?? []; + + $result[$temp_arr_key] = [ + 'hr_access_table_pk' => $access['id'] ?? null, + 'post_client_id' => $access['post_client_id'] ?? null, + 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + 'post_hr_id' => $hr['post_hr_id'] ?? null, + 'allowed_pre_modules' => $allowed_pre_modules, + 'allowed_post_modules' => $allowed_post_modules, + 'allowed_pre_policies' => json_decode($access['allowed_pre_policies'], true) ?? [], + 'allowed_active_policies' => json_decode($access['allowed_active_policies'], true) ?? [], + 'allowed_cd' => json_decode($access['allowed_cd'], true) ?? [], + 'hr_name' => $hr['hr_name'], + 'hr_mobile' => $hr['hr_mobile'], + 'hr_mail' => $hr['hr_mail'], + 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + 'post_branch_id' => $hr['post_branch_id'] ?? null , + 'post_branch_name' => $hr['post_branch_name'] ?? null , + 'pre_client_id' => $pre_client_id ?? null, + 'type_of_access_data' => $type_of_access_data ?? null + ]; + + // Remove from map so we know it's been processed + unset($hrMap['pre_hr_id_' . $pre_hr_id]); + + } + } + + // Now process any remaining HRs that didn't have access records + foreach ($hrMap as $hr) { + + $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + $post_hr_id = $hr['post_hr_id']; + $pre_hr_id = $hr['pre_hr_id']; + + if (empty($post_hr_id) && !empty($pre_hr_id)) { + $type_of_access_data = "PRE"; + } elseif (!empty($post_hr_id) && empty($pre_hr_id)) { + $type_of_access_data = "POST"; + } elseif (!empty($post_hr_id) && !empty($pre_hr_id)) { + $type_of_access_data = "POST&PRE"; + } else { + $type_of_access_data = "UNKNOWN"; + } + + $result[$temp_arr_key] = [ + 'hr_access_table_pk' => null, + 'post_client_id' => $client_id ?? null, + 'pre_hr_id' => $hr['pre_hr_id'] ?? null, + 'post_hr_id' => $hr['post_hr_id'] ?? null, + 'allowed_pre_modules' => [], + 'allowed_post_modules' => [], + 'allowed_pre_policies' => [], + 'allowed_active_policies' => [], + 'allowed_cd' => [], + 'hr_name' => $hr['hr_name'] ?? null, + 'hr_mobile' => $hr['hr_mobile'] ?? null, + 'hr_mail' => $hr['hr_mail'] ?? null, + 'pre_branch_id' => $hr['pre_branch_id'] ?? null, + 'post_branch_id' => $hr['post_branch_id'] ?? null , + 'post_branch_name' => $hr['post_branch_name'] ?? null , + 'pre_client_id' => $pre_client_id ?? null, + 'type_of_access_data' => $type_of_access_data ?? null + ]; } } - // Now process any remaining HRs that didn't have access records - foreach ($hrMap as $hr) { - $temp_arr_key = $hr['hr_mobile'] . $hr['hr_mail']; + // dd($result); + $resultData['hr_access_data'] = array_values($result); + $resultData['pre_policy_data'] = $data['pre_policy_data']; + $resultData['post_policy_data'] = $data['post_policy_data']; + $resultData['post_cd_data'] = $data['post_cd_data']; - $result[$temp_arr_key] = [ - 'hr_access_table_pk' => null, - 'post_client_id' => $client_id ?? null, - 'pre_hr_id' => $hr['pre_hr_id'] ?? null, - 'post_hr_id' => $hr['post_hr_id'] ?? null, - 'allowed_pre_modules' => [], - 'allowed_post_modules' => [], - 'allowed_pre_policies' => [], - 'allowed_active_policies' => [], - 'allowed_cd' => [], - 'hr_name' => $hr['hr_name'] ?? null, - 'hr_mobile' => $hr['hr_mobile'] ?? null, - 'hr_mail' => $hr['hr_mail'] ?? null, - 'pre_branch_id' => $hr['pre_branch_id'] ?? null, - 'post_branch_id' => $hr['post_branch_id'] ?? null , - 'post_branch_name' => $hr['post_branch_name'] ?? null , - 'pre_client_id' => $pre_client_id ?? null - ]; - } + return $resultData; + + } catch (\Throwable $th) { + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateInsurerStatement: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + return []; + $errorData = [ + 'message' => $th->getMessage(), + 'file' => $th->getFile(), + 'line' => $th->getLine(), + 'code' => $th->getCode(), + 'trace' => $th->getTraceAsString(), + 'trace_array' => $th->getTrace(), // full array version (optional) + 'function' => $th->getTrace()[0]['function'] ?? null, + 'class' => $th->getTrace()[0]['class'] ?? null, + ]; + return ['status' => 'failed', 'code' => 500, 'message' => $th->getMessage(), 'error_data' => $errorData]; } - - - $resultData['hr_access_data'] = array_values($result); - $resultData['pre_policy_data'] = $data['pre_policy_data']; - $resultData['post_policy_data'] = $data['post_policy_data']; - $resultData['post_cd_data'] = $data['post_cd_data']; - - return $resultData; } public function saveHrAccessData() @@ -7846,7 +8103,4 @@ class ClientController extends AdminController - - - } diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 17755ad0..0013f928 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -1715,7 +1715,7 @@ class EmployeeRestController extends AdminController try { $client = $this->clientModel->where('id',$this->request->getGet('client_id'))->first(); - if($client) { + if(!empty($client)) { $client['client_logo'] = base_url().'public/uploads/logo/'.$client['client_logo']; $clientPolicy = $this->clientPolicyModel->where('client_id',$this->request->getGet('client_id')) ->where('client_branch_id',$this->request->getGet('client_branch_id'))->findAll(); @@ -2626,19 +2626,34 @@ class EmployeeRestController extends AdminController $data['ticket_history'] = $ticketController->ticketHistory($ticket_id); $data['claims_data'] = $this->ticketMaster->getTicketDataByTicketID($ticket_id); $data['ticket_data'] = $ticketController->getMoreInfo($requestFrom = 'rest', $ticket_id); + $status_list = [ + "DENIAL REVIEW AWAITED" => 'Denial Review Awaited', + "UNDER PROCESS - TPA" => 'Under Process', + "SETTLED" => 'Settled', + "PAYMENT INITIATED" => 'Under Process', + "APPROVED" => 'Approved', + "REJECTED" => 'Rejected', + "UNDER PROCESS - QUERY DOCUMENT RECEIVED" => 'Under Process', + "UNDER PROCESS - CLAIM NO. UPDATION" => 'Under Process' , + "INFORMATION REQUIRED" => 'Information Required', + "CDA" => 'Claim Received', + "ID NOT GENERATED" => 'Claim Received', + "NON ID" => 'Claim Received' + ]; - // $data = $response['data']; // Assuming your full array is stored in $response // $ticketData = $data['ticket_data']; // $ticketHistory = $data['ticket_history']; + $data['ticket_data'] = array_fill_keys(array_keys($data['ticket_data']), []); // Loop through ticket_data foreach ($data['ticket_data'] as $status => &$fields) { // Search ticket_history for matching old_status_value foreach ($data['ticket_history'] as $history) { + if ($history['old_status_value'] === $status) { // Attach modified_by and created_at - $fields['modified_by'] = $history['modified_by']; + // $fields['modified_by'] = $history['modified_by']; $fields['modified_at'] = date('d-m-Y h:i A', strtotime($history['created_at'])); // Break after first match (assuming latest entry is enough) break; @@ -2646,6 +2661,25 @@ class EmployeeRestController extends AdminController } } + $new_ticket_data = []; + + foreach ($data['ticket_data'] as $oldKey => $value) { + + // Only process if key exists in status_list + if (!isset($status_list[$oldKey])) { + continue; // skip and do NOT add to new array + } + + // Get new key based on mapping + $newKey = $status_list[$oldKey]; + + // Avoid duplicates + if (!isset($new_ticket_data[$newKey])) { + $new_ticket_data[$newKey] = $value; + } + } + + $data['ticket_data'] = $new_ticket_data; $ticketMesssageModel = new TicketMessageModel(); $ticket_message = $ticketMesssageModel @@ -3818,15 +3852,25 @@ class EmployeeRestController extends AdminController if (!empty($ticket_data)) { + // $client_claim_status = [ + // 'Received' => [1, 2, 3, 4, 15, 16, 17, 18, 25, 26, 27, 28, 35, 36, 37, 38], + // 'Rejected' => [8, 49, 55, 60], + // 'Cancelled' => [13, 47, 53, 58], + // 'Returned' => [14, 48, 54, 59], + // 'Closed' => [12, 22, 32, 42], + // 'Approved' => [9, 20, 30, 40], + // 'Settled' => [11, 24, 34], + // 'Under Process' => [5, 6, 7, 10, 19, 23, 45, 50, 29, 33, 51, 39, 43, 56], + // ]; + $client_claim_status = [ - 'Received' => [1, 2, 3, 4, 15, 16, 17, 18, 25, 26, 27, 28, 35, 36, 37, 38], - 'Rejected' => [8, 49, 55, 60], - 'Cancelled' => [13, 47, 53, 58], - 'Returned' => [14, 48, 54, 59], - 'Closed' => [12, 22, 32, 42], + 'Claim Received' => [1, 2, 3, 15, 16, 17, 18, 25, 26, 27, 28, 35, 36, 37, 38], + 'Under Process' => [5, 6, 7, 10, 19, 23, 45, 50, 29, 33, 51, 39, 43, 56], + 'Information Required' => [ 4 ], 'Approved' => [9, 20, 30, 40], 'Settled' => [11, 24, 34], - 'Under Process' => [5, 6, 7, 10, 19, 23, 45, 50, 29, 33, 51, 39, 43, 56], + 'Denial Review Awaited' => [66], + 'Rejected' => [8, 49, 55, 60], ]; foreach ($ticket_data as $key => $value) { @@ -3836,6 +3880,7 @@ class EmployeeRestController extends AdminController $ticket_data[$key]['claim_status'] = $claim_key ?? null; // Assign back to the main array } } + $ticket_data[$key]['priority_type'] = $priorityType[$value['priority']] ?? null; $ticket_data[$key]['mode_of_intimate_type'] = $modeOFIntimate[$value['mode_of_intimation']] ?? null; $ticket_data[$key]['relationship_type'] = ucfirst($value['relationship']) ?? null; @@ -3875,90 +3920,6 @@ class EmployeeRestController extends AdminController return $this->response->setJSON(['ticket_data' => $ticket_data])->setStatusCode(200); } - public function getWellnessUrl() - { - - $emp_id = $this->request->getGet('emp_id'); - - $db = \Config\Database::connect(); - $data = $db->table('employees e') - ->select('pt.policy_type, - e.name, e.email_corporate as email, e.mobile as phone, e.emp_code as memberId, e.gender, e.dob, e.relationship as relation, - cp.policy_no as policyNumber, cp.policy_no as employeeId, cp.policy_start_date as policyStartDate, cp.policy_end_date as policyEndDate') - ->join('employee_polices ep', 'e.id = ep.employee_id') - ->join('client_policy cp', 'ep.client_policy_id = cp.id') - ->join('policy_type pt', 'cp.policy_type_id = pt.id') - ->where('e.id', $emp_id) - ->where('e.emp_status', 'active') - ->where('ep.status', 'active') - ->where('e.is_active', 1) - ->where('ep.is_active', 1) - ->get() - ->getResultArray(); - - // print_r($db->getLastQuery());die(); - // print_r($data);die(); - // Loop through $data and check for policy_type = GMC - $userParams = []; - foreach ($data as $row) { - // if ($row['policy_type'] === 'GMC') { - $userParams['name'] = $row['name']; - $userParams['email'] = $row['email']; - $userParams['phone'] = $row['phone']; - $userParams['memberId'] = $row['memberId']; - $userParams['gender'] = $row['gender']; - $userParams['dob'] = $row['dob']; - $userParams['relation'] = $row['relation']; - $userParams['policyNumber'] = $row['policyNumber']; - $userParams['employeeId'] = $row['employeeId']; - $userParams['policyStartDate']= $row['policyStartDate']; - $userParams['policyEndDate'] = $row['policyEndDate']; - // $userParams['policyName'] = 'Nhance ' . $row['policy_type']; - // $userParams['planId'] = 'NHANCE-PLAN-' . $row['policy_type']; - $userParams['policyName'] = $row['policy_type']; - $userParams['planId'] = env('VISIT_PLAN_ID'); - - $userParams['moduleName'] = 'home'; - break; // stop after first GMC match - // } - } - - if (empty($userParams)) { - return $this->respond(['status' => 'failed','message' => 'Coming soon........!'], 200); - } - - // echo 'coming';die(); - // Derive 32-byte key from SHA256 - $derivedKey = hash('sha256', env('VISIT_SECRET_KEY'), true); - - // Build query string like Node.js - $plainText = ''; - foreach ($userParams as $k => $v) { - $plainText .= "&{$k}={$v}"; - } - $plainText = ltrim($plainText, '&'); - - // Encrypt - $algorithm = "aes-256-cbc"; - $encrypted = openssl_encrypt($plainText, $algorithm, $derivedKey, OPENSSL_RAW_DATA, env('VISIT_IV')); - - // Base64URL encode (same as Node.js output) - $output = rtrim(strtr(base64_encode($encrypted), '+/', '-_'), '='); - - $baseURL = env('VISIT_BASE_URL'); - $clientId = env('VISIT_CLIENT_ID'); - $finalUrl = $baseURL . '/sso?userParams=' . $output . '&clientId=' . $clientId; - - if (!empty($finalUrl)) { - log_message('error', 'VISIT SSO | emp_id: '.$emp_id.' | URL: '.$finalUrl); - return $this->respond(['status' => 'success','data' => $finalUrl], 200); - } else { - return $this->respond(['status' => 'failed','message' => 'Coming soon........!'], 200); - } - } - - - // not in use did for testing function encrypt_for_sso(): string { diff --git a/app/Controllers/EmployeeServiceController.php b/app/Controllers/EmployeeServiceController.php index 4b71694c..690e9c08 100755 --- a/app/Controllers/EmployeeServiceController.php +++ b/app/Controllers/EmployeeServiceController.php @@ -2471,7 +2471,7 @@ class EmployeeServiceController extends AdminController $member_data_count = count($member_data); if ($inception_data_count !== $member_data_count) { - $result['error_summary'][] = 15; + $result['error_summary'][] = 101; $result['error_message'] = " Inception Data Count: {$inception_data_count}   @@ -2504,7 +2504,7 @@ class EmployeeServiceController extends AdminController } if (!$match_found) { - array_push($result['error_summary'], 14); + array_push($result['error_summary'], 100); $result['error_data'][$inception_key]['sno']['error'][] = "This inception row was not found in the member data list."; } } diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index b1fb07d6..8d24f27b 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -2510,89 +2510,105 @@ // check policy no,insurer and etc in DB for this month // if all good return true, otherwise return false with messssage $data_to_update = []; - foreach ($excel_data as $excel_key => $excel_row) { - $is_row_empty = check_row_is_empty_or_null($excel_row); - if (!$is_row_empty) { + try{ + foreach ($excel_data as $excel_key => $excel_row) { + $is_row_empty = check_row_is_empty_or_null($excel_row); + if (!$is_row_empty) { - $is_source_found = 0; - // $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]); //policy_start_date from excel - // $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]); //policy_end_date from excel - $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]); //policy_end_date from excel - $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]); // - // $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]); //clientname from excel - $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]); //policy_end_date from excel + $is_source_found = 0; + // $policy_start_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[4]); //policy_start_date from excel + // $policy_end_date = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[5]); //policy_end_date from excel + $policy_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[1]); //policy_end_date from excel + $policy_no = preg_replace('/[\x{200C}\x{200B}]/u', '', $excel_row[1]); // + // $client_name = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[3]); //clientname from excel + $endorsement_no = preg_replace('/^\p{Z}+|\p{Z}+$/u', '', $excel_row[2]); //policy_end_date from excel - foreach ($source_data as $source_key => $source_row) { - // Kint::dump(change_date_format($excel_row[3],'d-m-Y','Y-m-d')); - $source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null; - // if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) { - if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no) { - $is_source_found = 1; + foreach ($source_data as $source_key => $source_row) { + // Kint::dump(change_date_format($excel_row[3],'d-m-Y','Y-m-d')); + $source_endorsement_no = $source_row['endorsement_no'] !== null ? $source_row['endorsement_no'] : null; + // if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no && change_date_format($policy_start_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_start_date'] && change_date_format($policy_end_date, 'd-m-Y', 'Y-m-d') == $source_row['policy_end_date'] && $client_name == $source_row['client_name']) { + if (($policy_no == $source_row['policy_no']) && $endorsement_no == $source_endorsement_no) { + $is_source_found = 1; - //calculate percentage first - $total_amt = 0; + //calculate percentage first + $total_amt = 0; - // $actual_bp_per = trim($excel_row[9]); //commented becoz this filed removed tfrom excel file - $actual_bp_per = 0; //set default value 0 for maintaining existing code flow - $actual_bp_brokerage = trim($excel_row[5]); - $actual_bp_amt = trim($excel_row[3]); + // $actual_bp_per = trim($excel_row[9]); //commented becoz this filed removed tfrom excel file + $actual_bp_per = 0; //set default value 0 for maintaining existing code flow + $actual_bp_brokerage = (int) trim($excel_row[5]); + $actual_bp_amt = (int) trim($excel_row[3]); - if (($actual_bp_brokerage && $actual_bp_brokerage != 0 && $actual_bp_brokerage != "")) { - $total_amt += $actual_bp_brokerage; - //percentage reverse calculation - if (($actual_bp_per == 0 || $actual_bp_per == 0) && !empty($actual_bp_amt)) { - $actual_bp_per = round(($actual_bp_brokerage / $actual_bp_amt) * 100, 2); + if (($actual_bp_brokerage && $actual_bp_brokerage != 0 && $actual_bp_brokerage != "")) { + $total_amt += $actual_bp_brokerage; + //percentage reverse calculation + if (($actual_bp_per == 0 || $actual_bp_per == 0) && !empty($actual_bp_amt)) { + $actual_bp_per = (int) round(($actual_bp_brokerage / $actual_bp_amt) * 100, 2); + } + } else { + $actual_bp_brokerage = $actual_bp_amt * ($actual_bp_per / 100); + $total_amt += $actual_bp_brokerage; } - } else { - $actual_bp_brokerage = $actual_bp_amt * ($actual_bp_per / 100); - $total_amt += $actual_bp_brokerage; - } - // $actual_tp_per = trim($excel_row[10]);//commented becoz this filed removed tfrom excel file - $actual_tp_per = 0;//set default value 0 for maintaining existing code flow - $actual_tp_brokerage = trim($excel_row[6]); - $actual_tp_amt = trim($excel_row[4]); + // $actual_tp_per = trim($excel_row[10]);//commented becoz this filed removed tfrom excel file + $actual_tp_per = 0;//set default value 0 for maintaining existing code flow + $actual_tp_brokerage = (int) trim($excel_row[6]); + $actual_tp_amt = (int) trim($excel_row[4]); - if ($actual_tp_brokerage && $actual_tp_brokerage != 0 && $actual_tp_brokerage != "") { - $total_amt += $actual_tp_brokerage; - //percentage reverse calculation - if (($actual_tp_per == 0 || $actual_tp_per == "") && !empty($actual_tp_amt)) { - $actual_tp_per = ($actual_tp_brokerage / $actual_tp_amt) * 100; + if ($actual_tp_brokerage && $actual_tp_brokerage != 0 && $actual_tp_brokerage != "") { + $total_amt += $actual_tp_brokerage; + //percentage reverse calculation + if (($actual_tp_per == 0 || $actual_tp_per == "") && !empty($actual_tp_amt)) { + $actual_tp_per = (int) round(($actual_tp_brokerage / $actual_tp_amt) * 100, 2); + } + } else { + $actual_tp_brokerage = $actual_tp_amt * ($actual_tp_per / 100); + $total_amt += $actual_tp_brokerage; } - } else { - $actual_tp_brokerage = $actual_tp_amt * ($actual_tp_per / 100); - $total_amt += $actual_tp_brokerage; - } - // $actual_tep_per = trim($excel_row[11]); - // $actual_tep_brokerage = trim($excel_row[14]); - // $actual_tep_amt = trim($excel_row[8]); + // $actual_tep_per = trim($excel_row[11]); + // $actual_tep_brokerage = trim($excel_row[14]); + // $actual_tep_amt = trim($excel_row[8]); - $actual_tep_per = 0; - $actual_tep_brokerage = 0; - $actual_tep_amt = 0; + $actual_tep_per = 0; + $actual_tep_brokerage = 0; + $actual_tep_amt = 0; - if ($actual_tep_brokerage && $actual_tep_brokerage != 0 && $actual_tep_brokerage != "") { - $total_amt += $actual_tep_brokerage; - //percentage reverse calculation - if (($actual_tep_per == 0 || $actual_tep_per == "") && !empty($actual_tep_amt)) { - $actual_tep_per = ($actual_tep_brokerage / $actual_tep_amt) * 100; + if ($actual_tep_brokerage && $actual_tep_brokerage != 0 && $actual_tep_brokerage != "") { + $total_amt += $actual_tep_brokerage; + //percentage reverse calculation + if (($actual_tep_per == 0 || $actual_tep_per == "") && !empty($actual_tep_amt)) { + $actual_tep_per = ($actual_tep_brokerage / $actual_tep_amt) * 100; + } + } else { + $actual_tep_brokerage = $actual_tep_amt * ($actual_tep_per / 100); + $total_amt += $actual_tep_brokerage; } - } else { - $actual_tep_brokerage = $actual_tep_amt * ($actual_tep_per / 100); - $total_amt += $actual_tep_brokerage; + + //find variance + $variance_amt = $source_row['exp_amt'] - $total_amt; + + $data_to_update[] = ['co_share_id' => $source_row['id'], 'actual_bp_amt' => $actual_bp_amt, 'actual_tp_amt' => $actual_tp_amt, 'actual_tep_amt' => $actual_tep_amt, 'actual_bp_per' => $actual_bp_per, 'actual_tp_per' => $actual_tp_per, 'actual_tep_per' => $actual_tep_per, 'variance' => $variance_amt, 'actual_tep_brokerage_amt' => $actual_tep_brokerage, 'actual_tp_brokerage_amt' => $actual_tp_brokerage, 'actual_bp_brokerage_amt' => $actual_bp_brokerage, 'reward' => trim($excel_row[7]), 'statement_id' => $file_id]; + + unset($source_data[$source_key]); + continue 2; } - - //find variance - $variance_amt = $source_row['exp_amt'] - $total_amt; - - $data_to_update[] = ['co_share_id' => $source_row['id'], 'actual_bp_amt' => $actual_bp_amt, 'actual_tp_amt' => $actual_tp_amt, 'actual_tep_amt' => $actual_tep_amt, 'actual_bp_per' => $actual_bp_per, 'actual_tp_per' => $actual_tp_per, 'actual_tep_per' => $actual_tep_per, 'variance' => $variance_amt, 'actual_tep_brokerage_amt' => $actual_tep_brokerage, 'actual_tp_brokerage_amt' => $actual_tp_brokerage, 'actual_bp_brokerage_amt' => $actual_bp_brokerage, 'reward' => trim($excel_row[7]), 'statement_id' => $file_id]; - - unset($source_data[$source_key]); - continue 2; } } } + }catch (\Throwable $th) { + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateInsurerStatement: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); + $errorData = [ + 'message' => $th->getMessage(), + 'file' => $th->getFile(), + 'line' => $th->getLine(), + 'code' => $th->getCode(), + 'trace' => $th->getTraceAsString(), + 'trace_array' => $th->getTrace(), // full array version (optional) + 'function' => $th->getTrace()[0]['function'] ?? null, + 'class' => $th->getTrace()[0]['class'] ?? null, + ]; + return ['status' => 'failed', 'code' => 500, 'message' => $th->getMessage(), 'error_data' => $errorData]; } // dd($data_to_update); $this->coShareStmtDetailsModel->insertBatch($data_to_update, 'id'); @@ -2795,6 +2811,20 @@ $this->loadLayout('dms_search', $data); } + public function payouts() + { + + $data['tab_name'] = 'Payouts'; + $data['page_name'] = 'Payouts'; + $data['payouts'] = []; + $data['agents'] = [ 1 => "Agent 1", 2 => "Agent 2", 3 => "Agent 3", 4 => "Agent 4", 5 => "Agent 5", 6 => "Agent 6", 7 => "Agent 7", 8 => "Agent 8"]; + $data['brokers'] = []; + + if ($this->request->is('post')) {} + if ($this->request->is('get')) {} + + $this->loadLayout('policy_transaction_payouts', $data); + } //--------------------------------------------------------------------------------------------------- public function getCoShareStatementDetails($pt_id) diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 3ba1557e..761ceffa 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -1518,12 +1518,7 @@ class RestAuthenticationController extends AdminController public function savePassword() { - log_message('error', ' '); - log_message('error', ' ************************************* POST START **************************************** '); - log_message('error', ' '); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Function called"); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Received payload = " . json_encode($this->request->getJSON() ?? [])); - try { $payload = $this->request->getJSON(); @@ -1681,8 +1676,7 @@ class RestAuthenticationController extends AdminController if ($employeeData && password_verify($old_password, $employeeData['password'])) { // Hash new password - // $newHashedPassword = password_hash($new_password, PASSWORD_DEFAULT); - $newHashedPassword = $new_password; + $newHashedPassword = password_hash($new_password, PASSWORD_DEFAULT); // Update password and clear OTP $updated = $this->employeeModel->update($employeeData['id'], [ diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index c8adbcbb..6219326a 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -2011,6 +2011,7 @@ class TicketController extends BaseController { $received_data = $this->request->getPost(); $ticket_type_id = $this->request->getPost('ticket_type_id') ?? null; + $client_id = $this->request->getPost('client_id') ?? null; $emp_id = $received_data['emp_id']; // Get all client policy IDs for the given employee @@ -2027,6 +2028,9 @@ class TicketController extends BaseController $builder->where('e.is_active', 1); $builder->where('ep.is_active', 1); $builder->where('e.emp_code', $self_data['emp_code']); + if(!empty($client_id)){ + $builder->where('e.client_id', $client_id); + } $builder->groupBy('client_policy_id'); $query = $builder->get(); diff --git a/app/Controllers/VidalApiController.php b/app/Controllers/VidalApiController.php index b7418dbf..3a6e8b56 100644 --- a/app/Controllers/VidalApiController.php +++ b/app/Controllers/VidalApiController.php @@ -12,6 +12,209 @@ class VidalApiController extends BaseController // } + + function fileUploadToVidal() + { + $apiUrl = "https://devapigw.vidalhealthtpa.com/partner-integration/api/files/upload-url"; + $subscriptionKey = getenv('VIDAL_API_SUBSCRIPTION_KEY'); + + // Step 1: Get signed URL from Vidal API + $filePath = '/opt/lampp/htdocs/nhance/writable/uploads/claim_files/1760013019_73d94af7b96ddc2e3d51.png'; + $payload = json_encode(["scope" => 'document type' , 'fileName' => '1760013019_73d94af7b96ddc2e3d51.png']); + $headers = [ + "Content-Type: application/json", + "Ocp-Apim-Subscription-Key: $subscriptionKey" + ]; + + $ch = curl_init($apiUrl); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + + $response = curl_exec($ch); + if (curl_errno($ch)) { + die("Curl error while requesting signed URL: " . curl_error($ch)); + } + curl_close($ch); + + $responseData = json_decode($response, true); + + if (!isset($responseData['data']['signedUrl'])) { + die("Failed to get signed URL. Response: " . $response); + } + + $signedUrl = $responseData['data']['signedUrl']; + $fileId = $responseData['data']['fileId']; + + // Step 2: Upload file to signed URL using PUT (Azure Blob) + $fileSize = filesize($filePath); + $fileContent = fopen($filePath, 'r'); + + $ch2 = curl_init($signedUrl); + curl_setopt($ch2, CURLOPT_PUT, true); + curl_setopt($ch2, CURLOPT_INFILE, $fileContent); + curl_setopt($ch2, CURLOPT_INFILESIZE, $fileSize); + curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch2, CURLOPT_HTTPHEADER, [ + "x-ms-blob-type: BlockBlob", + "Content-Length: $fileSize" + ]); + + $uploadResponse = curl_exec($ch2); + + $httpCode = curl_getinfo($ch2, CURLINFO_HTTP_CODE); + if (curl_errno($ch2)) { + die("Curl error while uploading file: " . curl_error($ch2)); + } + fclose($fileContent); + curl_close($ch2); + + if ($httpCode !== 201 && $httpCode !== 200) { + die("File upload failed. HTTP Code: $httpCode\nResponse: $uploadResponse"); + } + + // Step 3: Return File ID for reference + return $this->response->setJSON( [ + "status" => true, + "message" => "File uploaded successfully", + "fileId" => $fileId, + "signedUrl" => $signedUrl, + "uploadResponse" => json_decode($uploadResponse, true) + ]); + } + + public function fileUpload() + { + + helper('api'); + $url = getenv('VIDAL_API_BASE_URL') . '/files/upload-url'; + $method = 'POST'; + + $headers = [ + 'Content-Type: application/json', + 'x-ms-blob-type: BlockBlob', + 'Ocp-Apim-Subscription-Key:' .getenv('VIDAL_API_SUBSCRIPTION_KEY').'', + ]; + + $body = [ + 'scope' => 'application/pdf', + 'fileName' => '1760013019_73d94af7b96ddc2e3d51.png', + 'file' => '/opt/lampp/htdocs/nhance/writable/uploads/claim_files/1760013019_73d94af7b96ddc2e3d51.png', + ]; + + $response = call_third_party_api($url, $method, $headers, $body); + + if($response['status'] != true){ + return $this->response->setJSON([ + 'status' => false, + 'message' => 'failed.', + 'data' => $response + ]); + } + + return $this->response->setJSON($response); + + // { + // "status": true, + // "data": { + // "status": "SUCCESS", + // "data": { + // "signedUrl": "https://devapigw.vidalhealthtpa.com/doc-storage/api/deeplink/6912d37a9f09fc3f6be4cd9c/56fb8e76-39a4-4e4b-99f2-4748e224e4a7?se=2025-11-18T06:11:06.304Z", + // "expiresAt": "2025-11-18T06:11:06.304Z", + // "fileId": "https://devapigw.vidalhealthtpa.com/doc-storage/api/private/6912d37a9f09fc3f6be4cd9c" + // }, + // "trace": "T_ID_a09327df-ea34-4874-9e3f-05ac5c0a2c68", + // "successful": true + // }, + // "code": 200 + // } + + } + + public function SubmitClaim ($claimId = null) + { + helper('api'); + + $url = getenv('VIDAL_API_BASE_URL').'/claims/submit'; + $method = 'POST'; + + $headers = [ + 'Content-Type: application/json', + 'Ocp-Apim-Subscription-Key:' .getenv('VIDAL_API_SUBSCRIPTION_KEY').'', + ]; + + $body = [ + 'policyNo' => "351500/D0534/PP/20-20/PC", + 'enrollmentId' => "BLR-NC-D0534-004-0000033-A", + 'typeOfClaim' => "Main hospitalization claim", + 'claimSubType' => "Hospitalization", + 'requestedAmount' => "3500", + 'ailmentType' => "Non covid", + 'admissionDate' => "20-07-2023", + 'dischargeDate' => "23-07-2023", + 'hospitalName' => "DELL HOSPITAL PVT LTD", + 'empanelmentNo' => "HOS-BLR-021280", + 'documentType' => "Claim", + 'ailmentName' => "Cold", + 'hospitalAddress' => "abc", + 'hospitalState' => "karnataka", + 'hospitalCity' => "bangalore", + 'hospitalPinCode' => "560036", + 'hospitalPhoneNo' => "7656879899", + 'fileId' => "https://devapigw.vidalhealthtpa.com/doc-storage/api/private/69130dfad1414b35a775480f", + ]; + + + + $response = call_third_party_api($url, $method, $headers, $body); + + if($response['status'] != true){ + return $this->response->setJSON([ + 'status' => false, + 'message' => 'failed.', + 'data' => $response + ]); + } + + return $this->response->setJSON($response); + } + + public function claimStatus ($claimId = null) + { + helper('api'); + + $url = getenv('VIDAL_API_BASE_URL').'/claims/claim-dependent-info'; + $method = 'POST'; + + $headers = [ + 'Content-Type: application/json', + 'Ocp-Apim-Subscription-Key:' .getenv('VIDAL_API_SUBSCRIPTION_KEY').'', + ]; + + $body = [ + 'empNO' => "", + 'tpaCardID' => "", + 'claimID' => "BLR-0284-CL-9349459", + 'emailID' => "", + 'mobileNO' => "", + ]; + + + + $response = call_third_party_api($url, $method, $headers, $body); + + if($response['status'] != true){ + return $this->response->setJSON([ + 'status' => false, + 'message' => 'failed.', + 'data' => $response + ]); + } + + return $this->response->setJSON($response); + } + public function hospitalNetwork(){ $postData = $this->request->getJSON(true); @@ -123,74 +326,6 @@ class VidalApiController extends BaseController } - public function newClaim() - { - $postData = $this->request->getPost(); - - if (empty($postData)) { - return $this->response->setJSON([ - 'status' => false, - 'message' => 'Empty Data Given.', - 'data' => $postData - ]); - } - - helper('api'); - - $url = getenv('VIDAL_API_BASE_URL') . '/submitClaim'; - $method = 'POST'; - - $headers = [ - 'Content-Type: multipart/form-data', - 'Authorization:' .getenv('VIDAL_API_KEY').'', - ]; - - $body = [ - 'username' => getenv('VIDAL_API_USERNAME'), - 'password' => getenv('VIDAL_API_PASSWORD'), - 'policyNo' => $postData['policyNo'] ?? '', - 'enrollmentId' => $postData['enrollmentId'] ?? '', - 'typeOfClaim' => $postData['typeOfClaim'] ?? '', - 'claimSubType' => $postData['claimSubType'] ?? '', - 'requestedAmount' => $postData['requestedAmount'] ?? '', - 'ailmentType' => $postData['ailmentType'] ?? '', - 'admissionDate' => $postData['admissionDate'] ?? '', - 'dischargeDate' => $postData['dischargeDate'] ?? '', - 'hospitalName' => $postData['hospitalName'] ?? '', - 'empanelmentNo' => $postData['empanelmentNo'] ?? '', - 'documentType' => $postData['documentType'] ?? '', - 'ailmentName' => $postData['ailmentName'] ?? '', - 'hospitalAddress' => $postData['hospitalAddress'] ?? '', - 'hospitalState' => $postData['hospitalState'] ?? '', - 'hospitalCity' => $postData['hospitalCity'] ?? '', - 'hospitalPinCode' => $postData['hospitalPinCode'] ?? '', - 'hospitalPhoneNo' => $postData['hospitalPhoneNo'] ?? '', - ]; - - // ✅ Handle file upload - if ($file = $this->request->getFile('File')) { - if ($file->isValid() && !$file->hasMoved()) { - $filePath = $file->getTempName(); - $originalName = $file->getClientName(); - $mimeType = $file->getMimeType(); - - $body['File'] = new \CURLFile($filePath, $mimeType, $originalName); - } - } - - $response = call_third_party_api($url, $method, $headers, $body); - - if($response['status'] != true){ - return $this->response->setJSON([ - 'status' => false, - 'message' => 'Token generation failed.', - 'data' => $response - ]); - } - - return $this->response->setJSON($response); - } - public function enrollment() { diff --git a/app/Views/UserList.php b/app/Views/UserList.php index 7561a427..d0dca952 100755 --- a/app/Views/UserList.php +++ b/app/Views/UserList.php @@ -935,6 +935,7 @@ table.dataTable tbody td { }, { extend: 'excel', + sheetName: 'Users', text: ' EXCEL ', exportOptions: { orthogonal: 'sort' }, className: 'app-btn-primary', @@ -948,12 +949,16 @@ table.dataTable tbody td { paging: true, pageLength: 10, language: { - search: ` -
+ search: ` +
_INPUT_ - + +
`, - searchPlaceholder: "Search" + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, initComplete: function () { $(".dt-buttons").prepend(` diff --git a/app/Views/add_image_list.php b/app/Views/add_image_list.php index 5d8d65ad..46332236 100755 --- a/app/Views/add_image_list.php +++ b/app/Views/add_image_list.php @@ -53,7 +53,7 @@ table.dataTable thead th { @@ -82,17 +82,15 @@ table.dataTable thead th {
-
- - + +
- +
@@ -101,8 +99,9 @@ table.dataTable thead th {
+
- +
@@ -113,68 +112,69 @@ table.dataTable thead th { \ No newline at end of file diff --git a/app/Views/batch_list.php b/app/Views/batch_list.php index af6d3e64..6600162f 100755 --- a/app/Views/batch_list.php +++ b/app/Views/batch_list.php @@ -254,12 +254,16 @@ } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true }); diff --git a/app/Views/bds_multi_report.php b/app/Views/bds_multi_report.php index b2cbb84f..33fa456a 100644 --- a/app/Views/bds_multi_report.php +++ b/app/Views/bds_multi_report.php @@ -107,17 +107,22 @@ extend: 'excel', text: ' EXCEL ', title: 'BDS TAT BAND WISE DATA', + sheetName: 'BDS TAT BAND WISE DATA', }, ] } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/bds_renewal_report_list.php b/app/Views/bds_renewal_report_list.php index 9d44a633..c11290a7 100644 --- a/app/Views/bds_renewal_report_list.php +++ b/app/Views/bds_renewal_report_list.php @@ -134,6 +134,7 @@ $(document).ready(function() { extend: 'excel', text: ' EXCEL ', title: 'Renewal-List', + sheetName: 'Renewal-List', exportOptions: { orthogonal: 'sort' }, @@ -142,12 +143,16 @@ $(document).ready(function() { } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, // Enable pagination pageLength: 20, // Set default number of rows per page (optional) @@ -161,14 +166,17 @@ $(document).ready(function() { // Global DataTables defaults $.extend(true, $.fn.dataTable.defaults, { language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, - paging: true, pageLength: 10, ordering: false diff --git a/app/Views/bds_report_Insurer_wise_Data.php b/app/Views/bds_report_Insurer_wise_Data.php index 835f48d6..d020fb8c 100644 --- a/app/Views/bds_report_Insurer_wise_Data.php +++ b/app/Views/bds_report_Insurer_wise_Data.php @@ -94,6 +94,7 @@ table.dataTable tbody td { extend: 'excel', text: ' EXCEL ', title: 'Insurer-Wise-Report-List', + sheetName: 'Insurer-Wise-Report-List', exportOptions: { orthogonal: 'sort' }, @@ -104,12 +105,16 @@ table.dataTable tbody td { } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/bds_report_bap_wise_data.php b/app/Views/bds_report_bap_wise_data.php index 3b2175db..928ad3a4 100644 --- a/app/Views/bds_report_bap_wise_data.php +++ b/app/Views/bds_report_bap_wise_data.php @@ -100,18 +100,23 @@ table.dataTable tbody td { }, className: 'app-btn-primary ', title: 'Bap-Wise-Report-List', + sheetName: 'Bap-Wise-Report-List', footer: true } ] } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/bds_tat_wise_report.php b/app/Views/bds_tat_wise_report.php index 1c30125d..c47cc259 100644 --- a/app/Views/bds_tat_wise_report.php +++ b/app/Views/bds_tat_wise_report.php @@ -123,18 +123,23 @@ extend: 'excel', text: ' EXCEL ', title: 'BDS TAT BAND WISE DATA', + sheetName: 'BDS TAT BAND WISE DATA', className: 'app-btn-primary ', } ] } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/business_team_list.php b/app/Views/business_team_list.php index 4329ecb6..3aeb2ed0 100644 --- a/app/Views/business_team_list.php +++ b/app/Views/business_team_list.php @@ -385,13 +385,16 @@ } ], language: { - search: ` -
+ search: ` +
_INPUT_ - + +
`, - searchPlaceholder: "Search", - emptyTable: '
No Data found
' + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/cd_master_list.php b/app/Views/cd_master_list.php index 466588e9..c0ff4584 100755 --- a/app/Views/cd_master_list.php +++ b/app/Views/cd_master_list.php @@ -243,6 +243,7 @@ table.dataTable thead th { { extend: 'excel', text: ' EXCEL ', + sheetName: 'CD-Master-List', exportOptions: { orthogonal: 'sort' }, @@ -252,12 +253,16 @@ table.dataTable thead th { } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/claim_dump_file_list.php b/app/Views/claim_dump_file_list.php index 7a52530b..70282d89 100644 --- a/app/Views/claim_dump_file_list.php +++ b/app/Views/claim_dump_file_list.php @@ -297,12 +297,16 @@ } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, // Enable pagination pageLength: 15, // Set default number of rows per page (optional) diff --git a/app/Views/claims_report_acc_manager_wise.php b/app/Views/claims_report_acc_manager_wise.php index 105f552a..177fe93f 100644 --- a/app/Views/claims_report_acc_manager_wise.php +++ b/app/Views/claims_report_acc_manager_wise.php @@ -94,17 +94,21 @@ className: 'btn app-btn-secondary ', buttons: [ { extend: 'csv', text: ' CSV ', title: 'Insurer-Wise-Report-List', className: 'app-btn-primary ' }, - { extend: 'excel', text: ' EXCEL ', title: 'Insurer-Wise-Report-List', className: 'app-btn-primary ', exportOptions: { orthogonal: 'sort' } } + { extend: 'excel', text: ' EXCEL ', title: 'Insurer-Wise-Report-List', className: 'app-btn-primary ', sheetName: 'Insurer-Wise-Report-List', exportOptions: { orthogonal: 'sort' } } ], } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/claims_report_tpa_wise.php b/app/Views/claims_report_tpa_wise.php index ec66572a..fbf5daa5 100644 --- a/app/Views/claims_report_tpa_wise.php +++ b/app/Views/claims_report_tpa_wise.php @@ -92,17 +92,21 @@ className: 'btn app-btn-secondary ', buttons: [ { extend: 'csv', text: ' CSV ', title: 'Insurer-Wise-Report-List',className: 'app-btn-primary ' }, - { extend: 'excel', text: ' EXCEL ', title: 'Insurer-Wise-Report-List',className: 'app-btn-primary ', exportOptions: { orthogonal: 'sort' } } + { extend: 'excel', text: ' EXCEL ', title: 'Insurer-Wise-Report-List',className: 'app-btn-primary ', sheetName: 'Insurer-Wise-Report-List', exportOptions: { orthogonal: 'sort' } } ] } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true, pageLength: 10, diff --git a/app/Views/client_branch.php b/app/Views/client_branch.php index 178439fa..01ff9597 100755 --- a/app/Views/client_branch.php +++ b/app/Views/client_branch.php @@ -436,6 +436,7 @@ $("#branch_form").submit(function(event) { toastr.error(res.message, 'Error'); }else{ toastr.success(res.message, 'Success'); + newBranchSavedPeaseCallTheHrAccessFormApi = true; } // var message = (branch_PrimaryKey === '') ? // 'Client Branch Created successfully' : diff --git a/app/Views/client_deposit_list.php b/app/Views/client_deposit_list.php index 81c80750..c8be27ae 100755 --- a/app/Views/client_deposit_list.php +++ b/app/Views/client_deposit_list.php @@ -99,13 +99,17 @@ $(document).ready(function() { } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search" - }, + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' + }, }); diff --git a/app/Views/client_list.php b/app/Views/client_list.php index 237c2752..1a2f21f4 100755 --- a/app/Views/client_list.php +++ b/app/Views/client_list.php @@ -340,13 +340,16 @@ $(document).ready(function() } ], language: { - search: ` -
- _INPUT_ - -
`, - searchPlaceholder: "Search", - emptyTable: '
No Data found
' + search: ` +
+ _INPUT_ + + +
`, + searchPlaceholder: "Search", + emptyTable: '
No Data found
' }, paging: true , // pagingType: 'full_numbers' diff --git a/app/Views/client_onboarding.php b/app/Views/client_onboarding.php index 3dc798d6..3a195fe7 100755 --- a/app/Views/client_onboarding.php +++ b/app/Views/client_onboarding.php @@ -456,6 +456,7 @@ diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php index ba010a81..8fd011b7 100755 --- a/app/Views/layout/header.php +++ b/app/Views/layout/header.php @@ -1660,6 +1660,12 @@ .right-btn { right: 0; } + + input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; + appearance: none; + } + @@ -2011,6 +2017,12 @@ +
  • + + + Payouts + +
  • diff --git a/app/Views/leads_list.php b/app/Views/leads_list.php index 1762f32c..8075471d 100644 --- a/app/Views/leads_list.php +++ b/app/Views/leads_list.php @@ -487,12 +487,16 @@ table.dataTable tbody td { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/nhance_branch_list.php b/app/Views/nhance_branch_list.php index 8d0c1add..32c7c09c 100644 --- a/app/Views/nhance_branch_list.php +++ b/app/Views/nhance_branch_list.php @@ -124,11 +124,15 @@ ], language: { search: ` -
    +
    _INPUT_ - + +
    `, - searchPlaceholder: "Search" + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/other_policy_terms.php b/app/Views/other_policy_terms.php index e674fa52..16166973 100755 --- a/app/Views/other_policy_terms.php +++ b/app/Views/other_policy_terms.php @@ -215,6 +215,7 @@ } }); + window.scrollTo({ top: 0, behavior: 'smooth' }); setTimeout(function() { $('.loader').fadeOut(); $('.loader-mask').delay(350).fadeOut('slow'); @@ -749,8 +750,8 @@
    - +
    diff --git a/app/Views/outstanding_report_list.php b/app/Views/outstanding_report_list.php index 53b807d9..bd45e251 100644 --- a/app/Views/outstanding_report_list.php +++ b/app/Views/outstanding_report_list.php @@ -194,6 +194,7 @@ extend: 'excel', text: ' EXCEL ', title: 'Outstanding Report', + sheetName: 'Outstanding Report', customize: function(xlsx) { var sheet = xlsx.xl.worksheets['sheet1.xml']; var total = 0; @@ -225,12 +226,16 @@ ] }], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 25 // Set default number of rows per page (optional) diff --git a/app/Views/policy_gmc_terms.php b/app/Views/policy_gmc_terms.php index e9f6848f..5c28b10a 100755 --- a/app/Views/policy_gmc_terms.php +++ b/app/Views/policy_gmc_terms.php @@ -1052,6 +1052,7 @@ } }); + window.scrollTo({ top: 0, behavior: 'smooth' }); setTimeout(function() { $('.loader').fadeOut(); @@ -1761,15 +1762,14 @@ value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured mr-2" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)"> + -
    diff --git a/app/Views/policy_gpa_terms.php b/app/Views/policy_gpa_terms.php index b8be22c0..87a151b9 100755 --- a/app/Views/policy_gpa_terms.php +++ b/app/Views/policy_gpa_terms.php @@ -499,6 +499,7 @@ } }); + window.scrollTo({ top: 0, behavior: 'smooth' }); setTimeout(function() { $('.loader').fadeOut(); @@ -927,14 +928,14 @@ style="max-width:200px;" value="${data == null || data == undefined || data == "" ? '' : data}" type="text" name="multiple_sum_insured[]" class="form-control multiple_sum_insured mr-2" onkeypress="return onlyNumbers(event)" onkeyup="formatNumber(this); numtowordinkeyup(this)"> - +
    diff --git a/app/Views/policy_transaction_endorsement_form.php b/app/Views/policy_transaction_endorsement_form.php index 2c1bfae3..04f4b2de 100644 --- a/app/Views/policy_transaction_endorsement_form.php +++ b/app/Views/policy_transaction_endorsement_form.php @@ -458,7 +458,7 @@ - > + Agreed Amount @@ -1346,6 +1346,41 @@ // $('#co_premium_' + input).val(cop.toFixed(2)); // $('#co_tp_premium_' + input).val(cotp.toFixed(2)); // $('#co_ter_premium_' + input).val(cotep.toFixed(2)); + // } + + // Apply Deletion (Negative) Values + // function applyDeletionSymbolsToFields(input, isDeletion) { + // console.log('========== APPLYING DELETION SYMBOLS =========='); + + // if (!isDeletion) return; + + // const fieldIds = [ + // 'base_premium', + // 'tp_premium', + // 'ter_premium', + // 'co_premium', + // 'co_tp_premium', + // 'co_ter_premium', + // 'gst_amount', + // 'agreed_amount', + // 'non_comm_per_amt', + // 'total_amt', + // 'exp_amt' + // ]; + + // fieldIds.forEach(field => { + // const $el = $('#' + field + '_' + input); + // console.log('$el', '#' + field + '_' + input); + // console.log('$el', $el); + // let val = $el.val()?.trim(); + // console.log('$val', val); + // if (!val || val.startsWith('-')) return; + + // let num = parseFloat(val); + // if (!isNaN(num) && num > 0) $el.val(-num); + // }); + + // console.log('========== COMPLETED DELETION SYMBOL APPLICATION =========='); // } function checkAndDistributeTax(input){ @@ -1432,9 +1467,9 @@ let bap = selectedOption.data('bap') || ''; let allocg = selectedOption.data('allocg') || ''; let endorsement_type = $('#action_type').val(); - let isDeletion = endorsement_type === "deletion"; - - console.log("bap:", bap, "allocg:", allocg, "isDeletion:", isDeletion); + let isDeletion = false; + // let isDeletion = endorsement_type === "deletion" || endorsement_type === "policy_cancellation"; + console.log({bap, allocg, isDeletion}); const event = window.event || {}; @@ -1458,7 +1493,20 @@ let cotp = (allocg !== 'EB') ? absNum('co_tp_premium') : 0; let cotep = (['Fire', 'Marine Cargo', 'Marine Hull'].includes(bap)) ? absNum('co_ter_premium') : 0; - console.log({ bp, tp, tep, cop, cotp, cotep, ncpa }); + console.log('premiums :', { bp, tp, tep, cop, cotp, cotep, ncpa }); + + let bp_raw_val = parseFloat($('#base_premium_' + input).val()); + console.log('bp_raw_val', bp_raw_val); + + // handel the positive(+), negative(-) symbole add the value + if(endorsement_type === "addition" || endorsement_type === "baby_addition" || endorsement_type === "addition_inception"){ + isDeletion = false + }else if(endorsement_type === "deletion" || endorsement_type === "policy_cancellation"){ + isDeletion = true + }else if(bp_raw_val < 0){ + isDeletion = true; + console.log('Value is negative:', bp_raw_val); + } let co_share_type_val = numVal('co_share_type'); console.log('co_share_type_val :', co_share_type_val); @@ -1532,18 +1580,17 @@ setCoPremiums(input); // ✅ Apply deletion symbols last (safely); - if (isDeletion) { - applyDeletionSymbolsToFields(input, true); - } + // if (isDeletion) { + applyDeletionSymbolsToFields(input, isDeletion); + // } console.log('############################## END AMOUNT CALCULATION ############################################'); } // Apply Deletion (Negative) Values function applyDeletionSymbolsToFields(input, isDeletion) { - console.log('========== APPLYING DELETION SYMBOLS =========='); - if (!isDeletion) return; + console.log('========== APPLYING DELETION SYMBOLS =========='); const fieldIds = [ 'base_premium', @@ -1561,14 +1608,20 @@ fieldIds.forEach(field => { const $el = $('#' + field + '_' + input); - console.log('$el', '#' + field + '_' + input); - console.log('$el', $el); let val = $el.val()?.trim(); - console.log('$val', val); - if (!val || val.startsWith('-')) return; + if (!val) return; - let num = parseFloat(val); - if (!isNaN(num) && num > 0) $el.val(-num); + let num = parseFloat(val.replace(/^-/, '')); // remove any existing minus first + console.log('num', num); + if (isNaN(num)) return; + + if (isDeletion) { + // Apply minus sign + if (num > 0) $el.val(-num); + } else { + // Remove minus sign + $el.val(num); + } }); console.log('========== COMPLETED DELETION SYMBOL APPLICATION =========='); diff --git a/app/Views/policy_transaction_endorsement_list.php b/app/Views/policy_transaction_endorsement_list.php index d91ef483..6f5485cb 100644 --- a/app/Views/policy_transaction_endorsement_list.php +++ b/app/Views/policy_transaction_endorsement_list.php @@ -519,12 +519,16 @@ table.dataTable thead th { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/policy_transaction_inception_form.php b/app/Views/policy_transaction_inception_form.php index 979fadb6..3b8013c6 100644 --- a/app/Views/policy_transaction_inception_form.php +++ b/app/Views/policy_transaction_inception_form.php @@ -883,7 +883,7 @@ - > + Agreed Amount diff --git a/app/Views/policy_transaction_inception_list.php b/app/Views/policy_transaction_inception_list.php index ede897ce..37640c11 100644 --- a/app/Views/policy_transaction_inception_list.php +++ b/app/Views/policy_transaction_inception_list.php @@ -591,12 +591,16 @@ $(document).ready(function() { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/policy_transaction_payouts.php b/app/Views/policy_transaction_payouts.php new file mode 100644 index 00000000..e69de29b diff --git a/app/Views/policy_type_list.php b/app/Views/policy_type_list.php index 990f06a5..2f6d6002 100755 --- a/app/Views/policy_type_list.php +++ b/app/Views/policy_type_list.php @@ -250,12 +250,16 @@ ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true , diff --git a/app/Views/report_bds.php b/app/Views/report_bds.php index edbfa6d8..2261d79c 100644 --- a/app/Views/report_bds.php +++ b/app/Views/report_bds.php @@ -103,8 +103,8 @@ table.dataTable tbody td { Premium
    (without GST) Total Premium - BP % - TP/Ter % + BP% + TP/Ter% Rewards Agreed Amount Invoiced Amount @@ -147,8 +147,8 @@ table.dataTable tbody td { -  % -  % + % + % + // $max_amount = max($irda_amt, $exp_amt); + // $total_irda_amt = number_format($max_amount, 2, '.', ''); + $total_irda_amt = empty($row['total_irda_amt']) ? $row['exp_amt'] : $row['total_irda_amt']; + ?> @@ -340,6 +342,7 @@ $(document).ready(function() { { extend: 'excel', title: 'Policy-Tranction-BDS-List', + sheetName: 'Policy-Tranction-BDS-List', text: ' EXCEL ', className: 'app-btn-primary ', // customize: function (xlsx) { @@ -453,12 +456,16 @@ $(document).ready(function() { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/report_bds_new.php b/app/Views/report_bds_new.php index 92bca589..ed9b8fe3 100644 --- a/app/Views/report_bds_new.php +++ b/app/Views/report_bds_new.php @@ -385,6 +385,7 @@ { extend: 'excel', title: 'Policy-Tranction-BDS-List', + sheetName: 'Policy-Tranction-BDS-List', text: ' EXCEL ', className: 'app-btn-primary ', // customize: function (xlsx) { @@ -499,12 +500,16 @@ } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/report_bds_old.php b/app/Views/report_bds_old.php index 261dade0..536769b6 100644 --- a/app/Views/report_bds_old.php +++ b/app/Views/report_bds_old.php @@ -189,8 +189,16 @@ $(document).ready(function() { ], language: { - search: "_INPUT_", - searchPlaceholder: "Search..." + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/retail_endorsement_list.php b/app/Views/retail_endorsement_list.php index 44bbacbe..e605f723 100755 --- a/app/Views/retail_endorsement_list.php +++ b/app/Views/retail_endorsement_list.php @@ -391,12 +391,16 @@ }); }, language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // pagingType: 'full_numbers' diff --git a/app/Views/rto_master_list.php b/app/Views/rto_master_list.php index caafe3b3..d9ecfad6 100644 --- a/app/Views/rto_master_list.php +++ b/app/Views/rto_master_list.php @@ -147,11 +147,15 @@ ], language: { search: ` -
    +
    _INPUT_ - + +
    `, - searchPlaceholder: "Search" + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/tat_report_band_wise_list.php b/app/Views/tat_report_band_wise_list.php index 813b37f9..e4ee2f19 100644 --- a/app/Views/tat_report_band_wise_list.php +++ b/app/Views/tat_report_band_wise_list.php @@ -128,17 +128,22 @@ text: ' EXCEL ', className: 'app-btn-primary ', title: 'TAT BAND WISE DATA', + sheetName: 'TAT BAND WISE DATA', } ] } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/test_members_list.php b/app/Views/test_members_list.php index bc7e255b..946fe6ab 100644 --- a/app/Views/test_members_list.php +++ b/app/Views/test_members_list.php @@ -557,12 +557,16 @@ document.addEventListener("DOMContentLoaded", function () { className:"unmapEmployees" }], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 25 // Set default number of rows per page (optional) diff --git a/app/Views/thz_list.php b/app/Views/thz_list.php index 5e2376a5..63c64862 100644 --- a/app/Views/thz_list.php +++ b/app/Views/thz_list.php @@ -350,17 +350,22 @@ table.dataTable tbody td { }, className: 'app-btn-primary ', title: 'Tickets' + sheetName: 'Tickets', } ] } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, pageLength: 10, diff --git a/app/Views/ticket_feedback_list.php b/app/Views/ticket_feedback_list.php index 57ab8b6b..3902ca42 100644 --- a/app/Views/ticket_feedback_list.php +++ b/app/Views/ticket_feedback_list.php @@ -131,19 +131,24 @@ $(document).ready(function() { orthogonal: 'sort' }, title: 'claim-List', + sheetName: 'claim-List', className: 'app-btn-primary ', } ] } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" - }, + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) ordering: false, diff --git a/app/Views/ticket_form_gmc.php b/app/Views/ticket_form_gmc.php index 095e8de7..02f9dfb6 100644 --- a/app/Views/ticket_form_gmc.php +++ b/app/Views/ticket_form_gmc.php @@ -948,16 +948,21 @@ }) function getClientPolicy() { + console.log("get policy function called"); hiddenData = $("#empIDHidden").val(); hiddenData = JSON.parse(hiddenData); console.log('employee id ', hiddenData['emp_id']); let ticket_type_id = $('#ticket_type_id').val(); - console.log("ticket_type_id", ticket_type_id); + let client_id = $('#mobile_emp_client_data_list').val(); + console.log({ticket_type_id, client_id}); + data = { emp_id: hiddenData['emp_id'], ticket_type_id: ticket_type_id, + client_id: client_id, } + $.ajax({ url: '', type: "POST", diff --git a/app/Views/ticket_history.php b/app/Views/ticket_history.php index 505fe971..54711dd2 100644 --- a/app/Views/ticket_history.php +++ b/app/Views/ticket_history.php @@ -60,13 +60,17 @@ if (ticketsTable.length) { // ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" - }, + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) ordering: false, diff --git a/app/Views/ticket_list.php b/app/Views/ticket_list.php index e1b306e9..bc5c065b 100644 --- a/app/Views/ticket_list.php +++ b/app/Views/ticket_list.php @@ -315,6 +315,7 @@ $(document).ready(function() { extend: 'excel', text: ' EXCEL ', title: 'claim-List', + sheetName: 'claim-List', exportOptions: { orthogonal: 'sort' }, @@ -324,12 +325,16 @@ $(document).ready(function() { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/ticket_mail_template.php b/app/Views/ticket_mail_template.php index d816f2a3..a2cc86d5 100644 --- a/app/Views/ticket_mail_template.php +++ b/app/Views/ticket_mail_template.php @@ -265,12 +265,16 @@ } }], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) diff --git a/app/Views/tpa_list.php b/app/Views/tpa_list.php index 19737cdc..412b9910 100755 --- a/app/Views/tpa_list.php +++ b/app/Views/tpa_list.php @@ -208,13 +208,17 @@ } ], language: { - search: ` -
    + search: ` +
    _INPUT_ - + +
    `, - searchPlaceholder: "Search" - }, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, paging: true, }); diff --git a/app/Views/variance_report_list.php b/app/Views/variance_report_list.php index 5e59e7fc..800334a1 100644 --- a/app/Views/variance_report_list.php +++ b/app/Views/variance_report_list.php @@ -236,7 +236,8 @@ { extend: 'excel', text: ' EXCEL ', - title: 'Variance-Report-List', + title: 'Variance-Report-List', + sheetName: 'Variance-Report-List', // Sheet name customize: function(xlsx) { var sheet = xlsx.xl.worksheets['sheet1.xml']; var total = 0; @@ -267,13 +268,17 @@ } ] }], - language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + language: { + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, paging: true, // Enable pagination pageLength: 25 // Set default number of rows per page (optional) diff --git a/app/Views/vehicle_master_list.php b/app/Views/vehicle_master_list.php index 9d83d62e..2e54f852 100644 --- a/app/Views/vehicle_master_list.php +++ b/app/Views/vehicle_master_list.php @@ -499,6 +499,7 @@ $(document).ready(function() { }, { extend: 'excel', + sheetName: 'Vehicle-Master', text: ' EXCEL ', exportOptions: { orthogonal: 'sort' @@ -509,13 +510,17 @@ $(document).ready(function() { } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" - }, + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, paging: true, pageLength: 10, order: [[0, 'desc']] diff --git a/app/Views/vehicle_type_list.php b/app/Views/vehicle_type_list.php index 3cc0de76..ce0181d5 100644 --- a/app/Views/vehicle_type_list.php +++ b/app/Views/vehicle_type_list.php @@ -845,6 +845,7 @@ text: ' EXCEL ', exportOptions: { orthogonal: 'sort' }, className: 'app-btn-primary', + sheetName: 'Vehicle-Type', exportOptions: { columns: ':not(:last-child)' } @@ -855,13 +856,17 @@ paging: true, pageLength: 10, language: { - search: ` -
    + search: ` +
    _INPUT_ - + +
    `, - searchPlaceholder: "Search" - }, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, initComplete: function () { $(".dt-buttons").prepend(`
    diff --git a/app/Views/vehicle_type_master_list.php b/app/Views/vehicle_type_master_list.php index 7dd4e3a1..fd6d0801 100755 --- a/app/Views/vehicle_type_master_list.php +++ b/app/Views/vehicle_type_master_list.php @@ -124,12 +124,16 @@ ], language: { search: ` -
    +
    _INPUT_ - + +
    `, - searchPlaceholder: "Search" - }, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' + }, paging: true, // Enable pagination pageLength: 10, // Set default number of rows per page (optional) // ordering: false, diff --git a/app/Views/view_deposit.php b/app/Views/view_deposit.php index 606da89e..d382d21c 100755 --- a/app/Views/view_deposit.php +++ b/app/Views/view_deposit.php @@ -347,12 +347,16 @@ } ], language: { - search: ` -
    - _INPUT_ - -
    `, - searchPlaceholder: "Search" + search: ` +
    + _INPUT_ + + +
    `, + searchPlaceholder: "Search", + emptyTable: '
    No Data found
    ' }, ordering: false, paging: true