From 5aac785f21ef5efae6fa82d70513742a8cf5dda0 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 28 Mar 2025 11:30:58 +0530 Subject: [PATCH] FIX_POLICY_DORPDOWN : RV --- app/Controllers/ClientController.php | 11 +++++-- app/Controllers/LeadsController.php | 48 ++++++++++++++++++++++++++++ app/Views/leads_form_handler.php | 26 +++++++++++---- 3 files changed, 77 insertions(+), 8 deletions(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 5e60ec05..0a096c82 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -3675,6 +3675,7 @@ class ClientController extends AdminController } } + //Function for get all client, branch and policy data public function getClientAndBranchAndPolicy() { // ---------for client----------------------------------------------------------------------------- @@ -3725,6 +3726,7 @@ class ClientController extends AdminController policy_type.iep, policy_type.itp, policy_type.bap, + policy_type.allocg, DATE_FORMAT(client_policy.policy_start_date, '%d/%m/%Y') as policy_start_date, DATE_FORMAT(client_policy.policy_end_date, '%d/%m/%Y') as policy_end_date ") @@ -4739,9 +4741,14 @@ class ClientController extends AdminController // $data = $this->leadsModel->where('leads.id', 125)->where('leads.is_active', 1)->first(); // $RFQdata = $RFQModel->getRFQTableDataWithLeadIDAndType(125, 2); - // Kint::dump($RFQdata['json']); + // // Kint::dump($RFQdata); // $returnData = $LeadsController->getPlacementJson($data); - // $this->clientPolicyModel->where('id', 6050)->set('placement_json', $returnData)->update(); + // Kint::dump($returnData); + // $policy_terms = $LeadsController->convertNonEbQCRJsonToPolicyTerms(json_decode($returnData, true)); + // Kint::dump($policy_terms); + + // // $this->clientPolicyModel->where('id', 6050)->set('placement_json', $returnData)->update(); + // $this->clientPolicyModel->where('id', 6050)->set('policy_terms', $policy_terms)->update(); // dd($returnData); } diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index 6d37a3b1..503531df 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -2302,6 +2302,7 @@ class LeadsController extends BaseController $placementJson = $this->getPlacementJson($data); if ($placementJson) { $client_policy_data['placement_json'] = $placementJson; + $client_policy_data['policy_terms'] = $this->convertNonEbQCRJsonToPolicyTerms(json_decode($placementJson, true)); } } @@ -2401,6 +2402,53 @@ class LeadsController extends BaseController return json_encode($terms_array); } + public function convertNonEbQCRJsonToPolicyTerms($allTableData) + { + + if (!empty($allTableData)) { + + array_pop($allTableData); // Remove the last item from the array + $terms_array = []; + + foreach ($allTableData as $TableIndex => $tableGroup) { + + if ($TableIndex == 0) { + continue; + } + + foreach ($tableGroup['table_data']['data'] as $dataRow) { + $item = $dataRow['items'] ?? ''; + + foreach ($dataRow['data'] as $cellData) { + $parentth = $cellData['parentth'] ?? ''; + $subth = $cellData['subth'] ?? ''; + $value = $cellData['display_content'] ?? ''; + + // Skip unwanted keys + if (in_array($parentth, ['SNO', 'Particulars', 'Action']) || $subth === 'Quote Asked') { + continue; + } + + // Skip if item matches parentth + if ($item === $parentth) { + continue; + } + + // Set the value directly, overwriting with latest encountered + if (!empty($item) && !empty($value)) { + $terms_array[$item] = $value; + } + } + } + } + + return json_encode($terms_array); + + } else { + return null; + } + } + public function featchClientPolicyFromLead($client_id, $branch_id, $lead_id) { $data = $this->leadsModel->where('leads.id', $lead_id)->where('leads.is_active', 1)->first(); diff --git a/app/Views/leads_form_handler.php b/app/Views/leads_form_handler.php index 05fe57f2..93a82b96 100644 --- a/app/Views/leads_form_handler.php +++ b/app/Views/leads_form_handler.php @@ -85,6 +85,7 @@ if (isset($selected_lead_type)) { var policy_list = ''; // local variable for storing the client policy list var temp_client_id = 0; var temp_branch_id = 0; + var selected_lead_form_type = ; // select2 document ready $(document).ready(function() { @@ -188,7 +189,9 @@ if (isset($selected_lead_type)) { } function appendRenewalPolicies(data) { + console.log('appendRenewalPolicies', data); + console.log('selected_lead_form_type', selected_lead_form_type); $('#source_policy_id').empty(); @@ -196,16 +199,27 @@ if (isset($selected_lead_type)) { value: '', text: 'Select Policy', })); - + $.each(data, function(index, item) { + let shouldAppend = false; - var option = $('