updateQuoteData api created : GWM

This commit is contained in:
Gowtham M 2025-11-26 17:53:49 +05:30
parent e64bbd7fa2
commit 5d1abc9a5f
4 changed files with 62 additions and 16 deletions

View File

@ -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

View File

@ -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);
}

View File

@ -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')

View File

@ -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',
];