diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 05ee1a6..0d7bbcd 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -2071,9 +2071,12 @@ class ClientController extends AdminController } } + // ---------------- POLICY TREMS ------------------------------------------------------------------------------------ + public function policyGMCTerms() { try { + // echo "
";
             // print_r($this->request->getPost());die;
             $this->myLogger->logme('error', 'Terms CREATE function called');
@@ -2083,7 +2086,6 @@ class ClientController extends AdminController
 
             $data['sum_insured']   = str_replace(',', '', $this->request->getPost("sum_insured"));
             $data['family_floater']   = $this->request->getPost("family_floater") ? $this->request->getPost("family_floater") : 0;
-            // $data['corporatebuffer'] = $this->request->getPost("corporatebuffer") ? $this->request->getPost("corporatebuffer") : 0;
             $data['family_floaters'] = $this->request->getPost("family_floaters") ?? [];
 
             $data['age_ratio']['self']['min'] =  $this->request->getPost("self_min_age") ? $this->request->getPost("self_min_age") : 0;
@@ -2101,12 +2103,9 @@ class ClientController extends AdminController
             $data['is_payable_employee']['elders'] = $this->request->getPost("is_payable_employee_for_elders") ? 1 : 0;
 
 
-
-            // if (!in_array("self", $data['family_floaters'])) {
-            //     array_unshift($data['family_floaters'], "self");
-            // }
             $temp_family_floaters = $data['family_floaters'];
             $data['family_floaters'] = [];
+
             if (in_array("self", $temp_family_floaters) == 1) {
                 $data['family_floaters']['self'] = 1;
             } else {
@@ -2119,8 +2118,6 @@ class ClientController extends AdminController
                 $data['family_floaters']['spouse'] = 0;
             }
 
