From a8410eef37b1cff38feb23846f3eda402f8cc2d8 Mon Sep 17 00:00:00 2001 From: velz Date: Mon, 15 Dec 2025 14:32:46 +0530 Subject: [PATCH] FIX_VEHICLE_TYPE_ISSUE --- app/Controllers/PolicyController.php | 73 +++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/app/Controllers/PolicyController.php b/app/Controllers/PolicyController.php index b3bb805..94bf4c8 100644 --- a/app/Controllers/PolicyController.php +++ b/app/Controllers/PolicyController.php @@ -12,6 +12,57 @@ class PolicyController extends ResourceController protected $QuotationModel; protected $EnquiryModel; + protected $tier1VehicleTypeMap = [ + + /* ---------------- Two Wheeler ---------------- */ + 'two wheeler' => 'Two Wheeler', + '2 wheeler' => 'Two Wheeler', + '2w' => 'Two Wheeler', + 'motorcycle' => 'Two Wheeler', + 'bike' => 'Two Wheeler', + 'scooter' => 'Two Wheeler', + 'moped' => 'Two Wheeler', + + /* ---------------- Four Wheeler ---------------- */ + 'four wheeler' => 'Four Wheeler', + '4 wheeler' => 'Four Wheeler', + '4w' => 'Four Wheeler', + 'private car' => 'Four Wheeler', + 'car' => 'Four Wheeler', + 'jeep' => 'Four Wheeler', + + /* ---------------- Goods Vehicle ---------------- */ + 'goods vehicle' => 'Goods Vehicle', + 'good vehicle' => 'Goods Vehicle', + 'goods carrier' => 'Goods Vehicle', + 'goods carrying vehicle' => 'Goods Vehicle', + 'cargo vehicle' => 'Goods Vehicle', + 'lorry' => 'Goods Vehicle', + 'truck' => 'Goods Vehicle', + 'transport vehicle goods'=> 'Goods Vehicle', + + /* ---------------- Commercial Vehicle ---------------- */ + 'commercial vehicle' => 'Commercial Vehicle', + 'commercial car' => 'Commercial Vehicle', + 'taxi' => 'Commercial Vehicle', + 'cab' => 'Commercial Vehicle', + 'hire vehicle' => 'Commercial Vehicle', + 'passenger commercial' => 'Commercial Vehicle', + + /* ---------------- Bus ---------------- */ + 'bus' => 'Bus', + 'passenger bus' => 'Bus', + 'school bus' => 'Bus', + 'private bus' => 'Bus', + 'stage carriage' => 'Bus', + + /* ---------------- Tractor ---------------- */ + 'tractor' => 'Tractor', + 'agricultural tractor' => 'Tractor', + 'farm tractor' => 'Tractor', + ]; + + public function __construct() { $this->PolicyModel = new PolicyModel(); @@ -477,6 +528,15 @@ class PolicyController extends ResourceController $data = $readDoc['data']; + $vehicleType = $data['vehicle']['vehicle_type'] ?? null; + if($vehicleType !== null) + { + $vehicleType = $this->resolveVehicleTypeTier1($vehicleType); + } + else + { + $vehicleType = 'UN_IDEN_DOC' + } //update data in to policy table $policyData['policy_number'] = $data['policy']['policy_number'] ?? null; $policyData['issued_date'] = $data['policy']['issue_date'] ?? null; @@ -501,7 +561,7 @@ class PolicyController extends ResourceController $policyData['make'] = $data['vehicle']['make'] ?? null; $policyData['model'] = $data['vehicle']['model'] ?? null; $policyData['cubic_capacity'] = $data['vehicle']['cubic_capacity'] ?? null; - $policyData['vehicle_type'] = $data['vehicle']['vehicle_type'] ?? null; + $policyData['vehicle_type'] = $vehicleType; $policyData['rc_no'] = $data['vehicle']['reg_no'] ?? null; @@ -953,6 +1013,17 @@ class PolicyController extends ResourceController } + public function resolveVehicleTypeTier1(string $incoming) + { + + $value = strtolower(trim($incoming)); + $value = preg_replace('/\s+/', ' ', $value); // normalize spaces + + return $this->phraseMap[$value] ?? 'UN_IDEN_TYPE'; + } + + +