Quick Quote create and list API : GWM
This commit is contained in:
parent
e04d89ad3f
commit
5983161f83
@ -90,6 +90,7 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) {
|
||||
$routes->post('enquiry/uploadEnquiryFiles', 'EnquiryController::uploadEnquiryFiles');
|
||||
$routes->get('enquiry/downloadEnquiryFiles', 'EnquiryController::downloadEnquiryFiles');
|
||||
$routes->get('enquiry/enquiryFiles', 'EnquiryController::enquiryFiles');
|
||||
$routes->get('enquiry/getQuickQuoteEnquiryList', 'EnquiryController::getQuickQuoteEnquiryList');
|
||||
|
||||
|
||||
//Proposal
|
||||
|
||||
@ -93,6 +93,49 @@ class EnquiryController extends ResourceController
|
||||
}
|
||||
}
|
||||
|
||||
public function getQuickQuoteEnquiryList()
|
||||
{
|
||||
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();
|
||||
|
||||
|
||||
|
||||
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data ], 200);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
return $this->respond(['status' => 'failed', 'code' => 500, 'error' => $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
|
||||
// List all enquiries
|
||||
public function enquiryQuotePolicyView()
|
||||
{
|
||||
@ -235,11 +278,11 @@ class EnquiryController extends ResourceController
|
||||
'manager_id' => $data['manager_id'] ,
|
||||
'created_by' => $data['created_by'],
|
||||
'is_data_created_by_staff' => $data['is_data_created_by_staff'] ?? 1 ,
|
||||
|
||||
'assigned_to' => $data['assigned_to'] ?? 0,
|
||||
'insurer_id' => $data['insurer_id'] ?? 0,
|
||||
'insurer_branch_id'=> $insurerBranchresult['id'] ?? 0,
|
||||
'broker_id' => $data['broker_id'] ?? 0,
|
||||
'assigned_to' => $data['assigned_to'] ?? 0,
|
||||
'insurer_id' => $data['insurer_id'] ?? 0,
|
||||
'insurer_branch_id' => $insurerBranchresult['id'] ?? 0,
|
||||
'broker_id' => $data['broker_id'] ?? 0,
|
||||
'is_quick_quote' => $data['is_quick_quote'] ?? 0
|
||||
];
|
||||
|
||||
|
||||
@ -247,8 +290,35 @@ class EnquiryController extends ResourceController
|
||||
|
||||
// trigger_email('enquiry_created', ['enquiry_id' => $enquiryId]);
|
||||
|
||||
//create Quotation ana mark as accepted
|
||||
if($data['is_data_created_by_staff'] == 1)
|
||||
// QUOTATION MULTIPLE INSERT LOGIC
|
||||
if ($data['is_data_created_by_staff'] == 1 && !empty($data['quotation']) && is_array($data['quotation']))
|
||||
{
|
||||
foreach ($data['quotation'] as $q) {
|
||||
|
||||
//get insurer_branch_id
|
||||
if(isset($q['insurer_id']))
|
||||
{
|
||||
$query = $this->db->query("SELECT id FROM insurer_branch WHERE insurer_id = ? LIMIT 1", [$q['insurer_id']]);
|
||||
$insurerBranchresult = $query->getRowArray();
|
||||
}
|
||||
|
||||
$quotationData = [
|
||||
'enquiry_id' => $enquiryId,
|
||||
'insured_declared_value' => $q['insured_declared_value'] ?? 0,
|
||||
'premium_amount' => $q['premium_amount'] ?? 0,
|
||||
'insurance_plan_type_id' => $q['insurance_plan_type_id'] ?? 0,
|
||||
'insurer_id' => $q['insurer_id'] ?? 0,
|
||||
'insurer_branch_id' => $insurerBranchresult['id'] ?? 0,
|
||||
'manager_id' => $data['manager_id'],
|
||||
'payment_mode_id' => $q['payment_mode_id'] ?? 0,
|
||||
'created_by' => $data['created_by'] ,
|
||||
'is_quick_quote' => $data['is_quick_quote'] ?? 0,
|
||||
];
|
||||
|
||||
$this->QuotationModel->insert($quotationData);
|
||||
}
|
||||
}
|
||||
else if($data['is_data_created_by_staff'] == 1)
|
||||
{
|
||||
|
||||
$quotationData = [
|
||||
|
||||
@ -31,6 +31,7 @@ class EnquiryModel extends Model
|
||||
'is_data_created_by_staff',
|
||||
'is_data_created_by_manager',
|
||||
'broker_id',
|
||||
'is_quick_quote'
|
||||
];
|
||||
|
||||
protected $useTimestamps = true;
|
||||
@ -58,12 +59,13 @@ class EnquiryModel extends Model
|
||||
->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('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', 0)
|
||||
->orderBy('partner_enquiry.created_on', 'ASC');
|
||||
|
||||
if($status != null){
|
||||
|
||||
@ -23,7 +23,8 @@ class QuotationModel extends Model
|
||||
'updated_by',
|
||||
'action_by',
|
||||
'action_user',
|
||||
'payment_mode_id'
|
||||
'payment_mode_id',
|
||||
'is_quick_quote'
|
||||
];
|
||||
protected $useTimestamps = false;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user