diff --git a/app/Config/Routes.php b/app/Config/Routes.php index bbddfdec..ad1d3874 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -506,6 +506,7 @@ $routes->post("/employeeRest/getVerifiedUserData", "RestAuthenticationController $routes->post("/employeeRest/verifyEmployeeEmailId", "RestAuthenticationController::verifyEmployeeWithEmailId"); $routes->post("/employeeRest/updateEmpOTP", "RestAuthenticationController::updateEmpOTP"); +// MPIN api's $routes->post("employeeRest/saveMpin", "RestAuthenticationController::saveMpin"); $routes->post("employeeRest/updateMpin", "RestAuthenticationController::updateMpin"); $routes->post("/employeeRest/verifyMpin", "RestAuthenticationController::verifyMpin"); @@ -513,8 +514,13 @@ $routes->post("/employeeRest/checkMpin", "RestAuthenticationController::checkMpi $routes->post("/employeeRest/updateEmpMPIN", "RestAuthenticationController::updateEmpMPIN"); $routes->post("employeeRest/forgotMPIN", "RestAuthenticationController::forgotMPIN"); $routes->post("employeeRest/updateMobileNumber", "RestAuthenticationController::updateMobileNumber"); -// $routes->post("/employeeRest/saveMpin", "RestAuthenticationController::saveMpin"); +// PASSWORD api's +$routes->post("employeeRest/savePassword", "RestAuthenticationController::savePassword"); +$routes->post("employeeRest/changePassword", "RestAuthenticationController::changePassword"); +$routes->post("employeeRest/verifyPassword", "RestAuthenticationController::verifyPassword"); +$routes->post("employeeRest/verifyOtp", "RestAuthenticationController::verifyOtp"); +$routes->post("employeeRest/checkPassword", "RestAuthenticationController::checkPassword"); //HR login api's $routes->post("/employeeRest/verifyHrWithMobileNumber", "RestAuthenticationController::verifyHrWithMobileNumber"); @@ -540,6 +546,7 @@ $routes->post("employeeRest/getPostEmployeeDataForAuth", "RestAuthenticationCont // $routes->post("logHrActivity", "RestAuthenticationController::logHrActivity"); $routes->get("employeeRest/getClientDetails", "EmployeeRestController::getClientDetails"); +$routes->get("employeeRest/getAdvertisementImage", "EmployeeRestController::getAdvertisementImage"); diff --git a/app/Controllers/ApiServiceController.php b/app/Controllers/ApiServiceController.php index 52de9c37..5b32cec1 100644 --- a/app/Controllers/ApiServiceController.php +++ b/app/Controllers/ApiServiceController.php @@ -12,6 +12,7 @@ use App\Controllers\BaseController; use App\Controllers\VidalApiController; use App\Controllers\ICICILombardController; use App\Controllers\MediAssistApiController; +use App\Models\BatchFileModel; use App\Models\FileModel; class ApiServiceController extends BaseController @@ -20,11 +21,17 @@ class ApiServiceController extends BaseController // protected $format = 'json'; protected $db; protected $employeePolicyModel; + protected $medi_assist_primary_key; + protected $vidal_primary_key; + protected $icici_primary_key; public function __construct() { $this->db = \Config\Database::connect(); $this->employeePolicyModel = new EmployeePolicyModel(); + $this->medi_assist_primary_key = getenv('MEDI_ASSIST_PRIMARY_KEY_CONSTANT'); + $this->vidal_primary_key = getenv('VIDAL_PRIMARY_KEY_CONSTANT'); + $this->icici_primary_key = getenv('ICICI_PRIMARY_KEY_CONSTANT'); } // Push Claims @@ -38,7 +45,7 @@ class ApiServiceController extends BaseController $tpaID = $data['tpa_id']; - if ($tpaID == 2) { // MediAssist + if ($tpaID == $this->medi_assist_primary_key) { // MediAssist $mediAssistController = new MediAssistApiController(); return $mediAssistController->SubmitClaim($claimId); }else{ @@ -90,7 +97,7 @@ class ApiServiceController extends BaseController { if($employee_policy[0]['tpa_id'] != null) { - if($employee_policy[0]['tpa_primary_id'] == 2)//Medi assist + if($employee_policy[0]['tpa_primary_id'] == $this->medi_assist_primary_key)//Medi assist { $mediAssistController = new MediAssistApiController(); $data['eCardDownload'] = $mediAssistController->EcardRequest( $emp_code, $policy_no ); @@ -104,7 +111,10 @@ class ApiServiceController extends BaseController $data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/0/1'; } } - $data['message'] = "E-card generated"; + $data['message'] = "E-card generated"; + if(empty($data['eCardDownload'])){ + $data['message'] = "E-card not generated"; + } } else { $data['eCardDownload'] = null; @@ -139,14 +149,35 @@ class ApiServiceController extends BaseController $branch_id = $this->request->getPost('client_branch_id') ?? null; $policy_id = $this->request->getPost('client_policy_id') ?? null; - $fileModel = new FileModel(); - $filesData = $fileModel->where('is_active', 1)->where('action', 'api')->where('status', 'inprogress')->countAllResults(); + $fileModel = new BatchFileModel(); + $filesData = $fileModel->where('is_active', 1)->where('event_type', 'api')->where('status', 'inprogress')->countAllResults(); if($filesData > 0){ log_message('error', "TPA GetBenefDetails job is already in process."); return $this->respond(['status' => false, 'code' => 200,'message' => 'TPA initiation is in progress.','data' => [] ]); } + $employeePolicyModel = new EmployeePolicyModel(); + $employeePolicyData = $employeePolicyModel + ->select(' + employees.*, + employee_polices.id as emp_policy_id, + employee_polices.client_policy_id, + ') + ->join('employees', 'employees.id = employee_polices.employee_id') + ->where('employee_polices.is_active', 1) + ->where('employee_polices.status', 'active') + ->where('employees.is_active', 1) + ->where('employees.emp_status', 'active') + ->where('employee_polices.tpa_id IS NULL') + ->where('employee_polices.client_policy_id', $policy_id) + ->countAllResults(); + + if($employeePolicyData == 0){ + log_message('error', "No Employee Policy found with null TPA ID. TPA ID is already updated."); + return $this->respond(['status' => false, 'code' => 200,'message' => 'TPA ID Already updated','data' => [] ]); + } + if (empty($policy_no)) { log_message('error', 'GetBenefDetails: policy_no missing in request'); return $this->respond(['status' => false, 'message' => 'policy_no required']); @@ -154,21 +185,24 @@ class ApiServiceController extends BaseController $data = [ 'file_name' => "API", - 'action' => "api", + 'event_type' => "api", + 'actions' => "fetch", + 'insurer_or_tpa' => "tpa", + 'batch_code' => generate_random_string(4), 'status' => "inprogress", 'client_id' => $client_id, - 'policy_id' => $policy_id, + 'client_policy_id'=> $policy_id, 'client_branch_id'=> $branch_id, 'created_by'=> get_session_userid(), ]; - if ($tpa_id == 2) // MediAssist + if ($tpa_id == $this->medi_assist_primary_key) // MediAssist { $file_id = $fileModel->insert($data); log_message('error', "Files table inserted successfully, File id : {$file_id}"); // $mediAssistController = new MediAssistApiController(); // $mediAssistController->GetBenefDetails( [ 'polict_no' => $policy_no, 'file_id' =>$file_id ] ); - $r = Jobs::addJob(['job_name' => 'GetBenefDetails', 'payload' => ['policy_no' => $policy_no, 'file_id' => $file_id, 'return_type' => 'job']]); + $r = Jobs::addJob(['job_name' => 'GetBenefDetails', 'payload' => ['policy_no' => $policy_no, 'file_id' => $file_id, 'client_policy_id' => $policy_id, 'return_type' => 'job']]); log_message('error', "GetBenefDetails job pushed successfully."); return $this->respond(['status' => true, 'code' => 200, 'message' => 'Action Triggered','data' => [] ]); diff --git a/app/Controllers/BDSReportController.php b/app/Controllers/BDSReportController.php index 9ba0dca9..d0dd5ac9 100644 --- a/app/Controllers/BDSReportController.php +++ b/app/Controllers/BDSReportController.php @@ -181,8 +181,8 @@ class BDSReportController extends AdminController 'Client' => 'client' ]; + $data['tab_name'] = "IRDA Reports"; $data['page_name'] = "IRDA Report"; - return $this->loadLayout('irba_report', $data); } else { @@ -926,7 +926,7 @@ class BDSReportController extends AdminController $data['default_end'] = $default_start->format('d-m-Y'); $data['default_start'] = $default_start->modify('-60 days')->format('d-m-Y'); $data['issuer'] = [1 => 'JIBS', 2 => 'Nhance']; - $data['tab_name'] = "Renewal Report"; + $data['tab_name'] = "Renewal Reports"; $data['page_name'] = "Renewal Report"; return $this->loadLayout('renewal_search', $data); } else { @@ -1027,6 +1027,8 @@ class BDSReportController extends AdminController $data['data'] = $result; // dd($data, get_role_id(), ENROLLMENT_TEAM_ID, user_team()); if ($isInternalCalled) { return $result; } + $data['tab_name'] = "BDS TAT Band Wise Report"; + $data['page_name'] = "BDS TAT Band Wise Report"; return $this->loadLayout('bds_tat_wise_report', $data); } @@ -1150,21 +1152,23 @@ class BDSReportController extends AdminController public function getMultiReport($report_type){ - $data['tab_name'] = "BDS Report"; - $data['page_name'] = "BDS Report"; + $data['tab_name'] = "BDS Reports"; if ($report_type == 1){ - $data['page_title'] = "BDS TAT Report"; + $data['page_name'] = "BDS TAT Report"; + $data['page_title'] = ""; $data['data'] = $this->bdsTATReport(true); // Functional Based called means True }else if ($report_type == 2){ - $data['page_title'] = "Account Manager Status Report"; + $data['page_name'] = "Account Manager Status Report"; + $data['page_title'] = ""; $data['data'] = $this->accountMangerStatusBDSReport(); }else{ - $data['page_title'] = "Account Manager TAT Report"; + $data['page_name'] = "Account Manager TAT Report"; + $data['page_title'] = ""; $data['data'] = $this->accountManagerTatBDSReport(); } diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 97991061..05a75542 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -478,7 +478,7 @@ class ClientController extends AdminController public function index() { $this->myLogger->logme('error', 'Client list function called'); - $headerData['tab_name'] = 'Client List'; + $headerData['tab_name'] = 'Clients'; $headerData['page_name'] = 'Clients'; // Both Browser Tab name And Page name are same. $data['clientList'] = $this->clientModel->getCreatedByUserName(1); // passing client_type $data['client_rm'] = $this->clientRMModel->getAllClientRM(); @@ -5644,7 +5644,7 @@ class ClientController extends AdminController } public function sendextraparam() - { + { // $data = db_connect()->table('jobs')->where('id', 1677)->get()->getRowArray(); // // dd($data); // $return = $this->updatePolicyTransactionDataWhileClinetPolicyUpdate(json_decode($data['payload'], true)); @@ -5654,9 +5654,14 @@ class ClientController extends AdminController // $ticket_id = 515; // $apiServiceController = new ApiServiceController(); // $apiServiceController->pushClaims($ticket_id); die; + // echo change_date_format('13/10/1998 00:00:00','d/m/Y H:i:s');die(); + // $medi_assist = new MediAssistApiController(); + // $res = $medi_assist->GetBenefDetails(['policy_no' => '97000034240400000030', 'file_id' => 389, 'return_type' => 'job', 'client_policy_id' => 6192 ]); + // dd($res); // $employeeController = new EmployeeController(); // $employeeController->truncateFileData('633'); + // $res = $this->getHrAccessData(4005); dd($res); // ---------- TICKET SERVICE CONTROLLER -------------------------------------------------------------------------------- @@ -5697,7 +5702,7 @@ class ClientController extends AdminController // ---------- POLICY TRANSACTION CONTROLLER -------------------------------------------------------------------------------- $policyTransactionController = new PolicyTransactionController(); - // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '57']); + // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '60']); // $res = $policyTransactionController->updateInsurerStatement(['file_id' => '22']); // dd('-----', $res); @@ -7196,6 +7201,7 @@ class ClientController extends AdminController public function saveHrAccessData() { try { + // Step 1: Fetch and decode the JSON data $client_id = $this->request->getPost('client_id'); $jsonData = $this->request->getPost('json'); @@ -7203,11 +7209,7 @@ class ClientController extends AdminController if (!$data || !is_array($data)) { log_message('error', 'Invalid or empty JSON in saveHrAccessData: ' . $jsonData); - return $this->respond([ - 'status' => false, - 'code' => 400, - 'message' => 'Invalid JSON data provided.', - ], 400); + return $this->respond(['status' => false,'code' => 400,'message' => 'Invalid JSON data provided.',], 400); } $success = []; @@ -7233,16 +7235,13 @@ class ClientController extends AdminController $post_branch_id = $value['post_branch_id']; $post_hr_id = $value['post_hr_id']; - $preBranchId = $this->getPreBranchIdByPostBranchId($post_branch_id); - - if (!empty($preBranchId)) { - $value['pre_branch_id'] = $preBranchId; - $value['pre_client_id'] = $this->getPreClientIdByPreBranchId($preBranchId); - $value["pre_hr_id"] = $this->getPreHrIdByPreBranchId($preBranchId); - } + // $preBranchId = $this->getPreBranchIdByPostBranchId($post_branch_id); + // if (!empty($preBranchId)) { + // $value['pre_branch_id'] = $preBranchId; + // $value['pre_client_id'] = $this->getPreClientIdByPreBranchId($preBranchId); + // $value["pre_hr_id"] = $this->getPreHrIdByPreBranchId($preBranchId); + // } - - // INSERT or UPDATE if (empty($value['pk']) || (int)$value['pk'] === 0) { @@ -7260,6 +7259,7 @@ class ClientController extends AdminController } $success[] = "Updated row with ID {$value['pk']}."; } + } catch (\Exception $e) { log_message('error', 'HRAccess Save Error at index ' . $index . ': ' . $e->getMessage()); $errors[] = "Error at index {$index}: " . $e->getMessage(); @@ -7650,84 +7650,84 @@ class ClientController extends AdminController return $this->respond(['status' => true, 'message' => 'Demo client data wiped successfully'], 200); } - private function getClientlistFromPre (){ + private function getClientlistFromPre() + { $db2 = \Config\Database::connect('preDB'); $auto_fetch_client_list = $db2->table('clients') - ->select('id,client_name') - ->where('is_active',1) - ->get()->getResultArray()??[]; + ->select('id,client_name') + ->where('is_active', 1) + ->get()->getResultArray() ?? []; return $auto_fetch_client_list; - } - public function auto_fetch_branch(){ + public function auto_fetch_branch() + { $data = $this->request->getPost(); $db2 = \Config\Database::connect('preDB'); $auto_fetch_branch_list = $db2->table('client_branch') - ->select('id,branch_name') - ->where('client_id',$data['client_id']) - ->where('is_active',1) - ->get()->getResultArray()??[]; + ->select('id,branch_name') + ->where('client_id', $data['client_id']) + ->where('is_active', 1) + ->get()->getResultArray() ?? []; - return + return - empty($auto_fetch_branch_list) + empty($auto_fetch_branch_list) - ? $this->response->setJSON([ + ? $this->response->setJSON([ 'status' => false, 'message' => 'branch list is empty', 'data' => [] ])->setStatusCode(400) - - : $this->response->setJSON([ + + : $this->response->setJSON([ 'status' => true, - 'message' => 'branch list is found' , - 'data' => $auto_fetch_branch_list + 'message' => 'branch list is found', + 'data' => $auto_fetch_branch_list ])->setStatusCode(200); } - public function auto_fetch_branch_details(){ + public function auto_fetch_branch_details() + { $data = $this->request->getPost(); $db2 = \Config\Database::connect('preDB'); $auto_fetch_branch_details = $db2->table('client_branch') - ->where('client_id',$data['client_id']) - ->where('id',$data['branch_id']) - ->where('is_active',1) - ->get()->getResultArray()??[]; + ->where('client_id', $data['client_id']) + ->where('id', $data['branch_id']) + ->where('is_active', 1) + ->get()->getResultArray() ?? []; return empty($auto_fetch_branch_details) - ? $this->response->setJSON([ - 'status' => false, - 'message' => 'branch details is empty', - 'data' => [] - ])->setStatusCode(400) - - : $this->response->setJSON([ - 'status' => true, - 'message' => 'branch details found' , - 'data' => $auto_fetch_branch_details - ])->setStatusCode(200); + ? $this->response->setJSON([ + 'status' => false, + 'message' => 'branch details is empty', + 'data' => [] + ])->setStatusCode(400) + : $this->response->setJSON([ + 'status' => true, + 'message' => 'branch details found', + 'data' => $auto_fetch_branch_details + ])->setStatusCode(200); } - - private function updatePreClientBranch($pre_branch_id,$post_branch_id ,$operation) + private function updatePreClientBranch($pre_branch_id, $post_branch_id, $operation) { $preDB = \Config\Database::connect('preDB'); - if($operation != 'create'){ + if ($operation != 'create') { $builder = $preDB->table('client_branch'); $builder->where('post_branch_id', $post_branch_id); @@ -7741,87 +7741,88 @@ class ClientController extends AdminController return true; } - public function createDefaultMailTemplate($client_id , $client_data){ + public function createDefaultMailTemplate($client_id, $client_data) + { - $member_welcome_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_welcome_mail')->get()->getResultArray()[0]??[]; + $member_welcome_mail_template = $this->notificationModel->where('client_id', NULL)->where('template_name', 'member_welcome_mail')->get()->getResultArray()[0] ?? []; - $member_remainder_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_reminder_mail')->get()->getResultArray()[0]??[]; + $member_remainder_mail_template = $this->notificationModel->where('client_id', NULL)->where('template_name', 'member_reminder_mail')->get()->getResultArray()[0] ?? []; - $member_review_and_summary_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_review_and_summary_mail')->get()->getResultArray()[0]??[]; + $member_review_and_summary_mail_template = $this->notificationModel->where('client_id', NULL)->where('template_name', 'member_review_and_summary_mail')->get()->getResultArray()[0] ?? []; - $member_ecard_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_ecard_mail')->get()->getResultArray()[0]??[]; + $member_ecard_mail_template = $this->notificationModel->where('client_id', NULL)->where('template_name', 'member_ecard_mail')->get()->getResultArray()[0] ?? []; - $member_common_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_common_mail')->get()->getResultArray()[0]??[]; + $member_common_mail_template = $this->notificationModel->where('client_id', NULL)->where('template_name', 'member_common_mail')->get()->getResultArray()[0] ?? []; - $default_member_welcome_mail_template = [ + $default_member_welcome_mail_template = [ 'client_id' => $client_id, 'template_name' => 'member_welcome_mail', - 'subject' => $member_welcome_mail_template['subject']??'', - 'mail_content' => $member_welcome_mail_template['mail_content']??'', - 'mail_content_json'=> $member_welcome_mail_template['mail_content_json']??'', - + 'subject' => $member_welcome_mail_template['subject'] ?? '', + 'mail_content' => $member_welcome_mail_template['mail_content'] ?? '', + 'mail_content_json' => $member_welcome_mail_template['mail_content_json'] ?? '', + 'created_by' => get_session_userid(), 'created_at' => date('Y-m-d H:i:s'), 'updated_by' => null, 'updated_at' => date('Y-m-d H:i:s'), - 'mail_content_copy'=> null - ]; + 'mail_content_copy' => null + ]; - $default_member_remainder_mail_template = [ + $default_member_remainder_mail_template = [ 'client_id' => $client_id, 'template_name' => 'member_reminder_mail', - 'subject' => $member_remainder_mail_template['subject']??'', - 'mail_content' => $member_remainder_mail_template['mail_content']??'', - 'mail_content_json'=> $member_remainder_mail_template['mail_content_json']??'', - + 'subject' => $member_remainder_mail_template['subject'] ?? '', + 'mail_content' => $member_remainder_mail_template['mail_content'] ?? '', + 'mail_content_json' => $member_remainder_mail_template['mail_content_json'] ?? '', + 'created_by' => get_session_userid(), 'created_at' => date('Y-m-d H:i:s'), 'updated_by' => null, 'updated_at' => date('Y-m-d H:i:s'), - 'mail_content_copy'=> null - ]; + 'mail_content_copy' => null + ]; - $default_member_review_and_summary_mail_template = [ + $default_member_review_and_summary_mail_template = [ 'client_id' => $client_id, 'template_name' => 'member_review_and_summary_mail', - 'subject' => $member_review_and_summary_mail_template['subject']??'', - 'mail_content' => $member_review_and_summary_mail_template['mail_content']??'', - 'mail_content_json'=> $member_review_and_summary_mail_template['mail_content_json']??'', - + 'subject' => $member_review_and_summary_mail_template['subject'] ?? '', + 'mail_content' => $member_review_and_summary_mail_template['mail_content'] ?? '', + 'mail_content_json' => $member_review_and_summary_mail_template['mail_content_json'] ?? '', + 'created_by' => get_session_userid(), 'created_at' => date('Y-m-d H:i:s'), 'updated_by' => null, 'updated_at' => date('Y-m-d H:i:s'), - 'mail_content_copy'=> null - ]; + 'mail_content_copy' => null + ]; $default_member_ecard_mail_template = [ 'client_id' => $client_id, 'template_name' => 'member_ecard_mail', - 'subject' => $member_ecard_mail_template['subject']??'', - 'mail_content' => $member_ecard_mail_template['mail_content']??'', - 'mail_content_json'=> $member_ecard_mail_template['mail_content_json']??'', - + 'subject' => $member_ecard_mail_template['subject'] ?? '', + 'mail_content' => $member_ecard_mail_template['mail_content'] ?? '', + 'mail_content_json' => $member_ecard_mail_template['mail_content_json'] ?? '', + 'created_by' => get_session_userid(), 'created_at' => date('Y-m-d H:i:s'), 'updated_by' => null, 'updated_at' => date('Y-m-d H:i:s'), - 'mail_content_copy'=> null - ]; + 'mail_content_copy' => null + ]; $default_member_common_mail_template = [ 'client_id' => $client_id, 'template_name' => 'member_common_mail', - 'subject' => $member_common_mail_template['subject']??'', - 'mail_content' => $member_common_mail_template['mail_content']??'', - 'mail_content_json'=> $member_common_mail_template['mail_content_json']??'', - + 'subject' => $member_common_mail_template['subject'] ?? '', + 'mail_content' => $member_common_mail_template['mail_content'] ?? '', + 'mail_content_json' => $member_common_mail_template['mail_content_json'] ?? '', + 'created_by' => get_session_userid(), 'created_at' => date('Y-m-d H:i:s'), 'updated_by' => null, 'updated_at' => date('Y-m-d H:i:s'), - 'mail_content_copy'=> null - ]; + 'mail_content_copy' => null + ]; $this->myLogger->logme('error', 'Default Mail Template Data ' . json_encode([ $default_member_welcome_mail_template, @@ -7831,18 +7832,16 @@ class ClientController extends AdminController - $default_templates_inserted = $this->notificationModel->insertBatch([ + $default_templates_inserted = $this->notificationModel->insertBatch([ $default_member_welcome_mail_template, $default_member_remainder_mail_template, $default_member_review_and_summary_mail_template, $default_member_ecard_mail_template, $default_member_common_mail_template - ]); - - - return $default_templates_inserted ? true : false; + ]); + return $default_templates_inserted ? true : false; } diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 57a05395..0da7f5a7 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -136,7 +136,7 @@ class EmployeeController extends AdminController // dd($this->request->getGet()); $this->myLogger->logme('error', 'list called'); - + $data['tab_name'] = 'Members'; $data['page_name'] = "Members"; $this->loadLayout('employee_list', $data); @@ -795,7 +795,8 @@ class EmployeeController extends AdminController $this->myLogger->logme('error', 'list called'); - $data['page_name'] = "Endorsement"; + $data['tab_name'] = "Endorsements"; + $data['page_name'] = "Endorsements"; $this->loadLayout('endorsement_list', $data); } @@ -2810,6 +2811,9 @@ class EmployeeController extends AdminController $data['employees'] = $employee_data; $data['clients'] = $this->clientModel->findAll(); // dd($data); + $data['tab_name'] = "Employees"; + $data['page_name'] = "Employees"; + return $this->loadLayout('test_members_list',$data); } @@ -3107,6 +3111,7 @@ class EmployeeController extends AdminController // print_r($data); die; // } + $data['tab_name'] = "Retail Endorsement"; $data['page_name'] = "Retail Endorsement"; $this->loadLayout('retail_endorsement_list', $data); diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index e0ea1eb5..17755ad0 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -506,7 +506,8 @@ class EmployeeRestController extends AdminController if ($dateTime instanceof \DateTime) { return $dateTime->format('Y-m-d'); } else { - return null; + // return null; + return change_date_format($dateString); } } diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index 6191007c..76bd1a5a 100755 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -110,7 +110,7 @@ class MasterController extends AdminController public function insurerList() { $this->myLogger->logme('error','Insurer list function called'); - $headerData['tab_name'] = 'Insurer List'; + $headerData['tab_name'] = 'Insurer Masters'; $headerData['page_name'] = 'Insurers'; $data['insurerList'] = $this->insurerModel->where('is_active',1)->findAll(); $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM(); @@ -250,7 +250,7 @@ class MasterController extends AdminController { $this->myLogger->logme('error','Insurer Onboarding function called'); - $headerData['tab_name'] = 'Insurer Master'; + $headerData['tab_name'] = 'Insurer Masters'; $headerData['page_name'] = 'Insurers'; $types = array( @@ -519,7 +519,7 @@ class MasterController extends AdminController public function tpaList() { $this->myLogger->logme('error','TPA list function called'); - $headerData['tab_name'] = 'TPA List'; + $headerData['tab_name'] = 'TPA Masters'; $headerData['page_name'] = 'TPA'; $data['tpaList'] = $this->tpaModel->where('is_active',1)->findAll(); // $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM(); @@ -566,7 +566,7 @@ class MasterController extends AdminController { $this->myLogger->logme('error','TPA Onboarding function called'); - $headerData['tab_name'] = 'TPA Master'; + $headerData['tab_name'] = 'TPA Masters'; $headerData['page_name'] = 'TPA'; @@ -851,7 +851,7 @@ class MasterController extends AdminController public function kycList() { $this->myLogger->logme('error','KYC list function called'); - $headerData['tab_name'] = 'KYC List'; + $headerData['tab_name'] = 'KYC Masters'; $headerData['page_name'] = 'KYC'; $data['kycList'] = $this->kycEntityTypeModel->where('is_active',1)->findAll(); // $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM(); @@ -898,7 +898,7 @@ class MasterController extends AdminController { $this->myLogger->logme('error','KYC Onboarding function called'); - $headerData['tab_name'] = 'KYC Master'; + $headerData['tab_name'] = 'KYC Masters'; $headerData['page_name'] = 'KYC'; @@ -1043,7 +1043,7 @@ class MasterController extends AdminController public function policyTypeList() { $this->myLogger->logme('error','Policy Type list function called'); - $headerData['tab_name'] = 'Policy Type List'; + $headerData['tab_name'] = 'Policy Type Masters'; $headerData['page_name'] = 'Policy Type'; $data['policyList'] = $this->policyTypeModel->where('is_active',1)->findAll(); // $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM(); @@ -1090,7 +1090,7 @@ class MasterController extends AdminController { $this->myLogger->logme('error','Policy Type Onboarding function called'); - $headerData['tab_name'] = 'Policy Type Master'; + $headerData['tab_name'] = 'Policy Type Masters'; $headerData['page_name'] = 'Policy Type'; @@ -1246,7 +1246,7 @@ class MasterController extends AdminController //start CD Master list public function CDMasterList() { - $data['tab_name'] = 'CD Master List'; + $data['tab_name'] = 'CD Masters'; $data['page_name'] = 'CD Master'; $data['CD_Master_Data'] = $this->CDMasterModel->getCDMasterList(); $data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll(); @@ -1668,7 +1668,7 @@ class MasterController extends AdminController public function VehicleMasterList() { - $data['tab_name'] = 'Vehicle Master'; + $data['tab_name'] = 'Vehicle Masters'; $data['page_name'] = 'Vehicles'; $data['vehicle_type'] = [ 'two_wheeler' => 'Two Wheeler', @@ -2076,9 +2076,7 @@ class MasterController extends AdminController { $nhanceBranchModel = new NhanceBranchModel(); $method = $this->request->getMethod(); - $data['tab_name'] = 'Nhance Branch'; - $data['page_name'] = 'Nhance Branchs'; - + if ($method === 'post') { $id = $this->request->getPost('pk') ?? null; @@ -2120,7 +2118,7 @@ class MasterController extends AdminController } $data = $nhanceBranchModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll(); - return $this->loadLayout('nhance_branch_list', ['data' => $data]); + return $this->loadLayout('nhance_branch_list', ['data' => $data,'tab_name' => 'Nhance Branchs','page_name' => 'Nhance Branchs']); } elseif ($method === 'delete') { @@ -2160,8 +2158,7 @@ class MasterController extends AdminController { $vehicleTypeModel = new VehicleTypeModel(); $method = $this->request->getMethod(); - $data['tab_name'] = 'Vehicle Type'; - $data['page_name'] = 'Vehicle Types'; + if ($method === 'post') { $id = $this->request->getPost('pk') ?? null; @@ -2203,7 +2200,7 @@ class MasterController extends AdminController } $data = $vehicleTypeModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll(); - return $this->loadLayout('vehicle_type_master_list', ['data' => $data]); + return $this->loadLayout('vehicle_type_master_list', ['data' => $data,'tab_name' => 'Vehicle Types','page_name' => 'Vehicle Types']); } elseif ($method === 'delete') { @@ -2242,8 +2239,6 @@ class MasterController extends AdminController { $rtoModel = new RTOModel(); $method = $this->request->getMethod(); - $data['tab_name'] = 'RTO'; - $data['page_name'] = 'RTO'; if ($method === 'post') { @@ -2286,7 +2281,7 @@ class MasterController extends AdminController } $data = $rtoModel->where('is_active', 1)->orderBy('id', 'DESC')->findAll(); - return $this->loadLayout('rto_master_list', ['data' => $data]); + return $this->loadLayout('rto_master_list', ['data' => $data,'tab_name' => 'RTO Masters','page_name' => 'RTO']); } elseif ($method === 'delete') { diff --git a/app/Controllers/MediAssistApiController.php b/app/Controllers/MediAssistApiController.php index 8511ed9f..4e13298c 100644 --- a/app/Controllers/MediAssistApiController.php +++ b/app/Controllers/MediAssistApiController.php @@ -3,7 +3,8 @@ namespace App\Controllers; use App\Controllers\BaseController; -use App\Models\FileModel; +use App\Models\BatchFileModel; +use App\Models\EmployeePolicyModel; use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\IncomingRequest; use CodeIgniter\HTTP\RequestInterface; @@ -19,17 +20,18 @@ class MediAssistApiController extends BaseController } - public function SubmitClaim ($claimId = 458){ + public function SubmitClaim ($claimId = null){ helper('api'); - $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_DEV').'/SubmitClaim'; + // $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/SubmitClaim'; + $url = getenv('MEDI_ASSIST_API_BASE_URL_CLAIMSUBMIT'); $method = 'POST'; $headers = [ 'Content-Type: application/json', - 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_DEV').'', - 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_DEV').'', + 'Username:'. getenv('MEDI_ASSIST_API_USERNAME').'', + 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD').'', ]; @@ -53,7 +55,7 @@ class MediAssistApiController extends BaseController e.emp_code as memberId, tn.note as disease, tn.note as reasonForHospitalization, - cf.doc_name as fileName, + cf.url as fileName, cf.url as filePath ') ->join('employees e', 'e.id = tm.emp_id', 'left') @@ -83,7 +85,7 @@ class MediAssistApiController extends BaseController $body = [ "policyNo" => $data['policyNo'] ?? "", - "memberId" => $data['empId'] ?? "", + "memberId" => $data['memberId'] ?? "", "mobileNo" => $data['mobileNo'] ?? "", "emailId" => $data['emailId'] ?? "", "claimDateOfAdmission" => $data['claimDateOfAdmission'] ?? "", @@ -158,13 +160,14 @@ class MediAssistApiController extends BaseController helper('api'); - $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/EcardUrl'; + // $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/EcardUrl'; + $url = getenv('MEDI_ASSIST_API_BASE_URL_ECARDREQUEST'); $method = 'POST'; $headers = [ 'Content-Type: application/json', - 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'', - 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'', + 'Username:'. getenv('MEDI_ASSIST_API_USERNAME').'', + 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD').'', ]; $body = [ @@ -206,16 +209,18 @@ class MediAssistApiController extends BaseController try { - $url = getenv('MEDI_ASSIST_API_BASE_URL_LIVE') . '/GetBenefDetails'; + // $url = getenv('MEDI_ASSIST_API_BASE_URL') . '/GetBenefDetails'; + $url = getenv('MEDI_ASSIST_API_BASE_URL_FETCHTPA'); $method = 'POST'; $headers = [ 'Content-Type: application/json', - 'Username:' . getenv('MEDI_ASSIST_API_USERNAME_LIVE'), - 'Password:' . getenv('MEDI_ASSIST_API_PASSWORD_LIVE'), + 'Username:' . getenv('MEDI_ASSIST_API_USERNAME'), + 'Password:' . getenv('MEDI_ASSIST_API_PASSWORD'), ]; $policyNo = $requestData['policy_no'] ?? null; + $client_policy_id = $requestData['client_policy_id'] ?? null; if (empty($policyNo)) { log_message('error', 'GetBenefDetails: policy_no missing in request'); @@ -226,14 +231,48 @@ class MediAssistApiController extends BaseController } } + if (empty($client_policy_id)) { + log_message('error', 'GetBenefDetails: client_policy_id missing in request'); + if($function_calling_type == "job"){ + return ['status' => false, 'message' => 'client_policy_id required']; + }else{ + return $this->respond(['status' => false, 'message' => 'client_policy_id required']); + } + } + log_message('error', "GetBenefDetails called for policy_no: {$policyNo}"); + log_message('error', "GetBenefDetails called for client_policy_id: {$client_policy_id}"); + + $employeePolicyModel = new EmployeePolicyModel(); + $employeePolicyData = $employeePolicyModel + ->select(' + employees.*, + employee_polices.id as emp_policy_id, + employee_polices.client_policy_id, + ') + ->join('employees', 'employees.id = employee_polices.employee_id') + ->where('employee_polices.is_active', 1) + ->where('employee_polices.status', 'active') + ->where('employees.is_active', 1) + ->where('employees.emp_status', 'active') + ->where('employee_polices.tpa_id IS NULL') + ->where('employee_polices.client_policy_id', $client_policy_id) + ->findAll(); + + if (empty($employeePolicyData)) { + log_message('error', 'GetBenefDetails: employeePolicyData is empty'); + if($function_calling_type == "job"){ + return ['status' => false, 'message' => 'employeePolicyData not found']; + }else{ + return $this->respond(['status' => false, 'message' => 'employeePolicyData not found']); + } + } $allBenef = []; $startIndex = 0; $range = 100; $totalCount = 0; - do { $body = [ "policyNo" => $policyNo, @@ -246,6 +285,7 @@ class MediAssistApiController extends BaseController ]; log_message('error', "GetBenefDetails API Request (startIndex={$startIndex}): " . json_encode($body)); + log_message('error', "GetBenefDetails API parems " . json_encode([$url, $method, $headers, $body])); $response = call_third_party_api($url, $method, $headers, $body); @@ -253,8 +293,8 @@ class MediAssistApiController extends BaseController // update file table status after the tpa id failed to update if (isset($requestData['file_id']) && !empty($requestData['file_id'])) { - $file_model = new FileModel(); - $file_model->where('id', $requestData['file_id'])->set('status', 'failed')->update(); + $file_model = new BatchFileModel(); + $file_model->where('id', $requestData['file_id'])->set('status', 'failed-8')->update(); log_message('error', "Files table status updated for the file id : {$requestData['file_id']}"); } else { log_message('error', "Failed to update file table status."); @@ -291,41 +331,62 @@ class MediAssistApiController extends BaseController $db = \Config\Database::connect(); $updated = 0; + foreach ($employeePolicyData as $policy_data) { + foreach ($allBenef as $row) { - foreach ($allBenef as $row) { + // log_message( + // "error", + // "POLICY MATCH CHECK: " . json_encode([ + // 'policy_data' => [ + // 'name' => $policy_data['name'] ?? null, + // 'emp_code' => $policy_data['emp_code'] ?? null, + // 'relationship' => $policy_data['relationship'] ?? null, + // 'gender' => $policy_data['gender'] ?? null, + // 'dob' => $policy_data['dob'] ?? null, + // ], + // 'row_data' => [ + // 'benefName' => $row['benefName'] ?? null, + // 'priBenefEmpCode' => $row['priBenefEmpCode'] ?? null, + // 'relName' => $row['relName'] ?? null, + // 'benefSex' => $row['benefSex'] ?? null, + // 'benefDOB' => $row['benefDOB'] ?? null, + // 'benefDOB_fmt' => change_date_format($row['benefDOB'],'d/m/Y H:i:s') ?? null, + // ], + // ]) + // ); - // $update = $db->table('employee_polices') - // ->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.policy_no = ' . $db->escape($row['polNo']), 'left') - // ->join( - // 'employees', - // 'employee_polices.employee_id = employees.id - // AND employees.emp_code = ' . $db->escape($row['priBenefEmpCode']) . ' - // AND employees.relationship = ' . $db->escape($row['relName']), - // 'left' - // ) - // ->where('employee_polices.tpa_id IS NULL') - // ->update(['employee_polices.tpa_id' => $row['benefMediAssistID']]); + if ( + strtolower(trim($policy_data['name'] ?? '')) == strtolower(trim($row['benefName'] ?? '')) && + ($policy_data['emp_code'] ?? '') == ($row['priBenefEmpCode'] ?? '') && + strtolower(trim($policy_data['relationship'] ?? '')) == strtolower(trim($row['relName'] ?? '')) && + ($policy_data['gender'] ?? '') == ($row['benefSex'] ?? '') && + ($policy_data['dob'] ?? '') == (change_date_format($row['benefDOB'], 'd/m/Y H:i:s') ?? '') + ) { + + log_message('error', "✅ Match found: emp_code={$row['priBenefEmpCode']} policy={$row['polNo']}"); - $update = $db->table('employee_polices') - ->join('client_policy', 'employee_polices.client_policy_id = client_policy.id', 'left') - ->join('employees', 'employee_polices.employee_id = employees.id', 'left') - ->where('client_policy.policy_no', $row['polNo']) - ->where('employees.emp_code', $row['priBenefEmpCode']) - ->where('employees.relationship', $row['relName']) - ->where('employee_polices.tpa_id IS NULL', null, false) - ->update(['employee_polices.tpa_id' => $row['benefMediAssistID']]); + $sql = "UPDATE employee_polices + SET tpa_id = ? + WHERE id = ?"; + $db->query($sql, [$row['benefMediAssistID'], $policy_data['emp_policy_id']]); + + if ($db->affectedRows() > 0) { + $updated++; + log_message('error', "✅ Updated tpa_id={$row['benefMediAssistID']} for emp_code={$row['priBenefEmpCode']} policy={$row['polNo']}"); + } else { + log_message('error', "⚠️ No update (already set or not matched) for emp_code={$row['priBenefEmpCode']} policy={$row['polNo']}"); + } - - if ($db->affectedRows() > 0) { - $updated++; - log_message('error', "Updated tpa_id for emp_code={$row['priBenefEmpCode']}, policy={$row['polNo']}"); + }else{ + log_message('error', "❌ Not matched: emp_code={$row['priBenefEmpCode']} policy={$row['polNo']}"); + } } } // update file table status after the tpa id successfully updated if (isset($requestData['file_id']) && !empty($requestData['file_id'])) { - $file_model = new FileModel(); + $file_model = new BatchFileModel(); $file_model->where('id', $requestData['file_id'])->set('status', 'success')->update(); log_message('error', "Files table status updated for the file id : {$requestData['file_id']}"); } else { @@ -355,8 +416,8 @@ class MediAssistApiController extends BaseController // update file table status after the tpa id failed to update if (isset($requestData['file_id']) && !empty($requestData['file_id'])) { - $file_model = new FileModel(); - $file_model->where('id', $requestData['file_id'])->set('status', 'failed')->update(); + $file_model = new BatchFileModel(); + $file_model->where('id', $requestData['file_id'])->set('status', 'failed-8')->update(); log_message('error', "Files table status updated for the file id : {$requestData['file_id']}"); } else { log_message('error', "Failed to update file table status."); @@ -389,13 +450,13 @@ class MediAssistApiController extends BaseController // helper('api'); - // $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/GetBenefDetails'; + // $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/GetBenefDetails'; // $method = 'POST'; // $headers = [ // 'Content-Type: application/json', - // 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'', - // 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'', + // 'Username:'. getenv('MEDI_ASSIST_API_USERNAME').'', + // 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD').'', // ]; // $body = [ @@ -438,13 +499,13 @@ class MediAssistApiController extends BaseController helper('api'); - $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/ClaimDetail'; + $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/ClaimDetail'; $method = 'POST'; $headers = [ 'Content-Type: application/json', - 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'', - 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'', + 'Username:'. getenv('MEDI_ASSIST_API_USERNAME').'', + 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD').'', ]; $body = [ @@ -483,13 +544,13 @@ class MediAssistApiController extends BaseController helper('api'); - $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/NetworkHospital'; + $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/NetworkHospital'; $method = 'POST'; $headers = [ 'Content-Type: application/json', - 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'', - 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'', + 'Username:'. getenv('MEDI_ASSIST_API_USERNAME').'', + 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD').'', ]; $body = [ diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index 6e721f81..b1fb07d6 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -115,8 +115,8 @@ public function viewInception() { $bds_edit_pt_id = $this->request->getGet('pt_id') ?? null; - $data['tab_name'] = 'Policy'; - $data['page_name'] = 'Policy'; + $data['tab_name'] = 'Policies'; + $data['page_name'] = 'Policies'; // Static arrays for dropdowns $data['issuer'] = [1 => 'JIBS', 2 => 'Nhance']; @@ -2187,6 +2187,8 @@ ->join('insurer_branch', 'insurer_statements.branch_id = insurer_branch.id') ->join('user_profiles', 'insurer_statements.created_by = user_profiles.id') ->where('insurer_statements.is_active', 1) + ->where('insurers.is_active', 1) + ->where('insurer_branch.is_active', 1) // ->where('insurer_statements.file_status','success') ->where('date(insurer_statements.created_at) >= ', $from_date) ->where('date(insurer_statements.created_at) <= ', $today) @@ -2382,7 +2384,7 @@ $excel_data = $sheet->rangeToArray('A1:' . $highestRowAndColumn['column'] . $highestRowAndColumn['row']); unset($excel_data[0]); $excel_data = ExcelSanitizeHelper::sanitizeArrayData($excel_data); - // Kint::dump($excel_data);die(); + // Kint::dump($excel_data); // die(); //get no of line items and update in DB $line_items = 0; // get uploaded month transactions data diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 11b1a8fc..3ba1557e 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -546,11 +546,11 @@ class RestAuthenticationController extends AdminController } public function verifyHrWithEmail() - { + { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyHrWithEmail: Received payload = " . json_encode($this->request->getJSON() ?? [])); try { $data = $this->request->getJSON(); - $email = $data->email; $otp = $data->otp; @@ -604,7 +604,17 @@ class RestAuthenticationController extends AdminController return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); } } catch (\Throwable $th) { - return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500); + $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 $this->respond(['status' => 'failed','code' => 500,'data' => $th, 'error_data' => $errorData],500); } } @@ -648,9 +658,9 @@ class RestAuthenticationController extends AdminController if (isset($mobile_number)) { - $hrData = $this->hrModel->where('mobile', $mobile_number)->where('contact_type', 'client')->where('otp', $otp)->first(); + $hrData = $this->hrModel->where('mobile', $mobile_number)->where('contact_type', 'client')->where('is_active', 1)->where('otp', $otp)->first(); }else{ - $hrData = $this->hrModel->where('email', $email)->where('contact_type', 'client')->where('otp', $otp)->first(); + $hrData = $this->hrModel->where('email', $email)->where('contact_type', 'client')->where('is_active', 1)->where('otp', $otp)->first(); } if ($hrData) @@ -678,6 +688,9 @@ class RestAuthenticationController extends AdminController ->join('clients', 'client_branch.client_id = clients.id', 'left') ->where('level_contacts.mobile', $mobile_number ) ->where('level_contacts.contact_type', 'client') + ->where('level_contacts.is_active', 1) + ->where('clients.is_active', 1) + ->where('client_branch.is_active', 1) ->findAll(); //set otp value null $this->hrModel->where('mobile', $mobile_number)->where('otp', $otp)->where('contact_type', 'client')->set(['otp'=>null])->update(); @@ -689,6 +702,9 @@ class RestAuthenticationController extends AdminController ->join('clients', 'client_branch.client_id = clients.id', 'left') ->where('level_contacts.email', $email ) ->where('level_contacts.contact_type', 'client') + ->where('level_contacts.is_active', 1) + ->where('clients.is_active', 1) + ->where('client_branch.is_active', 1) ->findAll(); //set otp value null $this->hrModel->where('email', $email)->where('otp', $otp)->where('contact_type', 'client')->set(['otp'=>null])->update(); @@ -1515,9 +1531,116 @@ class RestAuthenticationController extends AdminController $email_id = $payload->email_id ?? null; $client_id = $payload->client_id ?? null; $plain_password = $payload->password ?? null; + $confirm_password = $payload->confirm_password ?? null; - if (empty($plain_password)) { - return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'Password cannot be empty'], 400); + if (empty($plain_password) || empty($confirm_password)) { + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'Both password cannot be empty'], 400); + } + + if($plain_password !== $confirm_password){ + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'Password and confirm password not matched'], 400); + } + + // Build employee query + if ($mobile_number) { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.mobile', $mobile_number) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active', 'expired']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active', 'expired']); + if (!empty($client_id)) $builder->where('employees.client_id', $client_id); + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } else { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.email_corporate', $email_id) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active', 'expired']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active', 'expired']); + if (!empty($client_id)) $builder->where('employees.client_id', $client_id); + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } + + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: employeeData: " . json_encode($employeeData ?? [])); + + + if ($employeeData) { + $id = $employeeData['id']; + $hashedPassword = password_hash($plain_password, PASSWORD_DEFAULT); + + $updateData = [ + 'password' => $hashedPassword, + ]; + + $updated = $this->employeeModel->where('id', $id)->set($updateData)->update(); + + if ($updated) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Password saved successfully"); + $result = ['user_verification' => true, 'message' => "Password saved successfully"]; + return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200); + } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Password save failed"); + $result = ['user_verification' => true, 'message' => "Password not saved"]; + return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $result], 200); + } + } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Employee not found"); + $result = ['user_verification' => false, 'message' => "User not found"]; + return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); + } + } catch (\Throwable $th) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: 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 $this->respond(['status' => 'failed', 'code' => 500, 'message' => $th->getMessage(), 'errorData' => $errorData], 500); + } + } + + public function changePassword() + { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Received payload = " . json_encode($this->request->getJSON() ?? [])); + + try { + + $payload = $this->request->getJSON(true); + $mobile_number = $payload['mobile_number'] ?? null; + $email_id = $payload['email_id'] ?? null; + $client_id = $payload['client_id'] ?? null; + $old_password = $payload['old_password'] ?? null; + $new_password = $payload['new_password'] ?? null; + $confirm_password = $payload['confirm_password'] ?? null; + + if (!$mobile_number && !$email_id) { + return $this->respond(['status' => 'failed','code' => 400,'message' => 'Mobile number or Email ID is required'], 400); + } + + if (empty($new_password) || empty($confirm_password) || empty($old_password)) { + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'old_password , New password and Confirm password are required' ], 400); + } + + if($new_password !== $confirm_password){ + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'New password and confirm password not matched'], 400); } // Build employee query @@ -1555,161 +1678,57 @@ class RestAuthenticationController extends AdminController $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Last Executed Query: " . $lastQuery); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: employeeData: " . json_encode($employeeData ?? [])); - if ($employeeData) { - $id = $employeeData['id']; - $hashedPassword = password_hash($plain_password, PASSWORD_DEFAULT); + if ($employeeData && password_verify($old_password, $employeeData['password'])) { - $updateData = [ - 'password' => $hashedPassword, - ]; + // Hash new password + // $newHashedPassword = password_hash($new_password, PASSWORD_DEFAULT); + $newHashedPassword = $new_password; - $updated = $this->employeeModel->where('id', $id)->set($updateData)->update(); + // Update password and clear OTP + $updated = $this->employeeModel->update($employeeData['id'], [ + 'password' => $newHashedPassword, + ]); if ($updated) { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Password saved successfully"); - $result = ['user_verification' => true, 'message' => "Password saved successfully"]; - return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Password updated successfully"); + return $this->respond(['status' => 'success','code' => 200,'message' => 'Password changed successfully'], 200); } else { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Password save failed"); - $result = ['user_verification' => true, 'message' => "Password not saved"]; - return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $result], 200); + return $this->respond(['status' => 'failed','code' => 500,'message' => 'Failed to update password' ], 500); } - } else { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Employee not found"); - $result = ['user_verification' => false, 'message' => "User not found"]; - return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200); - } - } catch (\Throwable $th) { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - savePassword: Exception: " . $th->getMessage() . " --- Line: " . $th->getLine() . " --- Trace: " . $th->getTraceAsString()); - return $this->respond(['status' => 'failed', 'code' => 500, 'message' => $th->getMessage()], 500); - } - } - public function changePassword() - { - log_message('error', ' '); - log_message('error', ' ************************************* CHANGE PASSWORD START **************************************** '); - log_message('error', ' '); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Function called"); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Received payload = " . json_encode($this->request->getJSON() ?? [])); - - try { - $payload = $this->request->getJSON(true); - - $mobile_number = $payload['mobile_number'] ?? null; - $email_id = $payload['email_id'] ?? null; - $client_id = $payload['client_id'] ?? null; - $otp = $payload['otp'] ?? null; - $new_password = $payload['new_password'] ?? null; - - if (empty($otp) || empty($new_password)) { - return $this->respond([ - 'status' => 'failed', - 'code' => 400, - 'message' => 'OTP and new password are required' - ], 400); - } - - // Fetch employee details - $builder = $this->employeeModel - ->select('employees.*') - ->join('employee_polices', 'employees.id = employee_polices.employee_id') - ->where('employees.relationship', 'Self') - ->where('employees.is_active', 1) - ->whereIn('employees.emp_status', ['active']) - ->where('employee_polices.is_active', 1) - ->whereIn('employee_polices.status', ['active']); - - if (!empty($client_id)) $builder->where('employees.client_id', $client_id); - - if ($mobile_number) { - $builder->where('employees.mobile', $mobile_number); - } elseif ($email_id) { - $builder->where('employees.email_corporate', $email_id); - } else { - return $this->respond([ - 'status' => 'failed', - 'code' => 400, - 'message' => 'Mobile number or Email ID is required' - ], 400); - } - - $employeeData = $builder->orderBy('employees.id', 'desc')->first(); - - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: employeeData: " . json_encode($employeeData ?? [])); - - if (!$employeeData) { - return $this->respond(['status' => 'failed', 'code' => 404, 'message' => 'User not found'], 404); - } - - // Check OTP validity (assuming fields: otp, otp_expiry exist) - if (empty($employeeData['otp']) || $employeeData['otp'] != $otp) { - return $this->respond(['status' => 'failed', 'code' => 401, 'message' => 'Invalid OTP'], 200); - } - - if (!empty($employeeData['otp_expiry']) && strtotime($employeeData['otp_expiry']) < time()) { - return $this->respond(['status' => 'failed', 'code' => 401, 'message' => 'OTP expired'], 200); - } - - // Hash new password - $newHashedPassword = password_hash($new_password, PASSWORD_DEFAULT); - - // Update password and clear OTP - $updated = $this->employeeModel->update($employeeData['id'], [ - 'password' => $newHashedPassword, - 'otp' => null, - ]); - - if ($updated) { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Password updated successfully"); - log_message('error', ' '); - log_message('error', ' ************************************* CHANGE PASSWORD END **************************************** '); - log_message('error', ' '); - - return $this->respond([ - 'status' => 'success', - 'code' => 200, - 'message' => 'Password changed successfully' - ], 200); - } else { - return $this->respond([ - 'status' => 'failed', - 'code' => 500, - 'message' => 'Failed to update password' - ], 500); + }else{ + return $this->respond(['status' => 'failed', 'code' => 404, 'message' => 'Old password is incorrect'], 404); } } catch (\Throwable $th) { $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - changePassword: Exception: " . $th->getMessage()); - log_message('error', ' '); - log_message('error', ' ************************************* CHANGE PASSWORD END **************************************** '); - log_message('error', ' '); return $this->respond(['status' => 'failed', 'code' => 500, 'message' => $th->getMessage()], 500); } } public function verifyPassword() { - log_message('error', ' '); - log_message('error', ' ************************************* POST START **************************************** '); - log_message('error', ' '); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Verify Password: Function called"); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Received payload = " . json_encode($this->request->getJSON() ?? [])); try { - $requestData = $this->request->getJSON(true); + $requestData = $this->request->getJSON(true); $mobile_number = $requestData['mobile_number'] ?? null; $email_id = $requestData['email_id'] ?? null; $password = $requestData['password'] ?? null; $client_id = $requestData['client_id'] ?? null; + if(!$mobile_number && !$email_id){ + return $this->respond(['status' => 'failed', 'code' => 400, 'data' => "", 'message' => 'Mobile number or Email ID is required'], 400); + } + if (!$password) { return $this->respond(['status' => 'failed', 'code' => 400, 'data' => "", 'message' => 'Password is required'], 400); } // 🔹 Fetch employee data if ($mobile_number) { + $builder = $this->employeeModel ->select('employees.*') ->join('employee_polices', 'employees.id = employee_polices.employee_id') @@ -1725,7 +1744,9 @@ class RestAuthenticationController extends AdminController } $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + } elseif ($email_id) { + $builder = $this->employeeModel ->select('employees.*') ->join('employee_polices', 'employees.id = employee_polices.employee_id') @@ -1741,9 +1762,8 @@ class RestAuthenticationController extends AdminController } $employeeData = $builder->orderBy('employees.id', 'desc')->first(); - } else { - return $this->respond(['status' => 'failed', 'code' => 400, 'data' => "", 'message' => 'Mobile number or Email ID is required'], 400); - } + + } $lastQuery = $this->employeeModel->db->getLastQuery(); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Last Executed Query: " . $lastQuery); @@ -1770,11 +1790,8 @@ class RestAuthenticationController extends AdminController $employeeData['token_type'] = "post"; $token = JWTToken::encode($employeeData); - log_message('error', ' '); - log_message('error', ' ************************************* POST END **************************************** '); - log_message('error', ' '); - return $this->respond(['status' => 'success', 'code' => 200, 'data' => $token], 200); + } else { $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Invalid password or employee not found"); log_message('error', ' '); @@ -1783,6 +1800,7 @@ class RestAuthenticationController extends AdminController return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "", 'message' => 'Invalid password'], 200); } + } catch (\Exception $e) { $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine()); log_message('error', ' '); @@ -1792,89 +1810,162 @@ class RestAuthenticationController extends AdminController } } - public function sendChangePasswordOTP() + public function verifyOtp() { - log_message('error', ' '); - log_message('error', ' ************************************* SEND OTP START **************************************** '); - log_message('error', ' '); - - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - sendChangePasswordOTP: Function called"); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - sendChangePasswordOTP: Received payload = " . json_encode($this->request->getJSON() ?? [])); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyOtp: Received payload = " . json_encode($this->request->getJSON() ?? [])); try { - $requestData = $this->request->getJSON(true); + $requestData = $this->request->getJSON(true); + $mobile_number = $requestData['mobile_number'] ?? null; $email_id = $requestData['email_id'] ?? null; $client_id = $requestData['client_id'] ?? null; + $otp = $requestData['otp'] ?? null; - if (!$email_id) { - return $this->respond(['status' => 'failed', 'code' => 400, 'data' => "", 'message' => 'Email ID is required'], 400); + if(!$mobile_number && !$email_id){ + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'Mobile number or Email ID is required'], 400); } - // Get employee details - $builder = $this->employeeModel - ->select('employees.id, employees.mobile, employees.email_corporate, employees.client_id') - ->join('employee_polices', 'employees.id = employee_polices.employee_id') - ->where('employees.is_active', 1) - ->whereIn('employees.emp_status', ['active']) - ->where('employee_polices.is_active', 1) - ->whereIn('employee_polices.status', ['active']) - ->where('employees.relationship', 'Self'); - - if (!empty($client_id)) { - $builder->where('employees.client_id', $client_id); + if (!$otp) { + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'OTP is required'], 400); } - if ($email_id) { - $builder->where('employees.email_corporate', $email_id); + // 🔹 Fetch employee data + if ($mobile_number) { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.mobile', $mobile_number) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active']); + + if (!empty($client_id)) { + $builder->where('employees.client_id', $client_id); + } + + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } else { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.email_corporate', $email_id) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active']); + + if (!empty($client_id)) { + $builder->where('employees.client_id', $client_id); + } + + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } + + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: employeeData: " . json_encode($employeeData ?? [])); + + // 🔹 Verify otp + if ($employeeData && $employeeData['otp'] == $otp) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyOtp: OTP Verified employee found"); + $this->employeeModel->where('id', $employeeData['id'])->where('otp', $otp)->where('relationship', 'self')->set(['otp'=>null])->update(); + return $this->respond(['status' => 'success', 'code' => 200, 'message' => "OTP verified succesfully"], 200); + } else { + + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyOtp: OTP verification failed, OTP not found in the post db"); + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => "OTP verification failed"], 200); } - - $employeeData = $builder->orderBy('employees.id', 'desc')->first(); - - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - sendChangePasswordOTP: Employee Data: " . json_encode($employeeData ?? [])); - - if (!$employeeData) { - return $this->respond(['status' => 'failed', 'code' => 404, 'data' => "", 'message' => 'Employee not found'], 404); - } - - // Generate 6-digit OTP - $otp = rand(100000, 999999); - - // Save OTP to DB (assuming 'otp' and 'otp_expiry' columns exist) - $this->employeeModel->update($employeeData['id'], [ - 'otp' => $otp, - ]); - - // Send OTP via SMS or Email (you can replace with your actual helper) - if ($email_id) { - // Example: MailHelper::sendMail($email_id, 'Password Change OTP', "Your OTP is {$otp}"); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - sendChangePasswordOTP: OTP {$otp} sent to email {$email_id}"); - } - - log_message('error', ' '); - log_message('error', ' ************************************* SEND OTP END **************************************** '); - log_message('error', ' '); - - return $this->respond(['status' => 'success', 'code' => 200, 'data' => ['otp_sent_to' => $email_id], 'message' => 'OTP sent successfully'], 200); + } catch (\Exception $e) { - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - sendChangePasswordOTP: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine()); - log_message('error', ' '); - log_message('error', ' ************************************* SEND OTP END **************************************** '); - log_message('error', ' '); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyOtp: Exception: " . $e->getMessage() . " --- Line: " . $e->getLine()); return $this->respond(['status' => 'failed', 'code' => 500, 'data' => "", 'message' => $e->getMessage()], 500); } } + public function checkPassword() + { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkPassword: Request payload = " . json_encode($this->request->getJSON() ?? [])); + + try { + + $payload = $this->request->getJSON() ?? []; + $mobile_number = $payload->mobile_number ?? null; + $email_id = $payload->email_id ?? null; + + if(!$mobile_number && !$email_id){ + return $this->respond(['status' => 'failed', 'code' => 400, 'message' => 'Mobile number or Email ID is required'], 400); + } + + // 🔹 Fetch employee data + if ($mobile_number) { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.mobile', $mobile_number) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active']); + + if (!empty($client_id)) { + $builder->where('employees.client_id', $client_id); + } + + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } else { + + $builder = $this->employeeModel + ->select('employees.*') + ->join('employee_polices', 'employees.id = employee_polices.employee_id') + ->where('employees.email_corporate', $email_id) + ->where('employees.relationship', 'Self') + ->where('employee_polices.is_active', 1) + ->whereIn('employee_polices.status', ['active']) + ->where('employees.is_active', 1) + ->whereIn('employees.emp_status', ['active']); + + if (!empty($client_id)) { + $builder->where('employees.client_id', $client_id); + } + + $employeeData = $builder->orderBy('employees.id', 'desc')->first(); + + } + + $lastQuery = $this->employeeModel->db->getLastQuery(); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: Last Executed Query: " . $lastQuery); + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - verifyPassword: employeeData: " . json_encode($employeeData ?? [])); + + if ($employeeData && $employeeData["password"] != null) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkPassword: Mpin - Exist"); + return $this->respond(['status' => 'success','code' => 200,'data' => "", 'message' => "Password - exist"],200); + } else { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - checkPassword: Password - not found in PRE so call the thirdpartapi to the POST to check the MPIN"); + return $this->respond(['status' => 'failed','code' => 200,'data' => "", 'message' => "Password - not exist"],200); + } + + } catch (\Exception $e) { + $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - Exception: " . $e->getMessage() . " --- Line: " . $e->getLine() . " --- Trace: " . $e->getTraceAsString()); + return $this->respond(['status' => 'failed','code' => 500,'data' => "", 'message' => $e->getMessage()],500); + } + } + // -------------- EMP MOBILE NUMBER UPDATE API'S ------------------------------------------------------------------------------------------------------------- public function updateMobileNumber() { - log_message('error', ' '); - log_message('error', ' ************************************* UPDATE MOBILE START **************************************** '); - log_message('error', ' '); - $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Function called"); $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Received payload = " . json_encode($this->request->getJSON() ?? [])); - try { $payload = $this->request->getJSON(true); @@ -1943,9 +2034,6 @@ class RestAuthenticationController extends AdminController } } catch (\Throwable $th) { $this->myLogger->logme("error", "REST-AUTH-CONTROLLER - updateMobileNumber: Exception: " . $th->getMessage()); - log_message('error', ' '); - log_message('error', ' ************************************* UPDATE MOBILE END **************************************** '); - log_message('error', ' '); return $this->respond([ 'status' => 'failed', 'code' => 500, diff --git a/app/Controllers/ThzController.php b/app/Controllers/ThzController.php index b0c893da..29f89df4 100644 --- a/app/Controllers/ThzController.php +++ b/app/Controllers/ThzController.php @@ -102,8 +102,6 @@ class ThzController extends BaseController public function ticketList() { - $data['tab_name'] = "Tickets"; - $data['page_name'] = "Tickets"; try { $returnType = strtolower($this->request->getGet('return_type') ?? 'api'); @@ -130,7 +128,8 @@ class ThzController extends BaseController // 3,4 remain person varannum. $data['client_list'] = $this->clientModel->getCreatedByUserName(); $data['ticket_type'] = $this->thzTypeModel->where('is_active', 1)->findAll(); - + $data['tab_name'] = "Tickets"; + $data['page_name'] = "Tickets"; return $this->loadLayout('thz_list', $data); } @@ -267,6 +266,8 @@ class ThzController extends BaseController $result['policy_terms'] = $toGetPolicyId ? $this->getPolicyTerms($toGetPolicyId) : ''; $result['ticket_type'] = $this->thzTypeModel->where('is_active', 1)->findAll(); + $result['tab_name'] = "Tickets"; + $result['page_name'] = "Ticket Details"; return $this->loadLayout('thz_notes', $result); } diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php index dd4de7df..9095986c 100755 --- a/app/Helpers/utility_helper.php +++ b/app/Helpers/utility_helper.php @@ -647,7 +647,9 @@ if (!function_exists('change_date_format')) { if ($source_format !== null && $output_format !== null) { $date = DateTime::createFromFormat($source_format, $date_str); if (!$date) { - throw new Exception("Invalid date string for source format: $source_format"); + // throw new Exception("Invalid date string for source format: $source_format"); + log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return $date->format($output_format); } @@ -656,7 +658,9 @@ if (!function_exists('change_date_format')) { if ($source_format !== null && $output_format === null) { $date = DateTime::createFromFormat($source_format, $date_str); if (!$date) { - throw new Exception("Invalid date string for source format: $source_format"); + // throw new Exception("Invalid date string for source format: $source_format"); + log_message('error', "❌ Date format error : Invalid date string | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return $date->format('Y-m-d'); // MySQL default format } @@ -671,10 +675,17 @@ if (!function_exists('change_date_format')) { } // If no format matches, throw an exception $allowed_placeholders = implode(', ', $allowed_formats); - throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders"); + // throw new Exception("Invalid date string format. Allowed formats: $allowed_placeholders"); + log_message( + 'error', + "❌ Date format error: Invalid date string. Allowed formats: {$allowed_placeholders} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}" + ); + return null; } } catch (Exception $e) { - return "Error: " . $e->getMessage(); + // return "Error: " . $e->getMessage(); + log_message('error', "❌ Date format error: {$e->getMessage()} | Params => date_str: {$date_str}, source_format: {$source_format}, output_format: {$output_format}"); + return null; } return null; diff --git a/app/Models/EmployeeModel.php b/app/Models/EmployeeModel.php index 1416c082..7f210ca7 100755 --- a/app/Models/EmployeeModel.php +++ b/app/Models/EmployeeModel.php @@ -45,6 +45,7 @@ class EmployeeModel extends Model "mpin", "is_mpin_skipped", "is_biometric_enabled", + "password", ]; // Callbacks diff --git a/app/Models/InsurerBranchModel.php b/app/Models/InsurerBranchModel.php index 2cd28703..fe929380 100755 --- a/app/Models/InsurerBranchModel.php +++ b/app/Models/InsurerBranchModel.php @@ -29,6 +29,8 @@ class InsurerBranchModel extends Model { $query = $this->select('insurer_branch.*, I.short_name as insurer_name, I.category') ->join('insurers I', 'insurer_branch.insurer_id = I.id', 'left') + ->where('I.is_active', 1) + ->where('insurer_branch.is_active', 1) ->find(); return $query; } diff --git a/app/Views/add_image_list.php b/app/Views/add_image_list.php index 3ab9080e..5d8d65ad 100755 --- a/app/Views/add_image_list.php +++ b/app/Views/add_image_list.php @@ -22,16 +22,18 @@ table.dataTable thead th {
-
+ + +
+ @@ -62,6 +64,7 @@ table.dataTable thead th {
Advertisement Image Name
+
@@ -110,6 +113,40 @@ table.dataTable thead th { \ No newline at end of file diff --git a/app/Views/test_members_list.php b/app/Views/test_members_list.php index 2793884c..bc7e255b 100644 --- a/app/Views/test_members_list.php +++ b/app/Views/test_members_list.php @@ -130,11 +130,11 @@ th:first-child, td:first-child {
-
+ diff --git a/app/Views/variance_report_list.php b/app/Views/variance_report_list.php index 48de74e7..5e59e7fc 100644 --- a/app/Views/variance_report_list.php +++ b/app/Views/variance_report_list.php @@ -160,19 +160,19 @@
- - - - - - - - - - - - - + + + + + + + + + + + + +
S.No Client Client Branch Insurer Insurer Branch Policy Endorsement No Premium Statement Premium Premium Variance Expected Amount Statement Amount Variance S.No    Client    Client Branch    Insurer    Insurer Branch    Policy    Endorsement No    Premium    Statement Premium    Premium Variance    Expected Amount    Statement Amount    Variance