FEAT_VISIT_OFFBOARD
This commit is contained in:
parent
930109c6d4
commit
3c3a068042
@ -15,6 +15,13 @@ class Acl
|
||||
'#^/loginPos#' => ['public' => true],
|
||||
'#^/getVerifyPosMobileNo#' => ['public' => true],
|
||||
'#^/getVerifiedPosUserData#' => ['public' => true],
|
||||
'#^/chat#' => ['public' => true],
|
||||
'#^/widget#' => ['public' => true],
|
||||
'#^/chatbottest#' => ['public' => true],
|
||||
'#^/chatbot#' => ['public' => true],
|
||||
'#^/getSSORedirectUrl#' => ['public' => true],
|
||||
'#^/getEmployeePolicy#' => ['public' => true],
|
||||
'#^/downloadFileTableFile#' => ['public' => true],
|
||||
'#^/swagger#' => ['roles' => [ADMIN_ROLE_ID]],
|
||||
'#^/getEmployeeActiveOrInactivePolicy#' => ['roles' => [ADMIN_ROLE_ID, HEAD_ROLE_ID]],
|
||||
'#^/bulkEcardDownloadAsZip#' => ['roles' => [ADMIN_ROLE_ID, HEAD_ROLE_ID]],
|
||||
@ -54,6 +61,34 @@ class Acl
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/hrFileDownload#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/sendPushNotification#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/sendEmail#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/getPolicyLevelEmployeeSummaryData#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/cdTransactionData#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/claimsSearch#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/getBackToEnrolledDetails#' => [
|
||||
'roles' => [ ADMIN_ROLE_ID,HEAD_ROLE_ID, MANAGER_ROLE_ID, STAFF_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
|
||||
// ===================== USER MANAGEMENT =====================
|
||||
'#^/user#' => [
|
||||
@ -88,6 +123,18 @@ class Acl
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
'#^/dmsSearch#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
'#^/downloadGdriveFile#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
'#^/driveListFiles#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
'#^/bds_upload#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
@ -108,12 +155,60 @@ class Acl
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
'#^/importRules#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [FINANCE_TEAM_ID,POS_TEAM_ID]
|
||||
],
|
||||
|
||||
// ===================== CLAIMS / TICKETS =====================
|
||||
'#^/ticket#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketSave#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketList#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketConversationSave#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketConversationList#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketType#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketHistoryList#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/ticketAutoFetchDetails#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/initiateClaim#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/departments#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/get_ticket_data#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/claimView#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
],
|
||||
'#^/claim_mis#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID],
|
||||
'teams' => [CLAIMS_TEAM_ID]
|
||||
@ -138,6 +233,22 @@ class Acl
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/add_advertise_image#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/remove_advertise_image#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/getAdvertiseImage#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/showAdvertiseImage#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/frontend_content#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
@ -146,6 +257,10 @@ class Acl
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
'#^/getFEContent#' => [
|
||||
'roles' => [ HEAD_ROLE_ID,ADMIN_ROLE_ID, MANAGER_ROLE_ID, ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID],
|
||||
'teams' => []
|
||||
],
|
||||
|
||||
// ===================== LOGS =====================
|
||||
'#^/logs#' => [
|
||||
@ -167,9 +282,25 @@ class Acl
|
||||
// ===================== WEBHOOKS / 3RD PARTY =====================
|
||||
'#^/dispatchWebhookData#' => ['public' => true],
|
||||
'#^/retrieveWebhookData#' => ['public' => true],
|
||||
// '#^/ICICI#' => ['public' => true],
|
||||
// '#^/Vidal#' => ['public' => true],
|
||||
// '#^/MediAssist#' => ['public' => true],
|
||||
'#^/ecardRequest#' => ['public' => true],
|
||||
'#^/getTPAID#' => ['public' => true],
|
||||
'#^/fileDownload#' => ['public' => true],
|
||||
'#^/generateAuthToken#' => ['public' => true],
|
||||
'#^/createEnrollmentBatch#' => ['roles' => [ADMIN_ROLE_ID, HEAD_ROLE_ID], 'teams' => [ENROLLMENT_TEAM_ID]],
|
||||
'#^/getEnrollmentBatchStatus#' => ['roles' => [ADMIN_ROLE_ID, HEAD_ROLE_ID], 'teams' => [ENROLLMENT_TEAM_ID]],
|
||||
'#^/fetchUHIDDetails#' => ['roles' => [ADMIN_ROLE_ID, HEAD_ROLE_ID], 'teams' => [ENROLLMENT_TEAM_ID]],
|
||||
'#^/FhplGetBenefDetails#' => ['roles' => [ADMIN_ROLE_ID]],
|
||||
'#^/EcardRequest#' => ['public' => true],
|
||||
'#^/HospitalNetwork#' => ['public' => true],
|
||||
'#^/VidalGetBenefDetails#' => ['public' => true],
|
||||
'#^/ClaimDetail#' => ['public' => true],
|
||||
'#^/SubmitClaim#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/IntimateClaim#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/IRSubmission#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/ClaimStatusUpdate#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/syncTpaClaimToNhance#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/HealthIndiaGetBenefDetails#' => ['roles' => [ADMIN_ROLE_ID,HEAD_ROLE_ID,ACCOUNT_MANAGER_ROLE_ID,STAFF_ROLE_ID]],
|
||||
'#^/testTracelog#' => ['roles' => [ADMIN_ROLE_ID]],
|
||||
|
||||
// ===================== CLI =====================
|
||||
'#^/cli/#' => ['public' => true],
|
||||
|
||||
@ -3564,7 +3564,7 @@ class EmployeeController extends AdminController
|
||||
public function initiateWellnessOnboard($client_policy_id)
|
||||
{
|
||||
$r = Jobs::addJob(['job_name' => 'initiateWellnessOnboardJob','payload' => ['client_policy_id' => $client_policy_id]]);
|
||||
//$this->initiateWellnessOnboardJob(['client_policy_id' => $client_policy_id]);
|
||||
// $this->initiateWellnessOnboardJob(['client_policy_id' => $client_policy_id]);
|
||||
return $this->respond(['status' => true, 'code' => 200, 'message' => 'Process started'], 200);
|
||||
}
|
||||
|
||||
@ -4577,14 +4577,17 @@ class EmployeeController extends AdminController
|
||||
$statusCode = $response->getStatusCode();
|
||||
$rawBody = $response->getBody();
|
||||
$result = json_decode($rawBody, true);
|
||||
// print_rr($result);
|
||||
|
||||
// 4. Handle based on HTTP Status Code
|
||||
if ($statusCode >= 200 && $statusCode < 300) {
|
||||
// 4. Handle based on HTTP Status Code - BUG FIX: Changed = to == for proper comparison
|
||||
if ($statusCode == 200) {
|
||||
$this->myLogger->logme('error', "VISIT_OFFBOARD API Success (Code $statusCode): Policy deleted.");
|
||||
return [
|
||||
'status' => true,
|
||||
'data' => $result
|
||||
$return_data = [
|
||||
'memberIds' => $params['memberIds'] ?? [],
|
||||
'api_result' => $result
|
||||
];
|
||||
$this->updateVisitoffboardStatus($return_data);
|
||||
return $return_data;
|
||||
}
|
||||
|
||||
// Log API-level errors (4xx or 5xx)
|
||||
@ -4607,6 +4610,73 @@ class EmployeeController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the wellness onboard status in the database for deleted members.
|
||||
*
|
||||
* Marks employee policy records as deleted in the wellness system after
|
||||
* a successful API response from the wellness onboard service.
|
||||
*
|
||||
* @param array $data Contains 'memberIds' array and 'api_result' from API response
|
||||
* @return bool Returns true if update was successful or no action needed, false on error
|
||||
*/
|
||||
public function updateVisitoffboardStatus(array $data): bool
|
||||
{
|
||||
try {
|
||||
// Validate input data structure
|
||||
if (empty($data) || !is_array($data)) {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: Invalid data parameter');
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if API result exists
|
||||
if (empty($data['api_result'])) {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: No API result found in data');
|
||||
return false;
|
||||
}
|
||||
|
||||
$apiResult = $data['api_result'];
|
||||
|
||||
// Verify API success status - BUG FIX: Proper key access and validation
|
||||
if (($apiResult['message'] ?? null) !== 'success') {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: API response not successful - ' . json_encode($apiResult));
|
||||
return false;
|
||||
}
|
||||
|
||||
// Extract member IDs safely - BUG FIX: Corrected key from memberids to memberIds
|
||||
$memberIds = $data['memberIds'] ?? [];
|
||||
|
||||
if (empty($memberIds) || !is_array($memberIds)) {
|
||||
$this->myLogger->logme('warn', 'VISIT_OFFBOARD_STATUS_UPDATE: No valid memberIds provided for update');
|
||||
return true; // Not an error if no members to update
|
||||
}
|
||||
|
||||
if(!empty($apiResult['missingMemberIds']) && is_array($apiResult['missingMemberIds']))
|
||||
{
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: missing member IDs found - ' . json_encode($apiResult['missingMemberIds']));
|
||||
}
|
||||
// Update wellness_onboard status for deleted members - Append '_DEL' to existing value
|
||||
$updateResult = $this->employeePolicyModel
|
||||
->whereIn('id', $memberIds)
|
||||
->set('wellness_onboard', "CONCAT(wellness_onboard, '_DEL')", false)
|
||||
->update();
|
||||
|
||||
if ($updateResult !== false) {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: Updated ' . $updateResult . ' employee policy records with wellness_onboard_DEL status');
|
||||
return true;
|
||||
} else {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: Database update operation failed');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} catch (\Exception $e) {
|
||||
$this->myLogger->logme('error', 'VISIT_OFFBOARD_STATUS_UPDATE: Exception occurred - ' . $e->getMessage() . ' - File: ' . $e->getFile() . ' - Line: ' . $e->getLine());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function insufficientCdBalanceHrMailSend()
|
||||
{
|
||||
$post_data = $this->request->getJson(true);
|
||||
|
||||
@ -238,6 +238,10 @@ class JobWorker extends AdminController
|
||||
'getEmployeeEcardFromTmpFolderAndZipToS3' => [
|
||||
'type' => 'CC', // Handler Category
|
||||
'handler' => 'App\Controllers\EmployeeController',
|
||||
],
|
||||
'visitOffBoard' => [
|
||||
'type' => 'CC', // Handler Category
|
||||
'handler' => 'App\Controllers\EmployeeController',
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user