From 0a7d93a195d4935097ed0b4bf54a44ee0b696ff8 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 2 Jan 2026 11:02:40 +0530 Subject: [PATCH] FEAT_REGENERATE_ECARD_TO_S3 --- app/Controllers/EmpDataServiceController.php | 8 +++ app/Controllers/EmployeeController.php | 2 + app/Models/EmployeePolicyModel.php | 1 + app/Views/employee_data_list.php | 71 ++++++++++++++++++++ 4 files changed, 82 insertions(+) diff --git a/app/Controllers/EmpDataServiceController.php b/app/Controllers/EmpDataServiceController.php index 179aa7b3..452f414b 100755 --- a/app/Controllers/EmpDataServiceController.php +++ b/app/Controllers/EmpDataServiceController.php @@ -2203,6 +2203,9 @@ class EmpDataServiceController extends BaseController if ($get_policy_type['policy_type_id'] != 1) { + // generate e-card and store S3 + $r = Jobs::addJob(['job_name' => 'bulkGenerateEcardAndStoreinS3', 'payload' => ['client_policy_id' => $client_policy_id]]); + $job_details = new Jobs(); $r = Jobs::addJob(['job_name' => 'sendMailForDownloadingECard', 'payload' => ['ids' => $emp_policy_ids, 'client_policy_id' => $client_policy_id]]); } @@ -2524,6 +2527,7 @@ class EmpDataServiceController extends BaseController $event_type = $file['event_type']; $policy_issue_date = $file['policy_issue_date']; + $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); $status_val = 'success'; if ($status == 'in-progress-partially') { @@ -2613,6 +2617,10 @@ class EmpDataServiceController extends BaseController 'status' => $status_val, ]); + if($client_policy_data['policy_type_id'] != 1){ + // re-generate e-card and store S3 + $r = Jobs::addJob(['job_name' => 'bulkGenerateEcardAndStoreinS3', 'payload' => ['client_policy_id' => $client_policy_id]]); + } $this->myLogger->logme('error', 'importCorrectionUpdateEndorsementID employee count : {data}', ['data'=> $emp_count]); $this->myLogger->logme('error', 'importCorrectionUpdateEndorsementID batch file status : {data}', ['data'=> $status_val]); diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index d40ee267..d394de03 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -4163,6 +4163,8 @@ class EmployeeController extends AdminController return $this->respond([ 'status' => 'ECARD_BULK_TO_S3 Job queued', + 'message' => 'E-card re-generation process has started successfully.', + 'dataStatus' => true, 'total' => $total, 'batches' => $total_batches ], 200); diff --git a/app/Models/EmployeePolicyModel.php b/app/Models/EmployeePolicyModel.php index 0e86d94a..81f8c580 100755 --- a/app/Models/EmployeePolicyModel.php +++ b/app/Models/EmployeePolicyModel.php @@ -279,6 +279,7 @@ class EmployeePolicyModel extends Model 'client_branch.branch_code as client_branch_code', 'cp.policy_no', 'cp.policy_type_id', + 'cp.is_addon', $ecard_download_link ]) ->join('employees emp', 'employee_polices.employee_id = emp.id') diff --git a/app/Views/employee_data_list.php b/app/Views/employee_data_list.php index 3e3178b6..d4704749 100755 --- a/app/Views/employee_data_list.php +++ b/app/Views/employee_data_list.php @@ -206,6 +206,14 @@ Send E-Card Mail + + Re-Generate E-Card + + + + Re-Generate E-Card + + @@ -780,4 +788,67 @@ } + function showReGenerateConfirmation(client_policy_id, emp_code){ + + Swal.fire({ + title: "Do you want to Re-Generate Ecard for this family?", + showDenyButton: true, + showCancelButton: false, + confirmButtonText: "Yes", + denyButtonText: "No" + }).then((result) => { + + if (result.isConfirmed) { + reGenerateEcardForSingleFamily(client_policy_id, emp_code) + } + + }); + + } + + function reGenerateEcardForSingleFamily(client_policy_id, emp_code) + { + if(!client_policy_id){ + toastr.warning('Failed to re-Generate E-card', 'WARNING'); + } + if(!emp_code){ + toastr.warning('Failed to re-Generate E-card', 'WARNING'); + } + + console.log({client_policy_id, emp_code}); + + let url = ''; + + // Data to send in the AJAX request + let requestData = { + client_policy_id: client_policy_id, + emp_code: emp_code, + }; + + $('.loader').fadeIn(); + $('.loader-mask').fadeIn(); + + // Send AJAX request + sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) { + + console.log('Data fetched successfully:', response); + + if (response.dataStatus == true) { + toastr.success(response.message || 'Initiating successafully.', 'SUCCESS'); + } else { + toastr.warning(response.status || 'Unable to regenerate e-card.', 'WARNING'); + } + + $('.loader').fadeOut(); + $('.loader-mask').delay(350).fadeOut('slow'); + + }, function(xhr, status, error) { + console.error('Error fetching data:', error); + console.error(xhr.responseText); + toastr.error('Unable to regenerate e-card.', 'ERROR'); + }); + + + } +