From 9da3c938bb7a714ae5b3dd56857d2af9eb06af1d Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Sat, 29 Nov 2025 11:12:13 +0530 Subject: [PATCH] Insurer type key added in enquiry list : GWM --- app/Controllers/EnquiryController.php | 53 ++++++++++++--------------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index 6252c3b..4c12eb3 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -98,38 +98,33 @@ class EnquiryController extends ResourceController try { $manager_id = $this->request->getGet('manager_id'); - $data = $this->enquiryModel->select('partner_enquiry.*, partner_enquiry.name as insured_name, - VT.vehicle_type as vehicle_type, - A.name as agent_name, A.agent_code, - I.name as insurer_name,I.short_name as insurer_short_name, - S.name as assigned_to_name, - Q.id as quotation_id, - P.payment_mode, - P.premium_amount, - P.policy_number, - P.id as policy_id, - P.policy_pdf_file_name, - PB.name as broker_name, - pm.id as payment_mode_id , - pm.value as payment_mode_value' - ) - ->join('vehicle_type VT', 'VT.id = partner_enquiry.vehicle_type_id', 'left') - ->join('partner_agent A', 'A.id = partner_enquiry.agent_id', 'left') - ->join('partner_staff S', 'S.id = partner_enquiry.assigned_to', 'left') - ->join('partner_quotation Q', 'Q.enquiry_id = partner_enquiry.id AND Q.status = "Accepted" ', 'left') - ->join('insurers I', 'I.id = partner_enquiry.insurer_id', 'left') - ->join('partner_policy P', 'P.quotation_id = Q.id', 'left') - ->join('partner_brokers PB', 'PB.id = partner_enquiry.broker_id', 'left') - ->join('partner_payment_mode_master pm', 'pm.id = Q.payment_mode_id', 'left') - ->where('partner_enquiry.is_active', 1) - ->where('partner_enquiry.is_quick_quote', 1) - ->where('partner_enquiry.manager_id', $manager_id) - ->orderBy('partner_enquiry.created_on', 'ASC') - ->findAll(); + // Get enquiry list + $enquiryData = $this->enquiryModel + ->where('partner_enquiry.is_active', 1) + ->where('partner_enquiry.is_quick_quote', 1) + ->where('partner_enquiry.manager_id', $manager_id) + ->where('partner_enquiry.status', 'Proposal Created') + ->orderBy('partner_enquiry.created_on', 'ASC') + ->findAll(); + // Loop & attach quotation data + foreach ($enquiryData as $key => $value) { + + $quoteData = $this->QuotationModel + ->select('partner_quotation.*, partner_quotation.id AS quotation_id, + I.name AS insurer_name, + ipti.insurance_plan_type') + ->join('insurers I', 'I.id = partner_quotation.insurer_id', 'left') + ->join('partner_insurance_plan_type_master ipti', 'ipti.id = partner_quotation.insurance_plan_type_id', 'left') + ->where('partner_quotation.enquiry_id', $value['id']) + ->findAll(); + + // Assign properly back into array + $enquiryData[$key]['quotation_data'] = $quoteData; + } - return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data ], 200); + return $this->respond(['status' => 'success', 'code' => 200, 'data' => $enquiryData ], 200); } catch (\Exception $e) { return $this->respond(['status' => 'failed', 'code' => 500, 'error' => $e->getMessage()], 500);