From b8df71c1a09c15e16930e161b6f3aca991d396bb Mon Sep 17 00:00:00 2001 From: velz Date: Thu, 1 Aug 2024 10:29:47 +0530 Subject: [PATCH 1/7] CHNAGE_JOB_FAILED_CAPTURED&FILE_STATUS_UPDATED --- app/Controllers/JobWorker.php | 23 ++++++++++++++++++++--- app/Views/employee_upload.php | 6 +++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/Controllers/JobWorker.php b/app/Controllers/JobWorker.php index 5c099fe8..a0d5f694 100644 --- a/app/Controllers/JobWorker.php +++ b/app/Controllers/JobWorker.php @@ -6,6 +6,7 @@ namespace App\Controllers; use App\Models\JobModel; +use App\Models\FileModel; class JobWorker extends AdminController { const STATUS_DONE = 'done'; @@ -287,23 +288,24 @@ class JobWorker extends AdminController try { $response = $jobHandler($payload,$job->id); + $job_status = self::STATUS_DONE; } catch(\Exception $e) { $job_status = self::STATUS_FAILED; $runtime = $runtime === null ? microtime(true) - $start : $runtime; - $response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString()]; + $response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString(),'scope' => 'task failed']; } $runtime = microtime(true) - $start; - $job_status = self::STATUS_DONE; + } catch (\Exception $e) { //die(); $job_status = self::STATUS_FAILED; $runtime = $runtime === null ? microtime(true) - $start : $runtime; - $response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString()]; + $response = ['file_name' => $e->getFile(),'error' => $e->getMessage(),'line_no' => $e->getLine(),'info' => $e->getTraceAsString(),'scope' => 'worker failed']; } $db->query("UPDATE jobs SET status=?, run_time=?, response=? WHERE id=? AND uuid=?", [ @@ -313,6 +315,21 @@ class JobWorker extends AdminController $job->id,$job->uuid ]); + //update file status if this job is directly linked with a file id + + if($job_status == self::STATUS_FAILED) + { + //get file from job payload + if(array_key_exists('file_id', $payload) && $payload['file_id'] != NULL && $payload['file_id'] != "" && is_numeric($payload['file_id']) && count($payload) == 1) + { + $fileModel = new FileModel(); + $fileModel->where('id', $payload['file_id']) + ->set(['status' => 'failed','reason' => json_encode(['error_type' => 0,'error_summary' => [0],'error_data' => 'System Error, please contact Admin/Support team']) ]) + ->update(); + } + + } + // echo "Job $job->id $job_status. Response - $response \n"; // echo "Job $job->id $job_status \n"; SELF::streamOutput("Job $job->id $job_status \n"); diff --git a/app/Views/employee_upload.php b/app/Views/employee_upload.php index 9d40885e..cc94977d 100644 --- a/app/Views/employee_upload.php +++ b/app/Views/employee_upload.php @@ -476,6 +476,10 @@ function fetchFileError(file_id) { var err_id = parseInt(key); var err_count = file_error_data['error_summary'][key]; switch (err_id) { + case 0: + file_error_html += + ""+file_error_data['error_data']+""; + break; case 1: file_error_html += "Mandatory values missing " + @@ -562,7 +566,7 @@ function fetchFileError(file_id) { // console.log('file_error_html_2', file_error_html) } - if (err_id != 5 && err_id != 6) { + if (err_id != 5 && err_id != 6 && err_id != 0) { file_error_html += (file_error_html != "" ? "policesModel->getPolicyPremium($record['policy_id']); @@ -2219,7 +2219,7 @@ class ClientController extends AdminController CASE WHEN client_policy.inception_type = 1 THEN "File Upload" - WHEN client_policy.inception_type = 2 THEN "Enrollment" + WHEN client_policy.inception_type = 2 THEN "Enrolment" ELSE "n/a" END as inception_type, diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 01735912..9f928ce0 100644 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -560,7 +560,7 @@ class EmployeeRestController extends AdminController // Set the header for download - $filename = $empData[0]['policy_name'].'-Enrollment.xlsx'; + $filename = $empData[0]['policy_name'].'-Enrolment.xlsx'; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="' . $filename . '"'); header('Cache-Control: max-age=0'); diff --git a/app/Views/client_info.php b/app/Views/client_info.php index 879eceea..485684dc 100644 --- a/app/Views/client_info.php +++ b/app/Views/client_info.php @@ -129,7 +129,7 @@ - + diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php index 430faa62..90bc3763 100644 --- a/app/Views/client_policy.php +++ b/app/Views/client_policy.php @@ -312,13 +312,13 @@ if (item.open_for_enrollment == 1) { enrollmentStatus = 'Open' + '" class="btnOpenEnroll" data-toggle="tooltip" data-placement="left" title="Click To Close Enrolment">Open' } else if (item.open_for_enrollment == 0) { enrollmentStatus = - 'Closed' } @@ -551,7 +551,7 @@ if (item.open_for_enrollment == 1) { enrollmentStatus = - 'Open' @@ -559,7 +559,7 @@ } else if (item.open_for_enrollment == 0) { enrollmentStatus = - 'Closed' @@ -982,7 +982,7 @@ $('.btnOpenEnroll').each(function(index, element) { if ($(element).data('id') == client_policy_id) { $(element).html( - '
- -
+
+
+ +
+
+
+ + +
+ +