Added manager id in agent and staff : GWM

This commit is contained in:
Gowtham M 2025-09-03 12:42:28 +05:30
parent 198b557cf3
commit 4541afe9cc
11 changed files with 115 additions and 28 deletions

View File

@ -27,13 +27,14 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) {
//api's with token //api's with token
$routes->group('api', ['filter' => ["jwtAuth","appSignature"] ], function ($routes) { // $routes->group('api', ['filter' => ["jwtAuth","appSignature"] ], function ($routes) {
//Master //Master
$routes->get('master/getRoleMaster', 'MasterController::getRoleMaster'); $routes->get('master/getRoleMaster', 'MasterController::getRoleMaster');
$routes->get('master/getVehicleTypeMaster', 'MasterController::getVehicleTypeMaster'); $routes->get('master/getVehicleTypeMaster', 'MasterController::getVehicleTypeMaster');
$routes->get('master/getInsurancePlanTypeMaster', 'MasterController::getInsurancePlanTypeMaster'); $routes->get('master/getInsurancePlanTypeMaster', 'MasterController::getInsurancePlanTypeMaster');
$routes->get('master/getInsurersMaster', 'MasterController::getInsurersMaster');
//Agent //Agent
$routes->get('agent/agentList', 'AgentController::agentList'); $routes->get('agent/agentList', 'AgentController::agentList');
@ -55,7 +56,11 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) {
$routes->post('staff/updateStaff', 'StaffController::updateStaff'); $routes->post('staff/updateStaff', 'StaffController::updateStaff');
$routes->post('staff/changeStaffStatus', 'StaffController::changeStaffStatus'); $routes->post('staff/changeStaffStatus', 'StaffController::changeStaffStatus');
});
//Enquiry
$routes->get('enquiry/enquiryList', 'EnquiryController::enquiryList');
// });

View File

@ -22,7 +22,9 @@ class AgentController extends ResourceController
{ {
try{ try{
$data = $this->AgentModel->findAll(); $id = $this->request->getGet('manager_id');
$data = $this->AgentModel->where('manager_id' , $id )->findAll();
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200); return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200);
@ -77,9 +79,11 @@ class AgentController extends ResourceController
'name' => $data['name'], 'name' => $data['name'],
'email' => $data['email'], 'email' => $data['email'],
'mobile' => $data['mobile'], 'mobile' => $data['mobile'],
'address' => $data['address'] ?? null, 'agent_code' => $data['agent_code'],
'address' => $data['address'],
'manager_id' => $data['manager_id'],
'certificate_file_name' => $certificateFileName, 'certificate_file_name' => $certificateFileName,
'created_by' => $data['created_by'] ?? null 'created_by' => $data['created_by']
]; ];
$this->AgentModel->insert($insertData); $this->AgentModel->insert($insertData);
@ -117,6 +121,7 @@ class AgentController extends ResourceController
'email' => $data['email'] ?? null, 'email' => $data['email'] ?? null,
'mobile' => $data['mobile'] ?? null, 'mobile' => $data['mobile'] ?? null,
'address' => $data['address'] ?? null, 'address' => $data['address'] ?? null,
'agent_code' => $data['agent_code'] ?? null,
'updated_by' => $data['updated_by'] ?? null, 'updated_by' => $data['updated_by'] ?? null,
]; ];

View File