-            // $data['family_floaters']['either-parents-pil'] =0;
-
             if (count($temp_family_floaters)) {
                 $children_value = 0;
                 $value = 0;
@@ -2179,79 +2176,55 @@ class ClientController extends AdminController
             // print_r($data);die;
 
             $data['waiverofpreexistingdiseases']   = $this->request->getPost("waiverofpreexistingdiseases");
-            if ($data['waiverofpreexistingdiseases'] == 1) {
-                $data['maternitycoverage']   = str_replace(',', '', $this->request->getPost("maternitycoverage"));
-                $data['twindelivery']   = str_replace(',', '', $this->request->getPost("twindelivery"));
-                $data['preandpostnatal']   = str_replace(',', '', $this->request->getPost("preandpostnatal"));
-                $data['babyday1cover']   = str_replace(',', '', $this->request->getPost("babyday1cover"));
-            } else {
-                $data['maternitycoverage']   = "";
-                $data['twindelivery']   = "";
-                $data['preandpostnatal']   = "";
-                $data['babyday1cover']   = "";
-            }
-
-            $data['9monthwaitingperiodwaived'] = str_replace(',', '', $this->request->getPost("9monthwaitingperiodwaived"));
-            $data['coverfromthedateofjoining'] = str_replace(',', '', $this->request->getPost("coverfromthedateofjoining"));
             $data['waiverof1,2,3&4thyearexclusions'] = $this->request->getPost("waiverof1,2,3&4thyearexclusions");
             $data['waiverof30dayswaitingperiod'] = $this->request->getPost("waiverof30dayswaitingperiod");
+            $data['waiver_of_90_days_waiting_period'] = $this->request->getPost("waiver_of_90_days_waiting_period");
+            $data['waiver_of_other_waiting_periods'] = $this->request->getPost("waiver_of_other_waiting_periods");
+            $data['maternity_benefit'] = $this->request->getPost("maternity_benefit");
+            $data['9monthwaitingperiodwaived'] = str_replace(',', '', $this->request->getPost("9monthwaitingperiodwaived"));
+            $data['maternitycoverage']   = str_replace(',', '', $this->request->getPost("maternitycoverage"));
+            $data['twindelivery']   = str_replace(',', '', $this->request->getPost("twindelivery"));
+            $data['well_baby_well_mother_expenses']   = str_replace(',', '', $this->request->getPost("well_baby_well_mother_expenses"));
+            $data['preandpostnatal']   = str_replace(',', '', $this->request->getPost("preandpostnatal"));
+            $data['infertility_treatment_coverage']   = str_replace(',', '', $this->request->getPost("infertility_treatment_coverage"));
+            $data['babyday1cover']   = str_replace(',', '', $this->request->getPost("babyday1cover"));
+            $data['coverfromthedateofjoining'] = str_replace(',', '', $this->request->getPost("coverfromthedateofjoining"));
+            $data['mid_term_addition_of_new_born_newly_wedded_spouse'] = str_replace(',', '', $this->request->getPost("mid_term_addition_of_new_born_newly_wedded_spouse"));
             $data['prehospitalizationcover'] = str_replace(',', '', $this->request->getPost("prehospitalizationcover"));
-            // $data['posthospitalizationcover'] =$this->request->getPost("posthospitalizationcover");
+            $data['posthospitalizationcover'] =$this->request->getPost("posthospitalizationcover");
             $data['congenitaldiseasesinternal'] = str_replace(',', '', $this->request->getPost("congenitaldiseasesinternal"));
-            // $data['congenitaldiseasesexternal'] =$this->request->getPost("congenitaldiseasesexternal");
+            $data['congenitaldiseasesexternal'] = str_replace(',', '', $this->request->getPost("congenitaldiseasesexternal"));
             $data['copayzonewisecopay'] = $this->request->getPost("copayzonewisecopay");
-            $data['co_pay_details'] = str_replace(',', '', $this->request->getPost("co_pay_details"));
-
-            $data['bioabsorbablestenttoriclensmultifocallens'] = $this->request->getPost("bioabsorbablestenttoriclensmultifocallens");
             $data['roomrentlimit'] = str_replace(',', '', $this->request->getPost("roomrentlimit"));
+            $data['icu_limit'] = str_replace(',', '', $this->request->getPost("icu_limit"));
             $data['proportionatedeductionclause'] = str_replace(',', '', $this->request->getPost("proportionatedeductionclause"));
-            // $data['nursingallowance'] =str_replace(',', '',$this->request->getPost("nursingallowance"));
             $data['ailmentcapping'] = $this->request->getPost("ailmentcapping");
             $data['ailment_capping_details'] = str_replace(',', '', $this->request->getPost("ailment_capping_details"));
-
+            $data['corporatebuffer'] = str_replace(',', '', $this->request->getPost("corporatebuffer"));
+            $data['non_admissible_contingency_corporate_buffer'] = str_replace(',', '', $this->request->getPost("non_admissible_contingency_corporate_buffer"));
             $data['ambulancecharges'] = str_replace(',', '', $this->request->getPost("ambulancecharges"));
             $data['airambulance'] = str_replace(',', '', $this->request->getPost("airambulance"));
-            $data['familytransportationbenefit'] = str_replace(',', '', $this->request->getPost("familytransportationbenefit"));
             $data['reasonableandcustomarycharges'] = str_replace(',', '', $this->request->getPost("reasonableandcustomarycharges"));
             $data['daycaretreatment'] = str_replace(',', '', $this->request->getPost("daycaretreatment"));
-            $data['ayudhtreatmentcover'] = str_replace(',', '', $this->request->getPost("ayudhtreatmentcover"));
-
-            $data['congenitaldiseasesexternal'] = str_replace(',', '', $this->request->getPost("congenitaldiseasesexternal"));
-            // $data['optionalparentalcopay'] = str_replace(',', '', $this->request->getPost("optionalparentalcopay"));
-            $data['posthospitalizationcover'] = str_replace(',', '', $this->request->getPost("posthospitalizationcover"));
-            $data['corporatebuffer'] = str_replace(',', '', $this->request->getPost("corporatebuffer"));
-            $data['sublimitofcorporatebuffer'] = str_replace(',', '', $this->request->getPost("sublimitofcorporatebuffer"));
-
-            if ($data['ayudhtreatmentcover'] == 1) {
-                $data['ayushTreatmentCoverData']   = str_replace(',', '', $this->request->getPost("ayushTreatmentCoverData"));
-            } else {
-                $data['ayushTreatmentCoverData']   = "";
-            }
-
-            $data['armdcovered'] = str_replace(',', '', $this->request->getPost("armdcovered"));
-            $data['suminsuredenhancement'] = str_replace(',', '', $this->request->getPost("suminsuredenhancement"));
-            $data['automaticsuminsuredreinstatement'] = str_replace(',', '', $this->request->getPost("automaticsuminsuredreinstatement"));
-            $data['additionalsicknessbenefit'] = str_replace(',', '', $this->request->getPost("additionalsicknessbenefit"));
             $data['lasiksurgery'] = str_replace(',', '', $this->request->getPost("lasiksurgery"));
-            $data['midterminclusion'] = str_replace(',', '', $this->request->getPost("midterminclusion"));
-            $data['capd'] = str_replace(',', '', $this->request->getPost("capd"));
-            $data['organdonorexpenses'] = str_replace(',', '', $this->request->getPost("organdonorexpenses"));
+            $data['ayudhtreatmentcover'] = str_replace(',', '', $this->request->getPost("ayudhtreatmentcover"));
             $data['moderntreatmentsasperirdai'] = str_replace(',', '', $this->request->getPost("moderntreatmentsasperirdai"));
-            $data['Wellness'] = str_replace(',', '', $this->request->getPost("Wellness"));
+            $data['opd_treatment'] = str_replace(',', '', $this->request->getPost("opd_treatment"));
             $data['days_of_discharge'] = str_replace(',', '', $this->request->getPost("days_of_discharge"));
             $data['days_from_dod'] = str_replace(',', '', $this->request->getPost("days_from_dod"));
+            $data['terrorism'] = str_replace(',', '', $this->request->getPost("terrorism"));
+            $data['widower_cover'] = str_replace(',', '', $this->request->getPost("widower_cover"));
+            $data['breavement_cover'] = str_replace(',', '', $this->request->getPost("breavement_cover"));
+
+            $data['suminsuredenhancement'] = str_replace(',', '', $this->request->getPost("suminsuredenhancement"));
+
             $data['special_condition_label'] = str_replace(',', '', $this->request->getPost("special_condition_label")) ?? [];
             $data['special_condition_input'] = str_replace(',', '', $this->request->getPost("special_condition_input")) ?? [];
             $data['multiple_sum_insured'] = str_replace(',', '', $this->request->getPost("multiple_sum_insured")) ?? [];
 
-            $data['cataract'] = str_replace(',', '', $this->request->getPost("cataract"));
-
-            if ($data['cataract'] == 1) {
-                $data['cataractData']   = str_replace(',', '', $this->request->getPost("cataractData"));
-            } else {
-                $data['cataractData']   = "";
-            }
+            $data['enrollment_display_key'] = $this->enrollmentGMCDisplayValueTransform();
 
+            // print_r($data);die;
 
             $jsonData = json_encode($data);
             $dataa = array(
@@ -2260,7 +2233,6 @@ class ClientController extends AdminController
 
             $record = $this->clientPolicyModel->where('id', $client_policy_id)->first();
 
-
             // print_r($data);die;
             if ($record) {
                 $update = $this->clientPolicyModel->update($client_policy_id, $dataa);
@@ -2285,6 +2257,190 @@ class ClientController extends AdminController
         }
     }
 
+    public function enrollmentGMCDisplayValueTransform()
+    {
+        $data = [];
+
+        if ($this->request->getPost("waiverofpreexistingdiseases_display")) {
+            $data['Waiver of Pre-existing Diseases'] = $this->request->getPost("waiverofpreexistingdiseases");
+        }
+        
+        if ($this->request->getPost("waiverof1234thyearexclusions_display")) {
+            $data['Waiver of 1, 2, 3 & 4th year Exclusions'] = $this->request->getPost("waiverof1,2,3&4thyearexclusions");
+        }
+        
+        if ($this->request->getPost("waiverof30dayswaitingperiod_display")) {
+            $data['Waiver of 30 days waiting period'] = $this->request->getPost("waiverof30dayswaitingperiod");
+        }
+        
+        if ($this->request->getPost("waiver_of_90_days_waiting_period_display")) {
+            $data['Waiver of 90 Days Waiting Period'] = $this->request->getPost("waiver_of_90_days_waiting_period");
+        }
+        
+        if ($this->request->getPost("waiver_of_other_waiting_periods_display")) {
+            $data['Waiver of Other Waiting Periods'] = $this->request->getPost("waiver_of_other_waiting_periods");
+        }
+        
+        if ($this->request->getPost("maternity_benefit_display")) {
+            $data['Maternity Benefit'] = $this->request->getPost("maternity_benefit");
+        }
+        
+        if ($this->request->getPost("9monthwaitingperiodwaived_display")) {
+            $data['9-month waiting Period - waived'] = $this->request->getPost("9monthwaitingperiodwaived");
+        }
+        
+        if ($this->request->getPost("maternitycoverage_display")) {
+            $data['Maternity Coverage'] = $this->request->getPost("maternitycoverage");
+        }
+        
+        if ($this->request->getPost("twindelivery_display")) {
+            $data['Twin Delivery'] = $this->request->getPost("twindelivery");
+        }
+        
+        if ($this->request->getPost("well_baby_well_mother_expenses_display")) {
+            $data['Well baby / Well Mother Expenses'] = $this->request->getPost("well_baby_well_mother_expenses");
+        }
+        
+        if ($this->request->getPost("preandpostnatal_display")) {
+            $data['Pre and Post natal'] = $this->request->getPost("preandpostnatal");
+        }
+        
+        if ($this->request->getPost("infertility_treatment_coverage_display")) {
+            $data['Infertility Treatment Coverage'] = $this->request->getPost("infertility_treatment_coverage");
+        }
+        
+        if ($this->request->getPost("babyday1cover_display")) {
+            $data['Baby Day 1 Cover'] = $this->request->getPost("babyday1cover");
+        }
+        
+        if ($this->request->getPost("coverfromthedateofjoining_display")) {
+            $data['Cover from the date of Joining'] = $this->request->getPost("coverfromthedateofjoining");
+        }
+        
+        if ($this->request->getPost("mid_term_addition_of_new_born_newly_wedded_spouse_display")) {
+            $data['Mid Term Addition of New Born / Newly Wedded Spouse'] = $this->request->getPost("mid_term_addition_of_new_born_newly_wedded_spouse");
+        }
+        
+        if ($this->request->getPost("prehospitalizationcover_display")) {
+            $data['Pre Hospitalization Cover'] = $this->request->getPost("prehospitalizationcover");
+        }
+        
+        if ($this->request->getPost("posthospitalizationcover_display")) {
+            $data['Post Hospitalization Cover'] = $this->request->getPost("posthospitalizationcover");
+        }
+        
+        if ($this->request->getPost("congenitaldiseasesinternal_display")) {
+            $data['Congenital Diseases - Internal'] = $this->request->getPost("congenitaldiseasesinternal");
+        }
+        
+        if ($this->request->getPost("congenitaldiseasesexternal_display")) {
+            $data['Congenital Diseases - External'] = $this->request->getPost("congenitaldiseasesexternal");
+        }
+        
+        if ($this->request->getPost("copayzonewisecopay_display")) {
+            $data['Co-Pay/Zone wise Co Pay'] = $this->request->getPost("copayzonewisecopay");
+        }
+        
+        if ($this->request->getPost("roomrentlimit_display")) {
+            $data['Room Rent Limit'] = $this->request->getPost("roomrentlimit");
+        }
+        
+        if ($this->request->getPost("icu_limit_display")) {
+            $data['ICU Limit'] = $this->request->getPost("icu_limit");
+        }
+        
+        if ($this->request->getPost("proportionatedeductionclause_display")) {
+            $data['Proportionate Deduction Clause'] = $this->request->getPost("proportionatedeductionclause");
+        }
+        
+        if ($this->request->getPost("ailmentcapping_display")) {
+            $data['Ailment capping'] = $this->request->getPost("ailmentcapping");
+        }
+        
+        if ($this->request->getPost("ailment_capping_details_display")) {
+            $data['Ailment capping Details'] = $this->request->getPost("ailment_capping_details");
+        }
+        
+        if ($this->request->getPost("corporatebuffer_display")) {
+            $data['Corporate Buffer'] = $this->request->getPost("corporatebuffer");
+        }
+        
+        if ($this->request->getPost("non_admissible_contingency_corporate_buffer_display")) {
+            $data['Non-Admissible / Contingency Corporate Buffer'] = $this->request->getPost("non_admissible_contingency_corporate_buffer");
+        }
+        
+        if ($this->request->getPost("ambulancecharges_display")) {
+            $data['Ambulance Charges'] = $this->request->getPost("ambulancecharges");
+        }
+        
+        if ($this->request->getPost("airambulance_display")) {
+            $data['Air Ambulance'] = $this->request->getPost("airambulance");
+        }
+        
+        if ($this->request->getPost("reasonableandcustomarycharges_display")) {
+            $data['Reasonable and Customary Charges'] = $this->request->getPost("reasonableandcustomarycharges");
+        }
+        
+        if ($this->request->getPost("daycaretreatment_display")) {
+            $data['Day Care Treatment'] = $this->request->getPost("daycaretreatment");
+        }
+        
+        if ($this->request->getPost("lasiksurgery_display")) {
+            $data['Lasik Surgery'] = $this->request->getPost("lasiksurgery");
+        }
+        
+        if ($this->request->getPost("ayushtreatmentcover_display")) {
+            $data['AYUSH treatment cover'] = $this->request->getPost("ayudhtreatmentcover");
+        }
+        
+        if ($this->request->getPost("moderntreatmentsasperirdai_display")) {
+            $data['Modern treatments as per IRDAI'] = $this->request->getPost("moderntreatmentsasperirdai");
+        }
+        
+        if ($this->request->getPost("opd_treatment_display")) {
+            $data['OPD Treatment'] = $this->request->getPost("opd_treatment");
+        }
+        
+        if ($this->request->getPost("days_of_discharge_display")) {
+            $data['Claim Intimation Clause'] = $this->request->getPost("days_of_discharge");
+        }
+        
+        if ($this->request->getPost("days_from_dod_display")) {
+            $data['Claim Submission'] = $this->request->getPost("days_from_dod");
+        }
+        
+        if ($this->request->getPost("terrorism_display")) {
+            $data['Terrorism'] = $this->request->getPost("terrorism");
+        }
+        
+        if ($this->request->getPost("widower_cover_display")) {
+            $data['Widower Cover'] = $this->request->getPost("widower_cover");
+        }
+        
+        if ($this->request->getPost("breavement_cover_display")) {
+            $data['Breavement Cover'] = $this->request->getPost("breavement_cover");
+        }
+
+        if ($this->request->getPost("special_condition_display_value")) {
+            
+            $specialConditionKeyValue = $this->request->getPost("special_condition_display_value") ?? [];
+            $specialConditionKeyValue = json_decode($specialConditionKeyValue, true);
+
+            if (is_array($specialConditionKeyValue) && count($specialConditionKeyValue) > 0) {
+                $mergedArray = array_merge(...array_map(fn($item) => (array) $item, $specialConditionKeyValue));
+                $data = array_merge($data, $mergedArray);
+            }
+        }
+        
+        if(isset($data) && !empty($data)){
+            return $data;
+        }else{
+            $data = [];
+            return $data;
+        }
+    
+    }
+
     public function getterms()
     {
         $client_policy_id = $this->request->getVar('client_policy_id');
@@ -2337,52 +2493,32 @@ class ClientController extends AdminController
             $data['permanentTotalDisablement'] = str_replace(',', '', $this->request->getPost("permanentTotalDisablement"));
             $data['permanentPartialDisablement'] = $this->request->getPost("permanentPartialDisablement");
             $data['temporaryTotalDisablementBenefit'] = $this->request->getPost("temporaryTotalDisablementBenefit");
-            $data['accidentalHospitalizationExpenses'] = str_replace(',', '', $this->request->getPost("accidentalHospitalizationExpenses"));
-            $data['childrenEducationWelfareFund'] = str_replace(',', '', $this->request->getPost("childrenEducationWelfareFund"));
-
-            $data['compassionateVisitExpenses']   = $this->request->getPost("compassionateVisitExpenses");
-            if ($data['compassionateVisitExpenses'] == 1) {
-                $data['compassionateVisitExpensesData']   = $this->request->getPost("compassionateVisitExpensesData");
-            } else {
-                $data['compassionateVisitExpensesData']   = "";
-            }
-
-            $data['brokenBoneExpenses']   = str_replace(',', '', $this->request->getPost("brokenBoneExpenses"));
-            if ($data['brokenBoneExpenses'] == 1) {
-                $data['brokenBoneExpensesData']   = str_replace(',', '', $this->request->getPost("brokenBoneExpensesData"));
-            } else {
-                $data['brokenBoneExpensesData']   = "";
-            }
-
+            $data['medical_expenses_medical_extension'] = str_replace(',', '', $this->request->getPost("medical_expenses_medical_extension"));
+            $data['opd_treatment_cover'] = str_replace(',', '', $this->request->getPost("opd_treatment_cover"));
             $data['ambulanceCharges']   = str_replace(',', '', $this->request->getPost("ambulanceCharges"));
-            if ($data['ambulanceCharges'] == 1) {
-                $data['ambulanceChargesData']   = str_replace(',', '', $this->request->getPost("ambulanceChargesData"));
-            } else {
-                $data['ambulanceChargesData']   = "";
-            }
-
-            $data['burnExpenses']   = $this->request->getPost("burnExpenses");
-            if ($data['burnExpenses'] == 1) {
-                $data['burnExpensesData']   = $this->request->getPost("burnExpensesData");
-            } else {
-                $data['burnExpensesData']   = "";
-            }
-
-            $data['carriageOfDeadBody']   = $this->request->getPost("carriageOfDeadBody");
-            if ($data['carriageOfDeadBody'] == 1) {
-                $data['carriageOfDeadBodyData']   = $this->request->getPost("carriageOfDeadBodyData");
-            } else {
-                $data['carriageOfDeadBodyData']   = "";
-            }
-
-            $data['animalSnakeInsectBite'] = $this->request->getPost("animalSnakeInsectBite");
+            $data['repatriation_of_mortal_remains']   = str_replace(',', '', $this->request->getPost("repatriation_of_mortal_remains"));
+            $data['childrenEducationWelfareFund'] = str_replace(',', '', $this->request->getPost("childrenEducationWelfareFund"));
             $data['terrorism']             = $this->request->getPost("terrorism");
             $data['worldwideCover']        = $this->request->getPost("worldwideCover");
+            $data['family_transportation_benefits']        = $this->request->getPost("family_transportation_benefits");
+            $data['fractures_dislocation_burns']        = $this->request->getPost("fractures_dislocation_burns");
+            $data['coma']        = $this->request->getPost("coma");
+            $data['carriageOfDeadBody']   = $this->request->getPost("carriageOfDeadBody");
+            $data['compassionateVisitExpenses']   = $this->request->getPost("compassionateVisitExpenses");
+            $data['travel_expenses_for_medical_treatment']        = $this->request->getPost("travel_expenses_for_medical_treatment");
+            $data['daily_cash_allowance']        = $this->request->getPost("daily_cash_allowance");
+            $data['artifical_limb_and_prosthesis']        = $this->request->getPost("artifical_limb_and_prosthesis");
+            $data['animalSnakeInsectBite']        = $this->request->getPost("animalSnakeInsectBite");
+            $data['air_ambulance']        = $this->request->getPost("air_ambulance");
+
+
             $data['gpa_special_condition_label'] = str_replace(',', '', $this->request->getPost("gpa_special_condition_label")) ?? [];
             $data['gpa_special_condition_input'] = str_replace(',', '', $this->request->getPost("gpa_special_condition_input")) ?? [];
             $data['multiple_sum_insured'] = str_replace(',', '', $this->request->getPost("multiple_sum_insured")) ?? [];
 
+            $data['enrollment_display_key'] = $this->enrollmentGPADisplayValueTransform();
 
+            // print_r($data); die;
 
             $jsonData = json_encode($data);
             $dataa = array(
@@ -2412,6 +2548,94 @@ class ClientController extends AdminController
         }
     }
 
+    public function enrollmentGPADisplayValueTransform()
+    {   
+        $data = [];
+
+        if ($this->request->getPost("accidentalDeathBenefit_display")) {
+            $data['Accidental Death Benefit'] = $this->request->getPost("accidentalDeathBenefit");
+        }
+        if ($this->request->getPost("permanentTotalDisablement_display")) {
+            $data['Permanent Total Disablement'] = $this->request->getPost("permanentTotalDisablement");
+        }
+        if ($this->request->getPost("permanentPartialDisablement_display")) {
+            $data['Permanent Partial Disablement'] = $this->request->getPost("permanentPartialDisablement");
+        }
+        if ($this->request->getPost("temporaryTotalDisablementBenefit_display")) {
+            $data['Temporary Total Disablement Benefit'] = $this->request->getPost("temporaryTotalDisablementBenefit");
+        }
+        if ($this->request->getPost("medical_expenses_medical_extension_display")) {
+            $data['Medical Expenses / Medical Extension (IPD)'] = $this->request->getPost("medical_expenses_medical_extension");
+        }
+        if ($this->request->getPost("opd_treatment_cover_display")) {
+            $data['OPD Treatment Cover'] = $this->request->getPost("opd_treatment_cover");
+        }
+        if ($this->request->getPost("ambulanceCharges_display")) {
+            $data['Ambulance Charges'] = $this->request->getPost("ambulanceCharges");
+        }
+        if ($this->request->getPost("repatriation_of_mortal_remains_display")) {
+            $data['Repatriation of Mortal Remains'] = $this->request->getPost("repatriation_of_mortal_remains");
+        }
+        if ($this->request->getPost("childrenEducationWelfareFund_display")) {
+            $data['Children Education Welfare Fund'] = $this->request->getPost("childrenEducationWelfareFund");
+        }
+        if ($this->request->getPost("terrorism_display")) {
+            $data['Terrorism'] = $this->request->getPost("terrorism");
+        }
+        if ($this->request->getPost("worldwideCover_display")) {
+            $data['Worldwide Cover'] = $this->request->getPost("worldwideCover");
+        }
+        if ($this->request->getPost("family_transportation_benefits_display")) {
+            $data['Family Transportation Benefits'] = $this->request->getPost("family_transportation_benefits");
+        }
+        if ($this->request->getPost("fractures_dislocation_burns_display")) {
+            $data['Fractures / Dislocation / Burns'] = $this->request->getPost("fractures_dislocation_burns");
+        }
+        if ($this->request->getPost("coma_display")) {
+            $data['Coma'] = $this->request->getPost("coma");
+        }
+        if ($this->request->getPost("carriageofDeadBody_display")) {
+            $data['Carriage of Dead Body'] = $this->request->getPost("carriageOfDeadBody");
+        }
+        if ($this->request->getPost("compassionateVisitExpenses_display")) {
+            $data['Compassionate Visit Expenses'] = $this->request->getPost("compassionateVisitExpenses");
+        }
+        if ($this->request->getPost("travel_expenses_for_medical_treatment_display")) {
+            $data['Travel expenses for Medical Treatment'] = $this->request->getPost("travel_expenses_for_medical_treatment");
+        }
+        if ($this->request->getPost("daily_cash_allowance_display")) {
+            $data['Daily cash Allowance'] = $this->request->getPost("daily_cash_allowance");
+        }
+        if ($this->request->getPost("artifical_limb_and_prosthesis_display")) {
+            $data['Artifical Limb and Prosthesis'] = $this->request->getPost("artifical_limb_and_prosthesis");
+        }
+        if ($this->request->getPost("animalSnakeInsectBite_display")) {
+            $data['Animal/Snake/Insect Bite'] = $this->request->getPost("animalSnakeInsectBite");
+        }
+        if ($this->request->getPost("air_ambulance_display")) {
+            $data['Air Ambulance'] = $this->request->getPost("air_ambulance");
+        }
+
+        if ($this->request->getPost("gpa_special_condition_display_value")) {
+
+            $specialConditionKeyValue = $this->request->getPost("gpa_special_condition_display_value") ?? [];
+            $specialConditionKeyValue = json_decode($specialConditionKeyValue, true);
+
+            if (is_array($specialConditionKeyValue) && count($specialConditionKeyValue) > 0) {
+                $mergedArray = array_merge(...array_map(fn($item) => (array) $item, $specialConditionKeyValue));
+                $data = array_merge($data, $mergedArray);
+            }
+        }
+        // print_r($data); die;
+
+        if (isset($data) && !empty($data)) {
+            return $data;
+        } else {
+            $data = [];
+            return $data;
+        }
+    }
+
     public function getPolicyGPATerms()
     {
 
@@ -2426,6 +2650,8 @@ class ClientController extends AdminController
         }
     }
 
