From 7c5845097395d52bc39ad0394a8afcd0204680ce Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Tue, 25 Mar 2025 11:39:13 +0530 Subject: [PATCH] FIX_VERIFY_MOB_EMAIL_STATUS_REST : RV --- app/Controllers/LeadsController.php | 75 ++++++++++--------- .../RestAuthenticationController.php | 2 +- app/Models/RFQModel.php | 1 + app/Views/view_rfq_non_eb.php | 11 ++- 4 files changed, 52 insertions(+), 37 deletions(-) diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index b361c5b3..8d926761 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -628,12 +628,16 @@ class LeadsController extends BaseController public function createRFQ() { - - // print_r($this->request->getPost('json')); die(); - $data = $this->request->getPost(); - $lead_id = $data['lead_id']; + $lead_id = $data['lead_id'] ?? null; + + if (!$lead_id) { + return $this->respond(['status' => false, 'message' => 'Lead ID is required'], 400); + } + $data['type'] = 1; + + // Deactivate existing RFQs for this lead and type $this->RFQModel ->where('lead_id', $lead_id) ->where('type', 1) @@ -641,41 +645,40 @@ class LeadsController extends BaseController ->set('is_active', 0) ->update(); - $registrationJson = $data['registration_json'] ?? null; // Use null coalescing operator for safety + // Handle registration_json + if (empty($data['registration_json'])) { + // Fetch the latest registration_json if not provided + $latest = $this->RFQModel + ->select('registration_json') + ->where('lead_id', $lead_id) + ->orderBy('id', 'DESC') + ->first(); - if ($registrationJson) { - // If registration_json is provided, insert the data directly - $result = $this->RFQModel->insert($data); - } else { - // If registration_json is not provided, fetch the latest registration_json from the database - $this->RFQModel->select('registration_json') - ->where("lead_id", $lead_id) - ->order_by('id', 'DESC') // Assuming 'id' is an auto-increment field - ->limit(1); - - $query = $this->RFQModel->get(); - $latestRegistrationJson = $query->row()->registration_json ?? null; - - if ($latestRegistrationJson) { - // If a valid registration_json is found, update the data and insert - $data['registration_json'] = $latestRegistrationJson; - $result = $this->RFQModel->insert($data); - } else { - // If no registration_json is found, insert the data as-is - $result = $this->RFQModel->insert($data); + if (!empty($latest['registration_json'])) { + $data['registration_json'] = $latest['registration_json']; } } - if ($result) { + // Insert new RFQ + $insertId = $this->RFQModel->insert($data); - $message = "RFQ submitted successfully"; - if ($data['submit_type'] == 'QCR') { - $message = "QCR submitted successfully"; - } - return $this->respond(['status' => true, 'id' => $result, 'message' => $message, 'data' => $data], 200); + if ($insertId) { + $message = ($data['submit_type'] ?? '') == 'QCR' ? 'QCR submitted successfully' : 'RFQ submitted successfully'; + return $this->respond([ + 'status' => true, + 'id' => $insertId, + 'message' => $message, + 'data' => $data + ], 200); } - return $this->respond(['status' => false, 'id' => $result, 'message' => "Failed to create RFQ", 'data' => $data], 200); + $message = ($data['submit_type'] ?? '') == 'QCR' ? 'Failed to create QCR' : 'Failed to create RFQ'; + return $this->respond([ + 'status' => false, + 'id' => null, + 'message' => $message, + 'data' => $data + ], 200); } public function createQCR() @@ -2575,15 +2578,19 @@ class LeadsController extends BaseController public function constructNonEbExcelToSaveTemp($lead_id, $type, $propsal_and_insurer = null) { - $rfq_data = $this->RFQModel->getRFQTableDataWithLeadIDAndType($lead_id, $type); - $lead_data = json_decode($rfq_data['custom_fields'], true) ?? []; if (!is_array($lead_data)) { $lead_data = []; } $lead_data = array_merge(['Insured' => $rfq_data['client_name']], $lead_data); + $policy_registration_data = []; + if(isset($rfq_data['registration_json']) && !empty($rfq_data['registration_json'])){ + $policy_registration_data = json_decode($rfq_data['registration_json'], true); + } + // dd($policy_registration_data); + // if(!empty($rfq_data['fin_years_claims'])){ // $claim_details = json_decode($rfq_data['fin_years_claims'], true) ?? []; // if(!empty($claim_details['finyear'])){ diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php index 3d141b2b..27114883 100755 --- a/app/Controllers/RestAuthenticationController.php +++ b/app/Controllers/RestAuthenticationController.php @@ -118,7 +118,7 @@ class RestAuthenticationController extends AdminController ->where('employees.emp_status !=', 'truncated') ->where('employees.email_corporate', $email) ->where('EP.is_active', 1) - ->whereIn('EP.status', ['draft', 'enrolled']) + ->whereIn('EP.status', ['active']) ->first(); if (isset($employeeData['employee_id'])) { diff --git a/app/Models/RFQModel.php b/app/Models/RFQModel.php index 24d18529..4ffbf9d4 100644 --- a/app/Models/RFQModel.php +++ b/app/Models/RFQModel.php @@ -68,6 +68,7 @@ class RFQModel extends Model tpa_branch.branch_name as tpa_branch_name, policy_type.policy_type, rfq.json, + rfq.registration_json ') ->join('leads', 'rfq.lead_id = leads.id') ->join('policy_type', 'leads.policy_type_id = policy_type.id') diff --git a/app/Views/view_rfq_non_eb.php b/app/Views/view_rfq_non_eb.php index f885138f..5822cb9f 100644 --- a/app/Views/view_rfq_non_eb.php +++ b/app/Views/view_rfq_non_eb.php @@ -1989,10 +1989,13 @@ function saveRFQTODB(tableJSON, policyJson) { + let submit_type = "RFQ" + if(rfq_or_qcr == 2){submit_type = 'QCR'} + var formData = { lead_id: $("#lead_id").val(), json: JSON.stringify(tableJSON), - submit_type: "RFQ", + submit_type: submit_type, registration_json: policyJson } @@ -3209,7 +3212,11 @@ } else if (redirect_type == 2) { //EXCEL EXPORT - let url = $('#submitExcel').data('url'); + // let url = $('#submitExcel').data('url'); + + let lead_id = $('#lead_id').val(); + let url = '' + lead_id + '/' + rfq_or_qcr + '/' + 2 + window.location.href = url; } else if (redirect_type == 3) {