@ -18,9 +18,21 @@ class EnquiryController extends ResourceController
public function enquiryList() public function enquiryList()
{ {
try { try {
$data = $this->enquiryModel->findAll();
$agent_id = $this->request->getGet('agent_id');
$staff_id = $this->request->getGet('staff_id');
$enquiry_id = $this->request->getGet('enquiry_id');
if (!empty($agent_id)) {
$data = $this->enquiryModel->getEnquiry('AGENT', $agent_id);
} elseif (!empty($staff_id)) {
$data = $this->enquiryModel->getEnquiry('STAFF', $staff_id);
} elseif (!empty($enquiry_id)) {
$data = $this->enquiryModel->getEnquiry('ENQUIRY',$enquiry_id);
} else {
$data = $this->enquiryModel->getEnquiry('ALL');
}
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200); return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200);
} catch (\Exception $e) { } catch (\Exception $e) {

View File

@ -6,6 +6,7 @@ use CodeIgniter\RESTful\ResourceController;
use App\Models\RoleMasterModel; use App\Models\RoleMasterModel;
use App\Models\VehicleTypeMasterModel; use App\Models\VehicleTypeMasterModel;
use App\Models\InsurancePlanTypeMasterModel; use App\Models\InsurancePlanTypeMasterModel;
use App\Models\InsurersModel;
class MasterController extends ResourceController class MasterController extends ResourceController
@ -15,6 +16,7 @@ class MasterController extends ResourceController
protected $RoleMasterModel; protected $RoleMasterModel;
protected $VehicleTypeMasterModel; protected $VehicleTypeMasterModel;
protected $InsurancePlanTypeMasterModel; protected $InsurancePlanTypeMasterModel;
protected $InsurersModel;
public function __construct() public function __construct()
@ -23,6 +25,7 @@ class MasterController extends ResourceController
$this->RoleMasterModel = new RoleMasterModel(); $this->RoleMasterModel = new RoleMasterModel();
$this->VehicleTypeMasterModel = new VehicleTypeMasterModel(); $this->VehicleTypeMasterModel = new VehicleTypeMasterModel();
$this->InsurancePlanTypeMasterModel = new InsurancePlanTypeMasterModel(); $this->InsurancePlanTypeMasterModel = new InsurancePlanTypeMasterModel();
$this->InsurersModel = new InsurersModel();
} }
@ -66,6 +69,17 @@ class MasterController extends ResourceController
return $this->respond(['status' => 200,'message' => 'success','data' => $data]); return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
} }
public function getInsurersMaster()
{
$data = $this->InsurersModel->select('id,name')->where('is_active',1)->findAll();
if (!$data) {
return $this->failNotFound('No data found');
}
return $this->respond(['status' => 200,'message' => 'success','data' => $data]);
}
// public function getTravelStatusMaster() // public function getTravelStatusMaster()
// { // {

View File