+    // ----------------------------------------------------------------------------------------------------
+
     public function updateClientPolicyStatus()
     {
 
diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php
index 34fee90..3722a30 100755
--- a/app/Controllers/DashboardController.php
+++ b/app/Controllers/DashboardController.php
@@ -98,19 +98,60 @@ class DashboardController extends AdminController
     public function dashboard()
     {
 
-        $data = [];
+        $data['page_name'] = 'Dashboard';
+        
+        $db = db_connect();
+        $sql = "SELECT 
+                    clients.id AS client_id, 
+                    clients.client_name, 
+                    clients.short_name,
+                    client_branch.id AS client_branch_id, 
+                    client_branch.branch_name, 
+                    client_branch.branch_code,
+                    
+                    COUNT(employees.id) AS total_employees,  
+                    SUM(CASE WHEN employees.emp_status = 'draft' THEN 1 ELSE 0 END) AS draft_count,  
+                    SUM(CASE WHEN employees.emp_status IN ('enrolled', 'active') THEN 1 ELSE 0 END) AS enrolled_count,  
 
-        $results = $this->clientModel->select('clients.id as client_id, clients.client_name, clients.short_name,
-                                              client_branch.id as client_branch_id, client_branch.branch_name, 
-                                              client_branch.branch_code, employees.id as employee_id, 
-                                              employees.name as employee_name, employees.relationship,
-                                              employees.emp_code, employees.emp_status, auth_history.user_type, client_policy.policy_type_id, client_policy.id as client_policy_id')
-        ->join('client_branch', 'clients.id = client_branch.client_id', 'left')
-        ->join('client_policy', 'client_branch.id = client_policy.client_branch_id', 'left')
-        ->join('employees', 'client_branch.id = employees.client_branch_id', 'left')
-        ->join('auth_history', 'employees.id = auth_history.user_id AND "employee" = auth_history.user_type', 'left')
-        ->findAll();
+                    SUM(CASE WHEN auth_history.user_id IS NOT NULL THEN 1 ELSE 0 END) AS logged_in_count,  
+                    SUM(CASE WHEN auth_history.user_id IS NULL THEN 1 ELSE 0 END) AS not_logged_in_count,
 
+                    CASE 
+                        WHEN EXISTS (
+                            SELECT 1 FROM client_policy 
+                            WHERE client_policy.client_branch_id = client_branch.id 
+                            AND client_policy.is_active = 1 
+                            AND client_policy.open_for_enrollment = 1
+                        ) THEN 1 
+                        ELSE 0 
+                    END AS open_or_close_enrollment  
+
+                FROM clients
+                LEFT JOIN client_branch ON clients.id = client_branch.client_id
+                LEFT JOIN employees ON client_branch.id = employees.client_branch_id
+                LEFT JOIN (
+                    SELECT user_id, user_type 
+                    FROM auth_history 
+                    WHERE user_type = 'employee' 
+                    GROUP BY user_id
+                ) AS auth_history ON employees.id = auth_history.user_id
+
+                WHERE employees.relationship = 'Self'
+                AND employees.emp_status IN ('draft', 'enrolled', 'active')
+                AND employees.is_active = 1
+                AND clients.is_active = 1
+                AND client_branch.is_active = 1
+
+                GROUP BY clients.id, client_branch.id";
+
+        $query = $db->query($sql);
+        $results = $query->getResultArray();
+
+
+        $data['client_branch_emp_list'] = $results;
+        $session = \Config\Services::session();
+        $session->set('enrollment_data', json_encode($data));  
+        
         // $pendingActionsController = new PendingActionsController;
         // $pendingActionsData = $pendingActionsController->getPendingActionsForDashBoard();
         // $businessTeamData = $this->policyTransactionModel->getBusinessReportList();
@@ -118,95 +159,6 @@ class DashboardController extends AdminController
         // $businessTeamStatusData = $this->data_construct_for_bds($businessTeamData);
         // $financeTeamStatusData = $this->data_construct_for_bds($financeTeamData);
 
-        $groupedData = [];
-
-        foreach ($results as $row) {
-            $clientId = $row['client_id'];
-            $clientName = $row['client_name'];
-            $shortName = $row['short_name'];
-            $branchId = $row['client_branch_id'];
-            $branchName = $row['branch_name'];
-            $branchCode = $row['branch_code'];
-
-            $clientPolicyId = $row['client_policy_id'];
-            $policyTypeId = $row['policy_type_id'];
-            $employeeId = '';
-            if ($employeeId != $row['employee_id']) {
-                $employeeId = $row['employee_id'];
-            } else {
-                $employeeId = null;
-            }
-            $employeeName = $row['employee_name'];
-            $employeeRelationship = $row['relationship'];
-            $employeeEmpCode =  $row['emp_code'];
-            $employeeEmpStatus = $row['emp_status'];
-            $employeeUserType = $row['user_type'];
-
-            // Initialize the client entry if it doesn't exist
-            if (!isset($groupedData[$clientId])) {
-                $groupedData[$clientId] = [
-                    'client_id' => $clientId,
-                    'client_name' => $clientName,
-                    'short_name' => $shortName,
-                    'branches' => []
-                ];
-            }
-
-            // Initialize the branch entry if it doesn't exist
-            if (!isset($groupedData[$clientId]['branches'][$branchId])) {
-                $groupedData[$clientId]['branches'][$branchId] = [
-                    'client_branch_id' => $branchId,
-                    'branch_name' => $branchName,
-                    'branch_code' => $branchCode,
-                    'emp_login' => 0,
-                    'emp_enroll' => 0,
-                    'client_policies' => [],
-                    'employees' => []
-                ];
-            }
-
-            // Add the client policy to the branch's policies list if it exists, not already added, and policyTypeId is not equal to 1
-            if ($clientPolicyId !== null && $policyTypeId != 1 && !in_array(['client_policy_id' => $clientPolicyId, 'policy_type_id' => $policyTypeId], $groupedData[$clientId]['branches'][$branchId]['client_policies'])) {
-                $groupedData[$clientId]['branches'][$branchId]['client_policies'][] = [
-                    'client_policy_id' => $clientPolicyId,
-                    'policy_type_id' => $policyTypeId
-                ];
-            }
-
-            // Append employee error to the branch's employees list if relationship is 'Self' and not already added
-            $employeeKey = $employeeId . '-' . $employeeName; // unique key to identify an employee
-            if ($employeeId !== null && $employeeRelationship == 'Self' && !isset($groupedData[$clientId]['branches'][$branchId]['employees'][$employeeKey])) {
-                $groupedData[$clientId]['branches'][$branchId]['employees'][$employeeKey] = [
-                    'employee_id' => $employeeId,
-                    'employee_name' => $employeeName,
-                    'relationship' => $employeeRelationship,
-                    'emp_code' => $employeeEmpCode,
-                    'emp_status' => $employeeEmpStatus,
-                    'user_type' => $employeeUserType
-                ];
-                if (!empty($employeeUserType)) {
-                    $groupedData[$clientId]['branches'][$branchId]['emp_login']++;
-                }
-
-                // Increment emp_enroll if emp_status is not 'draft'
-                if ($employeeEmpStatus !== 'draft') {
-                    $groupedData[$clientId]['branches'][$branchId]['emp_enroll']++;
-                }
-            }
-        }
-
-        // Re-index the arrays to match the expected structure
-        foreach ($groupedData as &$client) {
-            foreach ($client['branches'] as &$branch) {
-                $branch['employees'] = array_values($branch['employees']);
-            }
-            $client['branches'] = array_values($client['branches']);
-        }
-
-        $data['client_branch_emp_list'] = $groupedData;
-        $session = \Config\Services::session();
-        $session->set('enrollment_data', json_encode($data));   
-        // echo "
";
         // $data['pendingActionsData'] = $pendingActionsData;
         // $data['businessTeamCount'] = count($businessTeamData) ?? 0;
         // $data['financeTeamCount'] = count($financeTeamData) ?? 0;
@@ -214,9 +166,8 @@ class DashboardController extends AdminController
         // $data['financeTeamStatusData'] = $financeTeamStatusData;
         // $data['policyStatus'] =  $this->policyStatus;
         // $data['colorShades'] =  $this->colorShades;
-        // dd($data);die;
 
-        $data['page_name'] = 'Dashboard';
+        // dd($data);
 
         echo view('layout/header',  $data);
         echo view('DashBoard', $data);
diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php
index e874d6f..bafc79c 100755
--- a/app/Controllers/EmployeeController.php
+++ b/app/Controllers/EmployeeController.php
@@ -2199,33 +2199,41 @@ class EmployeeController extends AdminController
         }
     }
 
+    //UPDATE EMPLOYEE
     public function update_emp_data()
-    {
+    {   
+        helper('utility_helper');
+        
         $data = $this->request->getPost();
         // print_rr($data);die();
         // $data['dob'] = date('Y-m-d', strtotime($data['dob']));
-        $data['dob'] = change_date_format($data['dob'], 'd/m/Y', 'Y-m-d');
+        if (isset($data['dob'])) {
+            $data['dob'] = change_date_format($data['dob'], null, 'Y-m-d');
+        }
         // print_rr($data); die;
 
         // Fetch current employee data
         $employee_data = $this->employeeModel->where('id', $data['employee_primary_id'])->first();
-    
+
         if ($employee_data['relationship'] == 'Self') {
 
-            if ($employee_data['gender'] != $data['gender']) {
+            if (isset($data['gender'])) {
 
-                $spouse_gender = ($data['gender'] == 'M') ? 'F' : 'M';
-                $this->employeeModel
-                    ->where('emp_code', $employee_data['emp_code'])
-                    ->where('relationship', 'Spouse')
-                    ->set(['gender' => $spouse_gender])
-                    ->update();
+                if ($employee_data['gender'] != $data['gender']) {
+
+                    $spouse_gender = ($data['gender'] == 'M') ? 'F' : 'M';
+                    $this->employeeModel
+                        ->where('emp_code', $employee_data['emp_code'])
+                        ->where('relationship', 'Spouse')
+                        ->set(['gender' => $spouse_gender])
+                        ->update();
+                }
             }
         }
-    
+
         // Update the employee data
         $result = $this->employeeModel->where('id', $data['employee_primary_id'])->set($data)->update();
-    
+
         if ($result) {
             return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'message' => 'Employee updated successfully'], 200);
         } else {
@@ -2688,7 +2696,7 @@ class EmployeeController extends AdminController
 
             $emp_history['created_at'] =  date("d-m-Y H:i:s", strtotime($emp_history['created_at']));
         }
-        
+
         unset($emp_history); 
         
         $emp_pol_pk = $this->employeePolicyModel->select('id')->where('employee_id',$emp_id)->first()['id'];
diff --git a/app/Controllers/RestAuthenticationController.php b/app/Controllers/RestAuthenticationController.php
index 6afa1af..e000e93 100755
--- a/app/Controllers/RestAuthenticationController.php
+++ b/app/Controllers/RestAuthenticationController.php
@@ -113,66 +113,65 @@ class RestAuthenticationController extends AdminController
     {
         try {
             $email = $this->request->getJSON()->email;
-          
 
-            $employeeData = $this->employeeModel->select('employees.relationship,EP.employee_id')
-                                                ->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner') 
-                                                ->where('employees.is_active', 1)
-                                                ->where('employees.relationship', 'self')
-                                                ->where('employees.emp_status !=', 'truncated')
-                                                ->where('employees.email_corporate', $email)
-                                                ->where('EP.is_active', 1)
-                                                ->whereIn('EP.status', ['draft', 'enrolled'])
-                                                ->first();
-            
-            if (isset($employeeData['employee_id'])) 
-             {
+
+            $employeeData = $this->employeeModel->select('
+                employees.relationship,
+                EP.employee_id,
+                employees.client_id,
+                employees.client_branch_id,
+                employees.email_corporate
+
+            ')
+                ->join('employee_polices EP', 'EP.employee_id = employees.id', 'inner')
+                ->where('employees.is_active', 1)
+                ->where('employees.relationship', 'Self')
+                ->where('employees.emp_status !=', 'truncated')
+                ->where('employees.email_corporate', $email)
+                ->where('EP.is_active', 1)
+                ->whereIn('EP.status', ['draft', 'enrolled'])
+                ->first();
+
+            if (isset($employeeData['employee_id'])) {
 
                 $otp = random_int(100000, 999999);
 
-                $update  = $this->employeeModel->where('email_corporate', $email)->where('relationship', 'self')
-                                                ->where('is_active', 1)->set(array('otp' => $otp ))
-                                                ->update();
-                if($update)
-                {
+                $update  = $this->employeeModel->where('email_corporate', $email)->where('relationship', 'Self')
+                    ->where('is_active', 1)->set(array('otp' => $otp))
+                    ->update();
+                if ($update) {
 
                     $common = [
                         'client_id' => $employeeData['client_id'],
                         'client_branch_id' => $employeeData['client_branch_id'],
                         'client_policy_id' => null,
                         'employee_policy_id' =>  null,
-                        'employee_id' => $employeeData['id'],
+                        'employee_id' => $employeeData['employee_id'],
                         'mail_type' => 'otp_mail',
-                      ];
+                    ];
                     $subject = 'Nhance user verification - OTP';
-                    $mail_content = $otp.' is your verification code for Nhance.';
-                    $res = MailHelper::send_email(['mail' => $employeeData['email_corporate'], 'subject' => $subject ,'common'=>$common ,'message' => $mail_content]);
+                    $mail_content = $otp . ' is your verification code for Nhance.';
+                    $res = MailHelper::send_email(['mail' => $employeeData['email_corporate'], 'subject' => $subject, 'common' => $common, 'message' => $mail_content]);
                     $this->myLogger->logme("info", $res);
 
-                    if(json_decode($res)->status == 'success')
-                    {
-                        $result = ['user_verification' => true ,'message' => "Verified Successfully"];
-                        return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
-
-                    }else{
-                        $result = ['user_verification' => false , 'message' => "Mail sending failed , try again"];
-                        return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
+                    if (json_decode($res)->status == 'success') {
+                        $result = ['user_verification' => true, 'message' => "Verified Successfully"];
+                        return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200);
+                    } else {
+                        $result = ['user_verification' => false, 'message' => "Mail sending failed , try again"];
+                        return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200);
                     }
+                } else {
 
-                }else{
-
-                    $result = ['user_verification' => false , 'message' => "Verification failed , try again"];
-                    return $this->respond(['status' => 'failed','code' => 404,'data' => $result],200);
-
+                    $result = ['user_verification' => false, 'message' => "Verification failed , try again"];
+                    return $this->respond(['status' => 'failed', 'code' => 404, 'data' => $result], 200);
                 }
-
-               
             } else {
                 // Call the third-party API function
-                return $this->callThirdPartyAPI($this->request->getJSON(),'verifyEmployeeEmailId');
+                return $this->callThirdPartyAPI($this->request->getJSON(), 'verifyEmployeeEmailId');
             }
         } catch (\Throwable $th) {
-            return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
+            return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $th], 500);
         }
     }
 
diff --git a/app/Helpers/excel_util_helper.php b/app/Helpers/excel_util_helper.php
index c8ef144..108174f 100755
--- a/app/Helpers/excel_util_helper.php
+++ b/app/Helpers/excel_util_helper.php
@@ -1123,20 +1123,27 @@ if (!function_exists('premium_calculation_manager'))
                 return false;
             }
         $temp_slab_rates =  $slab_details[ $slab_index ]['slab_rates'];
