From 5d1abc9a5f4c17c3daf4b38b5e4e19956e8a70fd Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Wed, 26 Nov 2025 17:53:49 +0530 Subject: [PATCH] updateQuoteData api created : GWM --- app/Config/Routes.php | 1 + app/Controllers/EnquiryController.php | 38 +++++++++++++++---------- app/Controllers/QuotationController.php | 37 ++++++++++++++++++++++++ app/Models/EnquiryModel.php | 2 +- 4 files changed, 62 insertions(+), 16 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index fef6322..03db8c4 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -100,6 +100,7 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { $routes->post('quotation/acceptOrRejectQuotation', 'QuotationController::acceptOrRejectQuotation'); $routes->get('quotation/downloadAdditionalUploadedFile', 'QuotationController::downloadAdditionalUploadedFile'); $routes->post('quotation/proceedQuotation', 'QuotationController::proceedQuotation'); + $routes->post('quotation/updateQuoteData', 'QuotationController::updateQuoteData'); //policy diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index ee8f363..fe8fa1a 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -234,7 +234,7 @@ class EnquiryController extends ResourceController 'remarks' => $data['remarks'], 'manager_id' => $data['manager_id'] , 'created_by' => $data['created_by'], - 'is_data_created_by_handler' => $data['is_data_created_by_handler'] ?? 0 , + 'is_data_created_by_staff' => $data['is_data_created_by_staff'] ?? 1 , 'assigned_to' => $data['assigned_to'] ?? 0, 'insurer_id' => $data['insurer_id'] ?? 0, @@ -248,20 +248,26 @@ class EnquiryController extends ResourceController // trigger_email('enquiry_created', ['enquiry_id' => $enquiryId]); //create Quotation ana mark as accepted - $quotationData = [ - 'enquiry_id' => $enquiryId, - 'insured_declared_value' => $data['insured_declared_value'] ?? 0, - 'premium_amount' => $data['premium_amount'] ?? 0, - 'insurance_plan_type_id' => $data['insurance_plan_type_id'] ?? 0, - 'insurer_id' => $data['insurer_id'] ?? 0, - 'insurer_branch_id' => $insurerBranchresult['id'] ?? 0, - 'manager_id' => $data['manager_id'], - 'payment_mode_id' => $data['payment_mode_id'] ?? 0, - 'created_by' => $data['created_by'], - 'status' => 'Accepted' - ]; - $QuotationId = $this->QuotationModel->insert($quotationData, true); - $this->enquiryModel->update($data['enquiry_id'], [ 'status' => 'Proposal Accepted' ]); + if($data['is_data_created_by_staff'] == 1) + { + + $quotationData = [ + 'enquiry_id' => $enquiryId, + 'insured_declared_value' => $data['insured_declared_value'] ?? 0, + 'premium_amount' => $data['premium_amount'] ?? 0, + 'insurance_plan_type_id' => $data['insurance_plan_type_id'] ?? 0, + 'insurer_id' => $data['insurer_id'] ?? 0, + 'insurer_branch_id' => $insurerBranchresult['id'] ?? 0, + 'manager_id' => $data['manager_id'], + 'payment_mode_id' => $data['payment_mode_id'] ?? 0, + 'created_by' => $data['created_by'], + 'status' => 'Accepted' + ]; + $QuotationId = $this->QuotationModel->insert($quotationData, true); + $this->enquiryModel->update($data['enquiry_id'], [ 'status' => 'Proposal Accepted' ]); + + } + @@ -534,6 +540,8 @@ class EnquiryController extends ResourceController ], 200); } + + diff --git a/app/Controllers/QuotationController.php b/app/Controllers/QuotationController.php index b1dfb40..4c6813f 100644 --- a/app/Controllers/QuotationController.php +++ b/app/Controllers/QuotationController.php @@ -510,6 +510,43 @@ class QuotationController extends ResourceController } + public function updateQuoteData() + { + try { + + $quotationData = $this->request->getPost(); + + if (empty($quotationData['quotation_id'])) { + return $this->respond([ + 'status' => 'failed', + 'code' => 400, + 'message' => 'quotation_id is required' + ], 400); + } + + $quotationId = $quotationData['quotation_id']; + unset($quotationData['quotation_id']); + + // Remove empty values so DB won't overwrite with null + $quotationData = array_filter($quotationData, function ($value) { + return $value !== "" && $value !== null; + }); + + + $quotationId = $quotationData['quotation_id']; + unset($quotationData['quotation_id']); + + $this->QuotationModel->update($quotationId, $quotationData); + + return $this->respond(['status' => 'success','code' => 200,'message'=> 'Quotation updated'], 200); + + + } catch (\Exception $e) { + return $this->respond(['status' => 'failed','code' => 500,'error' => $e->getMessage() ], 500); + } + } + + public function testPolicy($policyId = 81){ $policyData = $this->PolicyModel->select('partner_policy.*,Q.insurer_id,Q.insurer_branch_id,E.name as client_name,E.mobile as client_mobile,E.email as client_email,E.reg_no,E.vehicle_type_id,A.id as agent_id,A.agent_code') ->join('partner_quotation Q', 'Q.id = partner_policy.quotation_id AND Q.status = "Accepted"', 'left') diff --git a/app/Models/EnquiryModel.php b/app/Models/EnquiryModel.php index f292c73..d5e75dc 100644 --- a/app/Models/EnquiryModel.php +++ b/app/Models/EnquiryModel.php @@ -28,7 +28,7 @@ class EnquiryModel extends Model 'insurer_branch_id', 'created_by', 'updated_by', - 'is_data_created_by_handler', + 'is_data_created_by_staff', 'is_data_created_by_manager', 'broker_id', ];