From e758e4fdaae7e7c2f5cddd9f27d0af91b01c3fcb Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 19 Sep 2025 09:59:11 +0530 Subject: [PATCH] CHANGE_BDS --- app/Config/Routes.php | 1 + app/Controllers/ClientController.php | 101 +++++++- .../policy_transaction_inception_form.php | 240 ++++++++++++++---- .../policy_transaction_inception_list.php | 2 +- 4 files changed, 278 insertions(+), 66 deletions(-) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 05c618bf..a9cd0ae2 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -329,6 +329,7 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get("getCDAccNoByClientAndInsurer/(:any)", "ClientController::getCDAccNoByClientAndInsurer/$1"); $routes->post("createClientWithMinimalData", "ClientController::createClientWithMinimalData"); $routes->post("createVehicleWithMinimalData", "ClientController::createVehicleWithMinimalData"); + $routes->post("createVehicleWithMinimalDataForBDS", "ClientController::createVehicleWithMinimalDataForBDS"); $routes->post("createClientBranchWithMinamalData", "ClientController::createClientBranchWithMinamalData"); $routes->post("createClientPolicyWithMinimalData", "ClientController::createClientPolicyWithMinimalData"); $routes->post("createCDAccountNumberUsingAjax", "MasterController::createCDAccountNumberUsingAjax"); diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 95642959..37bfc199 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -4619,25 +4619,78 @@ class ClientController extends AdminController } } - public function createVehicleWithMinimalData2() + public function createVehicleWithMinimalDataForBDS() { $data = $this->request->getPost(); - + // print_r($data); die; if (isset($data['client_name']) && !empty($data['client_name'])) { - $this->clientModel->insert(); + $client_type = $postData['client_type'] ?? null; - } else { + if ($client_type == 2) { - $vehicle_insert = $this->vehicleModel->insert($data); + $client_data = [ + 'client_type' => $data['client_type'], + 'client_name' => $data['client_name'], + 'email' => $data['short_name'] ?? $data['client_name'], + 'phone' => $data['mobile'], + 'client_code' => generate_client_code() + ]; + + $client_insert = $this->clientModel->insert($client_data); + } else if ($client_type == 1) { + + $client_data = [ + 'client_type' => $data['client_type'], + 'client_name' => $data['client_name'], + 'short_name' => $data['short_name'] ?? $data['client_name'], + 'client_code' => generate_client_code(), + 'entity_type_id' => 2 + ]; + + $client_insert = $this->clientModel->insert($client_data); + } + + // Additional logic for non-individual clients (client_type != 2) + if ($client_type != 2) { + $unit[] = $data['short_name'] . '-' . 001; + $branch_data = [ + 'client_id' => $client_insert, + 'branch_name' => $data['branch_name'], + 'branch_code' => 001, + 'gst' => $data['gst'], + 'units' => json_encode($unit) ?? null, + ]; + + $branch_insert = $this->clientBranchModel->insert($branch_data); + if ($branch_insert) { + $contact_data = [ + 'ref_id' => $branch_insert, + 'contact_type' => 'client', + 'name' => $data['name'], + 'email' => $data['email'], + ]; + $this->levelContactModel->insert($contact_data); + } + } + + $vehicle_data = [ + 'vehicle_no' => $data['vehicle_no'], + 'type' => $data['type'], + 'rc' => $data['rc'], + 'branch_id' => $data['branch_id'] ?? null, + 'owner' => $client_insert, + ]; + + $vehicle_insert = $this->vehicleModel->insert($vehicle_data); if ($vehicle_insert) { - + // $vehicles = $this->vehicleModel->where('is_active', 1)->findAll(); $vehicles = $this->vehicleModel->select('vehicle.*, clients.client_type') - ->join('clients', 'clients.id=vehicle.owner') - ->where('vehicle.is_active', 1) - ->findAll(); + ->join('clients', 'clients.id=vehicle.owner') + ->where('vehicle.is_active', 1) + ->findAll(); return $this->respond([ 'status' => true, @@ -4646,12 +4699,38 @@ class ClientController extends AdminController 'owner_branch_id' => $data['branch_id'] ?? null, 'owner_type' => $data['Owner_type'], 'vehicles' => $vehicles, - 'message' => 'Vehicle created successfully - ' + 'message' => 'Vehicle created successfully' ], 200); } else { return $this->respond(['status' => false, 'message' => 'Failed to created vehicle'], 200); } + } else if (isset($data['owner']) && !empty($data['owner'])) { + + $vehicle_data = [ + 'vehicle_no' => $data['vehicle_no'], + 'type' => $data['type'], + 'rc' => $data['rc'], + 'branch_id' => $data['branch_id'] ?? null, + 'owner' => $data['owner'], + ]; + + $vehicle_insert = $this->vehicleModel->insert($vehicle_data); + + if ($vehicle_insert) { + + return $this->respond([ + 'status' => true, + 'vehicle_id' => $vehicle_insert, + 'data' => $data, + 'message' => 'Vehicle created successfully' + ], 200); + + } else { + return $this->respond(['status' => false, 'message' => 'Failed to created vehicle'], 200); + } + } else { + + return $this->respond(['status' => false, 'message' => 'Failed to created vehicle'], 200); } } diff --git a/app/Views/policy_transaction_inception_form.php b/app/Views/policy_transaction_inception_form.php index 7e4ed02c..ff28eceb 100644 --- a/app/Views/policy_transaction_inception_form.php +++ b/app/Views/policy_transaction_inception_form.php @@ -1390,8 +1390,12 @@ $(document).ready(function(){ // var myModal = new bootstrap.Modal(document.getElementById('vehicle_modal')); // myModal.show(); - // $(this).val('').select2(); + $(this).val('').select2(); + $('#client_type').removeClass('readonly-select ');; appendVehicleForm(); + }else{ + $('#client_type').prop('disabled', true); + $('#client_type').addClass('readonly-select '); } }) @@ -1483,6 +1487,7 @@ $(document).ready(function(){ $('#policy_type_id').change(function() { + $('#vehicle_no').val("").select2(); $('#client_type').val(''); $('#client_id').val('').select2(); $('#client_branch_id').val('').select2(); @@ -2951,12 +2956,12 @@ function appendOwner(data) { text: 'Select Owner' })); - $('#owner').append( - $('