-        
-        //if curent action is dependent addition OR addition then pull insurer master to set whether add one day from employee date of coverage
-        if($emp_data['temp']['action'] == 'DA' || $emp_data['temp']['action'] == 'A')
-        {
-            $insurer = new InsurerModel();
-            $insurer = ($insurer->find($policy_terms['insurer_id']));
-            if($insurer['addition_add_day'] == true)
-            {
-                // $emp_data['policy_details']['date_coverage'] = (new DateTime($emp_data['policy_details']['date_coverage']))->modify('+1 day')->format('Y-m-d');
 
-                 $emp_data['policy_details']['date_coverage'] = isset($emp_data['policy_details']['date_coverage']) && $emp_data['policy_details']['date_coverage'] != '' && $emp_data['policy_details']['date_coverage'] != null ? 
-                    (new DateTime($emp_data['policy_details']['date_coverage']))->modify('+1 day')->format('Y-m-d') : null ;
-            }
-        }
+
+        // ------------"THIS PART HAS NO INSURER IN THE PRE-ENROLL, SO COMMENT OUT THIS PART (04-03-2025)."-------------------------------------------------------------------------------------------------------------------
+        
+        // //if curent action is dependent addition OR addition then pull insurer master to set whether add one day from employee date of coverage
+        // if($emp_data['temp']['action'] == 'DA' || $emp_data['temp']['action'] == 'A')
+        // {
+        //     $insurer = new InsurerModel();
+        //     $insurer = ($insurer->find($policy_terms['insurer_id']));
+        //     if($insurer['addition_add_day'] == true)
+        //     {
+        //         // $emp_data['policy_details']['date_coverage'] = (new DateTime($emp_data['policy_details']['date_coverage']))->modify('+1 day')->format('Y-m-d');
+
+        //          $emp_data['policy_details']['date_coverage'] = isset($emp_data['policy_details']['date_coverage']) && $emp_data['policy_details']['date_coverage'] != '' && $emp_data['policy_details']['date_coverage'] != null ? 
+        //             (new DateTime($emp_data['policy_details']['date_coverage']))->modify('+1 day')->format('Y-m-d') : null ;
+        //     }
+        // }
+
+        // -------------------------------------------------------------------------------------------------------------------------------
+
+
         // dd($emp_data);
         $is_match_found = false;
         $gst = isset($policy_terms['gst']) && $policy_terms['gst'] != 0 ? $policy_terms['gst'] : 18;
