From 2d59886d45b75e9901cc9909099dc4ca3f05daa7 Mon Sep 17 00:00:00 2001 From: Srinivas-Saravanan Date: Thu, 16 Jan 2025 14:02:13 +0530 Subject: [PATCH] FEAT_SI_MAPPING_SRINIVAS --- app/Config/Routes.php | 7 + app/Controllers/ClientController.php | 109 +++++++ app/Models/ClientPolicyModel.php | 4 + app/Models/SIMappingModel.php | 22 ++ app/Views/client_list.php | 4 +- app/Views/client_policy.php | 17 +- app/Views/rack_rate_auto_si.php | 2 +- app/Views/si_mapping.php | 466 +++++++++++++++++++++++++++ 8 files changed, 626 insertions(+), 5 deletions(-) create mode 100644 app/Models/SIMappingModel.php create mode 100644 app/Views/si_mapping.php diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 5fa8c80..a92e5ad 100755 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -337,6 +337,13 @@ $routes->group("/util", ["filter" => "authMVC"], function ($routes) { $routes->get('transformMailContent', 'LeadsController::transformMailContent'); $routes->get('getRackRateSIAmountAndAutoSiDataForAutoSI', 'ClientController::getRackRateSIAmountAndAutoSiDataForAutoSI'); $routes->post('createAutoSI', 'ClientController::createAutoSI'); + $routes->get('getPolicySIRacketData','ClientController::getPolicySIRacketData'); + $routes->get('fetchPolicySIDataForParentPolicy','ClientController::fetchPolicySIDataForParentPolicy'); + $routes->post('saveSIMapping','ClientController::saveSIMapping'); + $routes->post('checkSIMapping','ClientController::checkSIMapping'); + $routes->post('deleteMapping','ClientController::deleteMapping'); + + }); $routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) { diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index afeb733..efc2ff5 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -40,6 +40,7 @@ use App\Models\PolicyTransactionStatusModel; use App\Models\VehicleModel; use App\Models\LeadsModel; use App\Models\AutoSIModel; +use App\Models\SIMappingModel; use App\Controllers\EmpDataServiceController; use App\Controllers\GoogleDriveController; @@ -82,6 +83,7 @@ class ClientController extends AdminController protected $vehicleModel; protected $leadsModel; protected $AutoSIModel; + protected $SIMappingModel; @@ -119,6 +121,7 @@ class ClientController extends AdminController $this->vehicleModel = new VehicleModel(); $this->leadsModel = new LeadsModel(); $this->AutoSIModel = new AutoSIModel(); + $this->SIMappingModel = new SIMappingModel(); } //-------------------------------------------------------------------------------------------------------- @@ -4038,4 +4041,110 @@ class ClientController extends AdminController return $this->respond(['status' => false, 'code' => 404, 'message' => 'No data to found. Client Policy Not found'], 200); } } + + public function getPolicySIRacketData(){ + $base_policy = $this->request->getGet('client_base_policy_id'); + $policy_data = $this->clientPolicyModel->getBasePolicyByPrimaryKey($base_policy); + // log_message('error','data '.$base_policy); + $si_amounts = $this->policyPremium2Model->where('client_id',$policy_data['client_id'])->where('client_policy_id',$policy_data['id'])->findAll(); + + // log_message('error','Policy data for first'.json_encode($si_amounts)); + return $this->respond(['status' => true,'code' => 200,'data' => $si_amounts ], 200); + } + + public function fetchPolicySIDataForParentPolicy(){ + $client_policy_id = $this->request->getGet('client_policy_id'); + $policy_data = $this->clientPolicyModel->getBasePolicyByPrimaryKey($client_policy_id); + $si_amounts = $this->policyPremium2Model->where('client_id',$policy_data['client_id'])->where('client_policy_id',$policy_data['id'])->findAll(); + // log_message('error','Policy data for second'.json_encode($policy_data)); + return $this->respond(['status' => true,'code' => 200,'data' => $si_amounts ], 200); + + } + + public function saveSIMapping(){ + $formData = $_POST; + log_message('error','received data'.json_encode($_POST)); + // print_rr($formData); + try{ + $si_mapping_array = $formData['si_mapping']; + foreach($si_mapping_array as $mappings){ + log_message('error','si mapping form data '.json_encode($mappings)); + if(isset($mappings['pk']) && $mappings['pk'] != ''){ + $data = [ + 'id' => $mappings['pk'], + 'policy_id' => $formData['client_policy_id'], + 'policy_si_amounts' => json_encode($mappings['policy_si_amounts']), + 'base_policy_si_amount' => $mappings['base_policy_si_amount'], + 'base_policy_id' => $formData['client_base_policy_id'], + 'updated_by' => get_session_userid(), + 'is_active' => 1 + ];log_message('error','the data for update'.json_encode($data)); + $result = $this->SIMappingModel->save($data); + + }else{ + $data = [ + 'policy_id' => $formData['client_policy_id'], + 'policy_si_amounts' => json_encode($mappings['policy_si_amounts']), + 'base_policy_si_amount' => $mappings['base_policy_si_amount'], + 'base_policy_id' => $formData['client_base_policy_id'], + 'created_by' => get_session_userid(), + 'is_active' => 1 + ];log_message('error','the data for insert'.json_encode($data)); + $result = $this->SIMappingModel->save($data); + + } + + } + + if ($result){ + return $this->respond(['status' => true,'code' => 200],200); + } + } + catch (\Exception $e) { + $this->myLogger->logme('error' , $e->getMessage()); + return $this->respond(['status' => false,'code' => 404,'message'=>'Check for Empty Fields'],200); + } + } + + public function checkSIMapping(){ + $policy_id = $this->request->getPost('client_policy_id'); + $base_policy_id = $this->request->getPost('client_base_policy_id'); + + $results = $this->SIMappingModel->where('policy_id',$policy_id)->where('base_policy_id',$base_policy_id)->where('is_active',1)->findAll(); + if($results){ + $response_array = []; + $count = 0; + foreach($results as $result){ + $response_array[$count] = [ + 'pk' => $result['id'], + 'policy_si_amounts' => $result['policy_si_amounts'], + 'base_policy_si_amount' => $result['base_policy_si_amount'] + ]; + $count+=1; + } + return $this->respond(['status' => true,'code' => 200,'data'=> $response_array],200); + + }else{ + $message = 'no data found'; + return $this->respond(['status' => false, 'code' => 350,'data'=>$message],200); + } + + } + + public function deleteMapping(){ + $primary_key = $this->request->getPost('pk'); + + try{ + if(isset($primary_key) && $primary_key != ''){ + $result = $this->SIMappingModel->where('id',$primary_key) ->set('is_active',0)->update(); + } + if($result){ + return $this->respond(['status'=> true,'code'=>200,'message'=>'Mapping Deleted Successfully'],200); + } + } + catch(\Exception $e){ + $this->myLogger->logme('error',$e->getMessage()); + return $this->respond(['status'=> false,'code'=>404,'message'=>'Mapping Deletion Failed'],200); + } + } } diff --git a/app/Models/ClientPolicyModel.php b/app/Models/ClientPolicyModel.php index 5c030a0..58858cf 100755 --- a/app/Models/ClientPolicyModel.php +++ b/app/Models/ClientPolicyModel.php @@ -220,6 +220,10 @@ class ClientPolicyModel extends Model return $query->getRow(); } + public function getBasePolicyByPrimaryKey($id){ + return $this->db->table('client_policy')->where('id',$id)->get()->getRowArray(); + } + public function getDepositData($clientId, $insurerId) { diff --git a/app/Models/SIMappingModel.php b/app/Models/SIMappingModel.php new file mode 100644 index 0000000..44f9735 --- /dev/null +++ b/app/Models/SIMappingModel.php @@ -0,0 +1,22 @@ +

Client List

-
+ diff --git a/app/Views/client_policy.php b/app/Views/client_policy.php index 7afb5b9..73891ee 100755 --- a/app/Views/client_policy.php +++ b/app/Views/client_policy.php @@ -227,6 +227,7 @@ +