@ -76,9 +76,10 @@ class PolicyController extends ResourceController
$insertData = [ $insertData = [
'quotation_id' => $data['quotation_id'], 'quotation_id' => $data['quotation_id'],
'insurer_name' => $data['insurer_name'], 'insured_name' => $data['insured_name'],
'premium_amount' => $data['premium_amount'], 'premium_amount' => $data['premium_amount'],
'policy_number' => $data['policy_number'], 'policy_number' => $data['policy_number'],
'payment_mode' => $data['payment_mode'],
'policy_pdf_file_name' => $pdfFileName, 'policy_pdf_file_name' => $pdfFileName,
'policy_payment_receipt_file_name' => $receiptFileName, 'policy_payment_receipt_file_name' => $receiptFileName,
'created_by' => $data['created_by'] ?? null 'created_by' => $data['created_by'] ?? null
@ -110,9 +111,10 @@ class PolicyController extends ResourceController
$updateData = [ $updateData = [
'quotation_id' => $data['quotation_id'] ?? $policy['quotation_id'], 'quotation_id' => $data['quotation_id'] ?? $policy['quotation_id'],
'insurer_name' => $data['insurer_name'] ?? $policy['insurer_name'], 'insured_name' => $data['insured_name'] ?? $policy['insured_name'],
'premium_amount' => $data['premium_amount'] ?? $policy['premium_amount'], 'premium_amount' => $data['premium_amount'] ?? $policy['premium_amount'],
'policy_number' => $data['policy_number'] ?? $policy['policy_number'], 'policy_number' => $data['policy_number'] ?? $policy['policy_number'],
'payment_mode' => $data['payment_mode'] ?? $policy['payment_mode'],
'updated_by' => $data['updated_by'] ?? null 'updated_by' => $data['updated_by'] ?? null
]; ];

View File

@ -18,8 +18,11 @@ class StaffController extends ResourceController
public function staffList() public function staffList()
{ {
try{ try{
$id = $this->request->getGet('manager_id');
$data = $this->StaffModel->select('partner_staff.* , R.role') $data = $this->StaffModel->select('partner_staff.* , R.role')
->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left') ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
->where('partner_staff.manager_id' , $id )
->findAll(); ->findAll();
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200); return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200);
@ -60,9 +63,10 @@ class StaffController extends ResourceController
'name' => $data['name'], 'name' => $data['name'],
'email' => $data['email'], 'email' => $data['email'],
'mobile' => $data['mobile'], 'mobile' => $data['mobile'],
'role_id' => $data['role_id'] ?? null, 'role_id' => $data['role_id'],
'emp_id' => $data['emp_id'] ?? null, 'manager_id' => $data['manager_id'],
'created_by' => $data['created_by'] ?? null 'emp_id' => $data['emp_id'],
'created_by' => $data['created_by']
]; ];
$this->StaffModel->insert($insertData); $this->StaffModel->insert($insertData);

View File

@ -13,9 +13,11 @@ class AgentModel extends Model
'email', 'email',
'mobile', 'mobile',
'address', 'address',
'agent_code',
'certificate_file_name', 'certificate_file_name',
'email_otp', 'email_otp',
'firebase_device_token', 'firebase_device_token',
'manager_id',
'is_active', 'is_active',
'created_by', 'created_by',
'created_on', 'created_on',

View File

@ -30,32 +30,44 @@ class EnquiryModel extends Model
protected $updatedField = 'updated_on'; protected $updatedField = 'updated_on';
public function getEnquiry($getBy = null , $agentId = null , $enquiryId = null) public function getEnquiry($getBy = null , $Id = null )
{ {
$data = $this->select( 'partner_enquiry.*, $data = $this->select('partner_enquiry.*,
VT.vehicle_type as vehicle_type, VT.vehicle_type as vehicle_type,
A.name as agent_name' A.name as agent_name,
) I.name as insurer_name,
->join('partner_vehicle_type_master VT', 'TV.id = partner_enquiry.vehicle_type_id ', 'left') S.name as assigned_to_name,
->join('partner_agent A', 'A.id = partner_enquiry.agent_id ', 'left') Q.id as quotation_id,
P.payment_mode,
->where('partner_enquiry.is_active', 1); P.insured_name,
P.premium_amount,
P.policy_number'
)
->join('partner_vehicle_type_master VT', 'VT.id = partner_enquiry.vehicle_type_id', 'left')
->join('partner_agent A', 'A.id = partner_enquiry.agent_id', 'left')
->join('insurers I', 'I.id = partner_enquiry.insurer_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_policy P', 'P.quotation_id = Q.id', 'left')
->where('partner_enquiry.is_active', 1)
->orderBy('partner_enquiry.created_on', 'ASC') ;
if($getBy == 'ALL' || $getBy == null) if($getBy == 'ALL')
{ {
return $data->findAll(); return $data->findAll();
} }
else if($getBy == 'AGENT') else if($getBy == 'AGENT')
{ {
return $data->where('agent_id',$agentId)->findAll(); return $data->where('partner_enquiry.agent_id',$Id)->findAll();
}
else if($getBy == 'STAFF')
{
return $data->where('partner_enquiry.assigned_to',$Id)->findAll();
} }
else if($getBy == 'ENQUERY') else if($getBy == 'ENQUERY')
{ {
return $data->where('partner_enquiry.id', $enquiryId)->first(); return $data->where('partner_enquiry.id', $Id)->first();
}
else if($getBy == 'APPROVAL')
{
return $data->whereIn('partner_enquiry.id', $enquiryId)->findAll();
} }
} }

View File

@ -0,0 +1,29 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class InsurersModel extends Model
{
protected $table = 'insurers';
protected $primaryKey = 'id';
protected $allowedFields = [
'type',
'category',
'addition_add_day',
'deletion_add_day',
'name',
'short_name',
'created_by',
'created_at',
'updated_by',
'updated_at',
'is_active',
'insurer_logo',
'is_multi_event'
];
protected $useTimestamps = false; // handled by DB with CURRENT_TIMESTAMP
}

View File

@ -9,9 +9,10 @@ class PolicyModel extends Model
protected $primaryKey = 'id'; protected $primaryKey = 'id';
protected $allowedFields = [ protected $allowedFields = [
'quotation_id', 'quotation_id',
'insurer_name', 'insured_name',
'premium_amount', 'premium_amount',
'policy_number', 'policy_number',
'payment_mode',
'policy_pdf_file_name', 'policy_pdf_file_name',
'policy_payment_receipt_file_name', 'policy_payment_receipt_file_name',
'is_active', 'is_active',

View File

@ -14,6 +14,7 @@ class StaffModel extends Model
'mobile', 'mobile',
'emp_id', 'emp_id',
'role_id', 'role_id',
'manager_id',
'email_otp', 'email_otp',
'is_active', 'is_active',
'created_by', 'created_by',