From 4541afe9cc2ea6b3b5353fe475cf9c65dc6f82be Mon Sep 17 00:00:00 2001 From: Gowtham M Date: Wed, 3 Sep 2025 12:42:28 +0530 Subject: [PATCH] Added manager id in agent and staff : GWM --- app/Config/Routes.php | 9 ++++-- app/Controllers/AgentController.php | 11 +++++-- app/Controllers/EnquiryController.php | 16 ++++++++-- app/Controllers/MasterController.php | 14 +++++++++ app/Controllers/PolicyController.php | 6 ++-- app/Controllers/StaffController.php | 10 +++++-- app/Models/AgentModel.php | 2 ++ app/Models/EnquiryModel.php | 42 +++++++++++++++++---------- app/Models/InsurersModel.php | 29 ++++++++++++++++++ app/Models/PolicyModel.php | 3 +- app/Models/StaffModel.php | 1 + 11 files changed, 115 insertions(+), 28 deletions(-) create mode 100644 app/Models/InsurersModel.php diff --git a/app/Config/Routes.php b/app/Config/Routes.php index b2d3ec9..85f7be0 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -27,13 +27,14 @@ $routes->group('api', ['filter' => 'appSignature'], function ($routes) { //api's with token - $routes->group('api', ['filter' => ["jwtAuth","appSignature"] ], function ($routes) { +// $routes->group('api', ['filter' => ["jwtAuth","appSignature"] ], function ($routes) { //Master $routes->get('master/getRoleMaster', 'MasterController::getRoleMaster'); $routes->get('master/getVehicleTypeMaster', 'MasterController::getVehicleTypeMaster'); $routes->get('master/getInsurancePlanTypeMaster', 'MasterController::getInsurancePlanTypeMaster'); + $routes->get('master/getInsurersMaster', 'MasterController::getInsurersMaster'); //Agent $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/changeStaffStatus', 'StaffController::changeStaffStatus'); - }); + + //Enquiry + $routes->get('enquiry/enquiryList', 'EnquiryController::enquiryList'); + +// }); diff --git a/app/Controllers/AgentController.php b/app/Controllers/AgentController.php index e1d67ce..49cf29a 100644 --- a/app/Controllers/AgentController.php +++ b/app/Controllers/AgentController.php @@ -22,7 +22,9 @@ class AgentController extends ResourceController { 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); @@ -77,9 +79,11 @@ class AgentController extends ResourceController 'name' => $data['name'], 'email' => $data['email'], 'mobile' => $data['mobile'], - 'address' => $data['address'] ?? null, + 'agent_code' => $data['agent_code'], + 'address' => $data['address'], + 'manager_id' => $data['manager_id'], 'certificate_file_name' => $certificateFileName, - 'created_by' => $data['created_by'] ?? null + 'created_by' => $data['created_by'] ]; $this->AgentModel->insert($insertData); @@ -117,6 +121,7 @@ class AgentController extends ResourceController 'email' => $data['email'] ?? null, 'mobile' => $data['mobile'] ?? null, 'address' => $data['address'] ?? null, + 'agent_code' => $data['agent_code'] ?? null, 'updated_by' => $data['updated_by'] ?? null, ]; diff --git a/app/Controllers/EnquiryController.php b/app/Controllers/EnquiryController.php index 1e54761..9ecd957 100644 --- a/app/Controllers/EnquiryController.php +++ b/app/Controllers/EnquiryController.php @@ -18,9 +18,21 @@ class EnquiryController extends ResourceController public function enquiryList() { 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); } catch (\Exception $e) { diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index 5199468..f97cec8 100644 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -6,6 +6,7 @@ use CodeIgniter\RESTful\ResourceController; use App\Models\RoleMasterModel; use App\Models\VehicleTypeMasterModel; use App\Models\InsurancePlanTypeMasterModel; +use App\Models\InsurersModel; class MasterController extends ResourceController @@ -15,6 +16,7 @@ class MasterController extends ResourceController protected $RoleMasterModel; protected $VehicleTypeMasterModel; protected $InsurancePlanTypeMasterModel; + protected $InsurersModel; public function __construct() @@ -23,6 +25,7 @@ class MasterController extends ResourceController $this->RoleMasterModel = new RoleMasterModel(); $this->VehicleTypeMasterModel = new VehicleTypeMasterModel(); $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]); } + 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() // { diff --git a/app/Controllers/PolicyController.php b/app/Controllers/PolicyController.php index 16c8e15..ad7f3d2 100644 --- a/app/Controllers/PolicyController.php +++ b/app/Controllers/PolicyController.php @@ -76,9 +76,10 @@ class PolicyController extends ResourceController $insertData = [ 'quotation_id' => $data['quotation_id'], - 'insurer_name' => $data['insurer_name'], + 'insured_name' => $data['insured_name'], 'premium_amount' => $data['premium_amount'], 'policy_number' => $data['policy_number'], + 'payment_mode' => $data['payment_mode'], 'policy_pdf_file_name' => $pdfFileName, 'policy_payment_receipt_file_name' => $receiptFileName, 'created_by' => $data['created_by'] ?? null @@ -110,9 +111,10 @@ class PolicyController extends ResourceController $updateData = [ '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'], 'policy_number' => $data['policy_number'] ?? $policy['policy_number'], + 'payment_mode' => $data['payment_mode'] ?? $policy['payment_mode'], 'updated_by' => $data['updated_by'] ?? null ]; diff --git a/app/Controllers/StaffController.php b/app/Controllers/StaffController.php index cc8f1e5..89ff2a9 100644 --- a/app/Controllers/StaffController.php +++ b/app/Controllers/StaffController.php @@ -18,8 +18,11 @@ class StaffController extends ResourceController public function staffList() { try{ + $id = $this->request->getGet('manager_id'); + $data = $this->StaffModel->select('partner_staff.* , R.role') ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left') + ->where('partner_staff.manager_id' , $id ) ->findAll(); return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200); @@ -60,9 +63,10 @@ class StaffController extends ResourceController 'name' => $data['name'], 'email' => $data['email'], 'mobile' => $data['mobile'], - 'role_id' => $data['role_id'] ?? null, - 'emp_id' => $data['emp_id'] ?? null, - 'created_by' => $data['created_by'] ?? null + 'role_id' => $data['role_id'], + 'manager_id' => $data['manager_id'], + 'emp_id' => $data['emp_id'], + 'created_by' => $data['created_by'] ]; $this->StaffModel->insert($insertData); diff --git a/app/Models/AgentModel.php b/app/Models/AgentModel.php index afbfb64..3332063 100644 --- a/app/Models/AgentModel.php +++ b/app/Models/AgentModel.php @@ -13,9 +13,11 @@ class AgentModel extends Model 'email', 'mobile', 'address', + 'agent_code', 'certificate_file_name', 'email_otp', 'firebase_device_token', + 'manager_id', 'is_active', 'created_by', 'created_on', diff --git a/app/Models/EnquiryModel.php b/app/Models/EnquiryModel.php index a03169f..8a1d2b2 100644 --- a/app/Models/EnquiryModel.php +++ b/app/Models/EnquiryModel.php @@ -30,32 +30,44 @@ class EnquiryModel extends Model 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, - A.name as agent_name' - ) - ->join('partner_vehicle_type_master VT', 'TV.id = partner_enquiry.vehicle_type_id ', 'left') - ->join('partner_agent A', 'A.id = partner_enquiry.agent_id ', 'left') - - ->where('partner_enquiry.is_active', 1); + A.name as agent_name, + I.name as insurer_name, + S.name as assigned_to_name, + Q.id as quotation_id, + P.payment_mode, + 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(); } 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') { - return $data->where('partner_enquiry.id', $enquiryId)->first(); - } - else if($getBy == 'APPROVAL') - { - return $data->whereIn('partner_enquiry.id', $enquiryId)->findAll(); + return $data->where('partner_enquiry.id', $Id)->first(); } } diff --git a/app/Models/InsurersModel.php b/app/Models/InsurersModel.php new file mode 100644 index 0000000..e9c4d56 --- /dev/null +++ b/app/Models/InsurersModel.php @@ -0,0 +1,29 @@ +