diff --git a/app/Helpers/utility_helper.php b/app/Helpers/utility_helper.php
index 79523f6..ca22481 100755
--- a/app/Helpers/utility_helper.php
+++ b/app/Helpers/utility_helper.php
@@ -544,6 +544,10 @@ if (!function_exists('change_date_format')) {
             'Y/m/d',     // 2024/12/01
             'Y.m.d',     // 2024.12.01
             'Y,m,d',     // 2024,12,01
+
+            'd/m/Y',     // 01/01/2025
+            'd-m-Y',     // 01-01-2025
+
         ];
 
         try {
diff --git a/app/Views/enrollment_dash.php b/app/Views/enrollment_dash.php
index 468ba7c..c6aa284 100755
--- a/app/Views/enrollment_dash.php
+++ b/app/Views/enrollment_dash.php
@@ -1,9 +1,9 @@
-
 
-
+
@@ -14,7 +14,8 @@
- +
@@ -25,36 +26,46 @@ $currentItem = 0; // Counter for items $isActive = true; // Variable to set the first item as active foreach ($client_branch_emp_list as $clients) { - foreach ($clients['branches'] as $branches) { + // Start a new carousel item if needed if ($currentItem % $itemsPerSlide == 0) { if (!$isActive) echo '
'; // Close previous carousel item - echo '