diff --git a/app/Config/Acl.php b/app/Config/Acl.php index f2f4ecca..b89e53a9 100644 --- a/app/Config/Acl.php +++ b/app/Config/Acl.php @@ -16,6 +16,7 @@ class Acl '#^/getVerifiedPosUserData#' => ['public' => true], '#^/swagger#' => ['roles' => [ADMIN_ROLE_ID]], '#^/fedeploy#' => ['roles' => [ADMIN_ROLE_ID]], + '#^/visitOffBoardCheck#' => ['roles' => [ADMIN_ROLE_ID]], // ===================== PUBLIC DOWNLOADS / FORMS ===================== '#^/download-#' => ['public' => true], diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 4bf4b954..b31bbbfa 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -21,6 +21,7 @@ $routes->get('/chatbot', 'ChatbotControllerNew::chatbot'); $routes->get('/swagger', 'SwaggerController::index', ['filter' => 'authMVC']); $routes->get('/fedeploy', 'DeployController::fedeploy_view', ['filter' => 'authMVC']); $routes->post('/fedeploy', 'DeployController::fedeploy', ['filter' => 'authMVC']); +$routes->get('/visitOffBoardCheck', 'EmployeeController::visitOffBoardCheck'); // Reminder Mail Notification diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 47f5b5fb..2c79d18b 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -480,11 +480,28 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Client list function called'); $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['clientList'] = $this->clientModel->getCreatedByUserName(1); // passing client_type $data['client_rm'] = $this->clientRMModel->getAllClientRM(); $data['lead_data'] = $this->leadsModel->getLeadForInsertClientList(); + + $rawList = $this->clientModel->getCreatedByUserName(1); + $clientRM = $data['client_rm']; + $rmMap = []; + foreach ($clientRM as $rm) { + $rmMap[$rm->client_id][] = $rm->account_manager; + } + $data['clientList'] = (!empty($rawList) && is_array($rawList)) ? array_map(function($item) use ($rmMap) { + $managers = isset($rmMap[$item->id]) ? implode(", ", $rmMap[$item->id]) : "N/A"; + return (object) [ + 'id' => $item->id, + 'client_name' => $item->client_name, + 'short_name' => $item->short_name, + 'account_managers' => $managers + ]; + }, $rawList) : []; // dd($data); + // dd($data['clientList']); echo view('layout/header', $headerData); echo view('client_list', $data); @@ -497,7 +514,22 @@ class ClientController extends AdminController public function typeList($id = null) { try { - $data = $this->clientModel->getCreatedByUserName($id); // passing client_type + $rawList = $this->clientModel->getCreatedByUserName($id); // passing client_type + $clientRM = $this->clientRMModel->getAllClientRM();; + $rmMap = []; + foreach ($clientRM as $rm) { + $rmMap[$rm->client_id][] = $rm->account_manager; + } + $data['clientList'] = (!empty($rawList) && is_array($rawList)) ? array_map(function($item) use ($rmMap) { + $managers = isset($rmMap[$item->id]) ? implode(", ", $rmMap[$item->id]) : "N/A"; + return (object) [ + 'id' => $item->id, + 'client_name' => $item->client_name, + 'short_name' => $item->short_name, + 'account_managers' => $managers + ]; + }, $rawList) : []; + if (empty($data)) { return $this->response ->setJSON(['status' => 'error', 'message' => 'No Records found']) @@ -925,6 +957,29 @@ class ClientController extends AdminController } $editData['client_policy'] = $clientPoliceData; + //Notes : $editData['client_policy'] this on called in client_policy page + $rawList = $editData['client_policy']; + + $editData['client_policy'] = (!empty($rawList) && is_array($rawList)) + ? array_values(array_map(function ($item) { + return (object) [ + 'id' => $item->id, + 'policy_no' => $item->policy_no, + 'policy_type_name' => $item->policy_type_name, + 'policy_start_date' => $item->policy_start_date, + 'policy_end_date' => $item->policy_end_date, + 'insurer_short' => $item->insurer_short, + 'insurer_branch_name' => $item->insurer_branch_name, + 'branch_name' => $item->branch_name ?? ' - ', + 'tpa_short' => $item->tpa_short, + 'policy_type_name' => $item->policy_type_name, + 'policy_type_id' => $item->policy_type_id, + 'lead_cd_amount' => $item->lead_cd_amount, + 'tpa_branch_code' => $item->tpa_branch_code, + 'branch_name' => $item->branch_name ?? ' - ', + 'policy_type_id' => $item->policy_type_id, + ]; + }, $rawList)) : []; $editData['client_policy']['role'] = get_role_id(); $editData['notification'] = $this->notificationModel->select('template_name,enabled')->where('client_id', $id)->findAll(); $editData['placeHolders'] = ['member_name', 'member_mobile', 'nhance_logo', 'tpa_id', 'ecard_download_link', 'client_logo', 'policy_no', 'member_summary', 'app_link', 'post_enrollment_app_link', 'client_name']; @@ -6633,7 +6688,8 @@ class ClientController extends AdminController $policyTransactionController = new PolicyTransactionController(); // $res = $policyTransactionController->validateInsurerStatement(['file_id' => '281']); // $res = $policyTransactionController->updateInsurerStatement(['file_id' => '62']); - // dd('-----', $res); + // $res = $policyTransactionController->bdsDumpExcelFileFormatValidation(['file_id' => '73']); + // dd($res); // ----------EMP DATA SERVICE CONTROLLER-------------------------------------------------------------------------------- diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index b662d8b1..6f3ab21d 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -841,6 +841,7 @@ class EmployeeController extends AdminController { $data = []; + $data['status'] = ['pending' => 'Pending', 'inprogress' => 'In-Progress', 'complete' => 'Complete']; if (count($this->request->getGet())) { $filterData = $this->request->getGet(); @@ -850,9 +851,9 @@ class EmployeeController extends AdminController status: $filterData['status'], branch_id: $filterData['branch_id'] ); - $data['getData'] = $filterData; + $data['getData'] = $filterData; // echo "
";
- // print_r($data); die;
+
}
$this->myLogger->logme('error', 'list called');
@@ -4452,6 +4453,92 @@ class EmployeeController extends AdminController
$this->myLogger->logme('error', "$log_search_context". "END Batch {$batch_no}");
}
+ public function visitOffBoardCheck()
+ {
+ $params = [
+ "memberIds" => ["adi_1034292323", "EMPENHANCE-M1", "EMPENHANCE-M3"],
+ // "policyNumber" => "570000/48/2026/290",
+ "policyNumber" => "09823428509239",
+ "source" => "NHANCE"
+ ];
+ print_rr($this->visitOffBoard($params));
+ }
+
+ /**
+ * Executes the Delete Policy API call.
+ *
+ * @param array $params Contains 'memberIds', 'policyNumber', and 'source'.
+ * @return array
+ */
+ public function visitOffBoard(array $params)
+ {
+ // 1. Load credentials from .env
+ $apiUrl = env('WELLNESS_ONBOARD_ENDPOINT_URL');
+ $apiToken = env('WELLNESS_ONBOARD_AUTHORIZATION');
+
+ // 2. Initialize the CI4 CURL service
+ $client = \Config\Services::curlrequest([
+ 'base_uri' => $apiUrl,
+ 'timeout' => 30,
+ ]);
+
+ // $client = Services::curlrequest([
+ // 'base_uri' => $apiUrl,
+ // 'timeout' => 30,
+ // ]);
+ $params['source'] = 'NHANCE';
+ try {
+ // Log the start of the request for traceability
+ $this->myLogger->logme('error', 'VISIT_OFFBOARD: ' . ($params['policyNumber'] ?? 'N/A'));
+
+ // 3. Perform the POST request
+ $response = $client->request('POST', '', [
+ 'headers' => [
+ 'Authorization' => 'JWT ' . $apiToken,
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json',
+ ],
+ 'json' => [
+ 'memberIds' => $params['memberIds'] ?? [],
+ 'policyNumber' => $params['policyNumber'] ?? '',
+ 'source' => $params['source'] ?? '',
+ ],
+ 'http_errors' => false, // Prevents throwing exceptions on 4xx/5xx responses
+ ]);
+
+ $statusCode = $response->getStatusCode();
+ $rawBody = $response->getBody();
+ $result = json_decode($rawBody, true);
+
+ // 4. Handle based on HTTP Status Code
+ if ($statusCode >= 200 && $statusCode < 300) {
+ $this->myLogger->logme('error', "VISIT_OFFBOARD API Success (Code $statusCode): Policy deleted.");
+ return [
+ 'status' => true,
+ 'data' => $result
+ ];
+ }
+
+ // Log API-level errors (4xx or 5xx)
+ $this->myLogger->logme('error', "VISIT_OFFBOARD API Failure (Code $statusCode): " . json_encode($rawBody));
+ return [
+ 'status' => false,
+ 'message' => 'The API returned an error response.',
+ 'code' => $statusCode,
+ 'details' => $result
+ ];
+
+ } catch (Exception $e) {
+ // 5. Catch network or system exceptions
+ $this->myLogger->logme('error', 'VISIT_OFFBOARD API Exception: ' . $e->getMessage());
+ return [
+ 'status' => false,
+ 'message' => 'A critical error occurred while contacting the API.',
+ 'error' => $e->getMessage()
+ ];
+ }
+ }
+
}
diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php
index 610d6de2..7c46bc9a 100755
--- a/app/Controllers/MasterController.php
+++ b/app/Controllers/MasterController.php
@@ -320,7 +320,6 @@ class MasterController extends AdminController
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
$file_name = file_Upload($this->request->getFile('insurer_logo'), $uploadFilePath);
$data = $this->request->getPost();
- print_r($data);die;
$sanitized_post_data = sanitizeInputArrayAdvanced($data);
$sanitized_post_data['addition_add_day'] = (!empty($sanitized_post_data['addition_add_day'])) ? 1 : 0;
diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php
index 723a171e..dc57d03f 100644
--- a/app/Controllers/PolicyTransactionController.php
+++ b/app/Controllers/PolicyTransactionController.php
@@ -309,7 +309,7 @@
'format' => null,
'allowed_values' => null,
'custom' => 'check_agent_exist',
- 'params' => ['row', 'agent_data']
+ 'params' => ['row', 'pos_data']
],
'base_premium' => [
@@ -4944,6 +4944,7 @@
$pt_data = $this->policyTransactionModel->where('is_active', 1)->findAll();
$user_data = $this->userModel->where('is_active', 1)->findAll();
$agent_data = db_connect()->table('partner_agent')->where('is_active', 1)->get()->getResultArray();
+ $pos_data = db_connect()->table('partner_pos')->where('is_active', 1)->get()->getResultArray();
$rto_master = db_connect()->table('rto_master')->where('is_active', 1)->get()->getResultArray();
$vehicle_type = db_connect()->table('vehicle_type')->where('is_active', 1)->get()->getResultArray();
$nhance_branch_data = db_connect()->table('nhance_branch')->where('is_active', 1)->get()->getResultArray();
@@ -5109,6 +5110,7 @@
$vehicle_data = $this->vehicleModel->where('is_active', 1)->findAll();
$user_data = $this->userModel->where('is_active', 1)->findAll();
$agent_data = db_connect()->table('partner_agent')->where('is_active', 1)->get()->getResultArray();
+ $pos_data = db_connect()->table('partner_pos')->where('is_active', 1)->get()->getResultArray();
$rto_master = db_connect()->table('rto_master')->where('is_active', 1)->get()->getResultArray();
$vehicle_type_data = db_connect()->table('vehicle_type')->where('is_active', 1)->get()->getResultArray();
$nhance_branch_data = db_connect()->table('nhance_branch')->where('is_active', 1)->get()->getResultArray();
@@ -5191,7 +5193,8 @@
$current_insurer_branch_data = check_insurer_branch_exist($row, $insurer_branch_data, $current_insurer_data)['branch'] ?? null;
$current_nhance_branch = check_nhance_branch($row, $nhance_branch_data)['branch'] ?? null;
- $current_agent_data = check_agent_exist($row, $agent_data)['agent'] ?? null;
+ // $current_agent_data = check_agent_exist($row, $agent_data)['agent'] ?? null;
+ $current_agent_data = check_agent_exist($row, $pos_data)['agent'] ?? null;
$salse = check_user_exist($row, 13, $user_data)['user'] ?? null;
$service = check_user_exist($row, 14, $user_data)['user'] ?? null;
@@ -5229,8 +5232,9 @@
'salse_person_manager_id' => $salse['rm_id'] ?? null,
'service_person_manager_id' => $service['rm_id'] ?? null,
'service_person_branch_id' => $service['nhance_branch_id'] ?? null,
- 'agent_id' => $current_agent_data['id'] ?? null,
- 'agent_code' => $current_agent_data['agent_code'] ?? null,
+ // 'agent_id' => $current_agent_data['id'] ?? null,
+ // 'agent_code' => $current_agent_data['agent_code'] ?? null,
+ 'pos_id' => $current_agent_data['id'] ?? null,
'file_id' => $params['file_id'],
'endorsement_no' => null,
'client_branch_id' => null,
diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php
index 59307eac..1dbe0636 100644
--- a/app/Controllers/TicketController.php
+++ b/app/Controllers/TicketController.php
@@ -424,7 +424,6 @@ class TicketController extends BaseController
return $this->loadLayout('ticket_search', $data);
} else {
-
$isFromDashboard = $this->request->getPost("is_dashboard");
log_message('error', 'Is From Dashboard: ' . $isFromDashboard);
@@ -446,7 +445,6 @@ class TicketController extends BaseController
}
$data['claim_status'] = $this->claimStatus->select('id,ticket_type,claim_status')->where('is_active', 1)->findAll();
$data['client_list'] = $this->clientModel->select('id,client_name')->where('is_active', 1)->findAll();
- // dd($data);
return $this->loadLayout('ticket_search', $data);
}
diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php
index a4f773cd..db769589 100755
--- a/app/Helpers/excel_util_helper.php
+++ b/app/Helpers/excel_util_helper.php
@@ -3149,7 +3149,7 @@ if (!function_exists('check_agent_exist')) {
// Loop agent data from DB
foreach ($agent_data as $agent) {
// Assuming DB keys: agent_code
- if (isset($agent['agent_code']) && $agent['agent_code'] == $agent_code) {
+ if (isset($agent['pos_code']) && (strtolower($agent['pos_code']) == strtolower($agent_code))) {
return [
'status' => true,
'error' => null,
@@ -3173,6 +3173,17 @@ if (!function_exists('check_rto_data')) {
$vehicle_no = strtoupper(trim($row[2])); // Example: TN10AB1234
$new_vehicle = strtolower(trim($row[2]));
+ // BH Series: 22BH1234AA
+ $bhPattern = '/^[0-9]{2}BH[0-9]{4}[A-Z]{2}$/';
+
+ if (preg_match($bhPattern, $vehicle_no)) {
+ return [
+ 'status' => true,
+ 'error' => null,
+ 'rto_data' => []
+ ];
+ }
+
if($new_vehicle == "new"){
return [
'status' => true,
diff --git a/app/Views/client_api.php b/app/Views/client_api.php
index e57051f4..7cfd1ae7 100644
--- a/app/Views/client_api.php
+++ b/app/Views/client_api.php
@@ -57,7 +57,7 @@
Get Branch Wise Employee Data
= base_url("getClientBranchEmpData") ?>
-
+ -->
diff --git a/app/Views/client_list.php b/app/Views/client_list.php
index c9b5a2b7..8169b0b0 100755
--- a/app/Views/client_list.php
+++ b/app/Views/client_list.php
@@ -102,7 +102,7 @@ table.dataTable thead th {
=$index+1?>
client_name; ?> ( short_name; ?> )
-
+
+
+ = $row->account_managers ?>
@@ -389,8 +392,10 @@ $(document).ready(function()
method: 'GET',
success: function(response) {
if (response.status === "success" && Array.isArray(response.data)) {
+ console.error("#CL 1 : ", response.data);
renderRows(response.data);
} else {
+ console.error("#CL 2 : ", response.data);
renderRows([]);
}
},
@@ -407,21 +412,21 @@ $(document).ready(function()
table.clear();
if (Array.isArray(data) && data.length) {
data.forEach((row, index) => {
- let clientrm = = json_encode($client_rm) ?>;
- let account_managers = "";
-
- clientrm.forEach(client => {
- if (client.client_id == row.id) {
- account_managers += client.account_manager + ", ";
- }
- });
- account_managers = account_managers.replace(/,\s*$/, "");
- if (account_managers === "") account_managers = "N/A";
+ // let clientrm = json_encode($client_rm)
+ // let account_managers = "";
+ //
+ // clientrm.forEach(client => {
+ // if (client.client_id == row.id) {
+ // account_managers += client.account_manager + ", ";
+ // }
+ // });
+ // account_managers = account_managers.replace(/,\s*$/, "");
+ // if (account_managers === "") account_managers = "N/A";
let rowData = [
index + 1,
`${row.client_name} (${row.short_name})`,
- account_managers,
+ row.account_managers,
` */ ?>
+
diff --git a/app/Views/ticket_type_modal.php b/app/Views/ticket_type_modal.php
index 2e7fdf82..dfac9d56 100644
--- a/app/Views/ticket_type_modal.php
+++ b/app/Views/ticket_type_modal.php
@@ -22,7 +22,7 @@
-
+