diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 09f34f77..b6433edc 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -2665,439 +2665,154 @@ class ClientController extends AdminController return $insert; } - - // Save Rack Rate function public function createClientPolicyPremium() { - - // echo json_encode(['key' => $this->request->getPost()]); die; - try { - $data = $this->request->getPost(); - $sanitized_post_data = sanitizeInputArrayAdvanced($data); + // 1. Fetch and Sanitize all input at once + $rawPost = $this->request->getPost(); + $data = sanitizeInputArrayAdvanced($rawPost); - $client_id = $sanitized_post_data['client_id'] ?? null; - $client_policy_id = $sanitized_post_data['client_policy_id'] ?? null; - $record = $this->clientPolicyModel->where('client_policy.id', $client_policy_id)->first(); - $premium_type = $sanitized_post_data['premium_type'] ?? null; - if (!empty($client_id) && $client_id != null) { - $client_policy_data = $this->clientPolicyModel->where('id', $client_policy_id)->first(); - $client_id = $client_policy_data['client_id'] ?? null; + // Extract base variables from the sanitized array + $client_id = $data['client_id'] ?? null; + $client_policy_id = $data['client_policy_id'] ?? null; + $premium_type = $data['premium_type'] ?? null; + $policy_grid_id = $data['policy_grid_id'] ?? null; + $rack_rate_name = $data['rack_rate_name'] ?? null; + $si_or_bp = $data['si_or_bp'] ?? null; + + $record = $this->clientPolicyModel->where('id', $client_policy_id)->first(); + if (!$record) { + return $this->respond(['status' => false, 'message' => 'Policy record not found'], 404); } - $branch_units = $this->getBranchUnitsByBranchId($record['client_branch_id']); - $branch_units = json_decode($branch_units); + if (empty($client_id)) { + $client_id = $record['client_id']; + } - $policy_grid_id = $sanitized_post_data['policy_grid_id'] ?? null; - $rack_rate_name = $sanitized_post_data['rack_rate_name'] ?? null; + $branch_units_raw = $this->getBranchUnitsByBranchId($record['client_branch_id']); + $branch_units = json_decode($branch_units_raw, true); + $default_unit = !empty($branch_units) ? $branch_units[0] : null; + // Relationship Logic $relation_data = [ - 'self' => $sanitized_post_data['self'] ?? 'NA', - 'spouse' => $sanitized_post_data['spouse'] ?? 'NA', - 'childrens' => $sanitized_post_data['childrens'] ?? 'NA', - 'parents' => $sanitized_post_data['parents'] ?? 'NA', - 'parents-in-law' => $sanitized_post_data['parents-in-law'] ?? 'NA', + 'self' => $data['self'] ?? 'NA', + 'spouse' => $data['spouse'] ?? 'NA', + 'childrens' => $data['childrens'] ?? 'NA', + 'parents' => $data['parents'] ?? 'NA', + 'parents-in-law' => $data['parents-in-law'] ?? 'NA', ]; - $relation_data_for_form_submit_check = [ - $rack_rate_name => [ - 'self' => $sanitized_post_data['self'] ?? 'NA', - 'spouse' => $sanitized_post_data['spouse'] ?? 'NA', - 'childrens' => $sanitized_post_data['childrens'] ?? 'NA', - 'parents' => $sanitized_post_data['parents'] ?? 'NA', - 'parents-in-law' => $sanitized_post_data['parents-in-law'] ?? 'NA', - ] - ]; - - if ($policy_grid_id == 1 || $policy_grid_id == 2) { - $relation_data = [ - 'self' => 1, - 'spouse' => 'NA', - 'childrens' => 'NA', - 'parents' => 'NA', - 'parents-in-law' => 'NA', - ]; + if (in_array($policy_grid_id, ['1', '2'])) { + $relation_data = ['self' => 1, 'spouse' => 'NA', 'childrens' => 'NA', 'parents' => 'NA', 'parents-in-law' => 'NA']; } - // Convert to JSON $jsonDataForRelation = json_encode($relation_data); - $json_data_relation_data_for_form_submit_check = json_encode($relation_data_for_form_submit_check); + $submit_check_json = json_encode([$rack_rate_name => $relation_data]); - $si_or_bp = $sanitized_post_data['si_or_bp'] ?? null; - $basic_multiplier = str_replace(',', '', $sanitized_post_data['basic_multiplier']); - $premium_multiplier = str_replace(',', '', $sanitized_post_data['premium_multiplier']); - $multiplier = str_replace(',', '', $sanitized_post_data['multiplier']); - $basic_pay = str_replace(',', '', $sanitized_post_data['basic_pay']); - - $data = []; - $data['client_id'] = $client_id; - $data['client_policy_id'] = $client_policy_id; - $data['policy_grid_id'] = $policy_grid_id; - $data['premium_type'] = $premium_type; - $data['rack_rate_name'] = $rack_rate_name; - $data['additional_relationship'] = $jsonDataForRelation; - - $premium = []; - - if ($policy_grid_id == '1' || $policy_grid_id == '2') { - $this->policyPremium1Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->set('is_active', 0)->update(); + // Deactivate old records + if (in_array($policy_grid_id, ['1', '2'])) { + $this->policyPremium1Model->where(['client_id' => $client_id, 'client_policy_id' => $client_policy_id])->set(['is_active' => 0])->update(); } else { - $this->policyPremium2Model->where('client_id', $client_id)->where('client_policy_id', $client_policy_id)->where('rack_rate_name', $rack_rate_name)->set('is_active', 0)->update(); + $this->policyPremium2Model->where(['client_id' => $client_id, 'client_policy_id' => $client_policy_id, 'rack_rate_name' => $rack_rate_name])->set(['is_active' => 0])->update(); } + // Helper closures for cleaning and unit selection + $cleanNum = fn($val) => str_replace(',', '', (string)($val ?? '0')); + $getUnit = fn($unitArr, $index) => (empty($unitArr[$index]) || $unitArr[$index] === 'undefined') ? $default_unit : $unitArr[$index]; + + $insert = false; + $baseInsertData = [ + 'client_id' => $client_id, + 'client_policy_id' => $client_policy_id, + 'policy_grid_id' => $policy_grid_id, + 'premium_type' => $premium_type, + 'rack_rate_name' => $rack_rate_name, + 'additional_relationship' => $jsonDataForRelation + ]; + + // --- Logic Switch based on Grid ID --- + if ($policy_grid_id == '1') { - if ($si_or_bp == '1') { - - $premium = str_replace(',', '', $sanitized_post_data['gpa_sum_premium[]']); - $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_sum_si[]']); - $multiplier = $sanitized_post_data['gpa_sum_multiplier'] ?? null; - $unit = $sanitized_post_data['gpa_unit_1[]'] ?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['si'] = $sum_insure[$i]; - $data['premium'] = $premium[$i]; - $data['multiplier'] = $multiplier; - $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $policyPremium = $this->policyPremium1Model->insert($data); + $premiums = $data['gpa_sum_premium'] ?? []; + foreach ($premiums as $i => $p) { + $this->policyPremium1Model->insert(array_merge($baseInsertData, [ + 'si' => $cleanNum($data['gpa_sum_si'][$i] ?? 0), + 'premium' => $cleanNum($p), + 'multiplier' => $data['gpa_sum_multiplier'] ?? null, + 'si_or_bp' => $si_or_bp, + 'unit' => $getUnit($data['gpa_unit_1'] ?? [], $i) + ])); + $insert = true; } } else if ($si_or_bp == '3') { - - $premium = str_replace(',', '', $sanitized_post_data['gpa_sum_premium2[]']); - $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_sum_si2[]']); - $multiplier = $sanitized_post_data['gpa_sum_multiplier2'] ?? null; - $grade = $sanitized_post_data['gpa_band[]'] ?? null; - $unit = $sanitized_post_data['gpa_unit_3[]'] ?? null; - - - for ($i = 0; $i < count($premium); $i++) { - $data['si'] = $sum_insure[$i]; - $data['premium'] = $premium[$i]; - $data['grade'] = $grade[$i]; - $data['multiplier'] = $multiplier; - $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $policyPremium = $this->policyPremium1Model->insert($data); + $premiums = $data['gpa_sum_premium2'] ?? []; + foreach ($premiums as $i => $p) { + $this->policyPremium1Model->insert(array_merge($baseInsertData, [ + 'si' => $cleanNum($data['gpa_sum_si2'][$i] ?? 0), + 'premium' => $cleanNum($p), + 'grade' => $data['gpa_band'][$i] ?? null, + 'multiplier' => $data['gpa_sum_multiplier2'] ?? null, + 'si_or_bp' => $si_or_bp, + 'unit' => $getUnit($data['gpa_unit_3'] ?? [], $i) + ])); + $insert = true; } } else if ($si_or_bp == '2') { - - $premium = str_replace(',', '', $sanitized_post_data['gpa_basic_premium[]']); - $sum_insure = str_replace(',', '', $sanitized_post_data['gpa_basic_si[]']); - $basic_pay = str_replace(',', '', $sanitized_post_data['basic_pay[]']); - $unit = $sanitized_post_data['gpa_unit[]'] ?? null; - - - for ($i = 0; $i < count($premium); $i++) { - - $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; - $data['basic_multiplier'] = str_replace(',', '', $sanitized_post_data['basic_multiplier']); - $data['multiplier'] = $sanitized_post_data['premium_multiplier'] ?? null; - $data['basic_pay'] = $basic_pay[$i]; - $data['si'] = $sum_insure[$i]; - $data['premium'] = $premium[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $policyPremium = $this->policyPremium1Model->insert($data); + $premiums = $data['gpa_basic_premium'] ?? []; + foreach ($premiums as $i => $p) { + $this->policyPremium1Model->insert(array_merge($baseInsertData, [ + 'si_or_bp' => $si_or_bp, + 'basic_multiplier' => $cleanNum($data['basic_multiplier'] ?? 0), + 'multiplier' => $cleanNum($data['premium_multiplier'] ?? 0), + 'basic_pay' => $cleanNum($data['basic_pay'][$i] ?? 0), + 'si' => $cleanNum($data['gpa_basic_si'][$i] ?? 0), + 'premium' => $cleanNum($p), + 'unit' => $getUnit($data['gpa_unit'] ?? [], $i) + ])); + $insert = true; } - } else { - - $data['premium'] = str_replace(',', '', $sanitized_post_data['gpa_basic_premium']); - $data['si'] = str_replace(',', '', $sanitized_post_data['gpa_basic_si']); - $data['basic_multiplier'] = str_replace(',', '', $sanitized_post_data['basic_multiplier']); - $data['multiplier'] = $sanitized_post_data['premium_multiplier'] ?? null; - $data['basic_pay'] = str_replace(',', '', $sanitized_post_data['basic_pay']); - $data['si_or_bp'] = $sanitized_post_data['si_or_bp'] ?? null; - - $policyPremium = $this->policyPremium1Model->insert($data); } - - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '2') { - - $premium = $sanitized_post_data['gpa_premium29[]'] ?? null; - $sum_insure = $sanitized_post_data['gpa_si29[]'] ?? null; - $unit = $sanitized_post_data['gpa_unit29[]'] ?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - $dataa = $this->policyPremium1Model->insert($data); + } else if (in_array($policy_grid_id, ['2', '9'])) { + $premiums = $data['gpa_premium29'] ?? []; + $model = ($policy_grid_id == '2') ? $this->policyPremium1Model : $this->policyPremium2Model; + foreach ($premiums as $i => $p) { + $model->insert(array_merge($baseInsertData, [ + 'premium' => $cleanNum($p), + 'si' => $cleanNum($data['gpa_si29'][$i] ?? 0), + 'unit' => $getUnit($data['gpa_unit29'] ?? [], $i) + ])); + $insert = true; } + } else { + // Handles grids 3, 4, 5, 6, 7, 8, 10, 11, 12, 13 + $pfx = $policy_grid_id . "_"; + $premiums = $data[$pfx . 'premium'] ?? []; + $is_si_array = is_array($data[$pfx . 'si'] ?? null); - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '3') { - - $premium = $sanitized_post_data['3_premium[]'] ?? null; - $sum_insure = $sanitized_post_data['3_si[]'] ?? null; - $unit = $sanitized_post_data['3_unit[]'] ?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - $dataa = $this->policyPremium2Model->insert($data); + foreach ($premiums as $i => $p) { + $this->policyPremium2Model->insert(array_merge($baseInsertData, [ + 'premium' => $cleanNum($p), + 'si' => $cleanNum($is_si_array ? ($data[$pfx . 'si'][$i] ?? 0) : ($data[$pfx . 'si'] ?? 0)), + 'unit' => $getUnit($data[$pfx . 'unit'] ?? [], $i), + 'age_from' => $data[$pfx . 'age_from'][$i] ?? null, + 'age_to' => $data[$pfx . 'age_to'][$i] ?? null, + 'grade' => $data[$pfx . 'grade'][$i] ?? null, + 'relationship' => $data[$pfx . 'relationship'][$i] ?? null, + 'max_si' => $cleanNum($data[$pfx . 'max_si'][$i] ?? 0) + ])); + $insert = true; } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '4') { - - $premium = $sanitized_post_data['4_premium[]'] ?? null; - $sum_insure = $sanitized_post_data['4_si'] ?? null; - $age_from = $sanitized_post_data['4_age_from[]'] ?? null; - $age_to = $sanitized_post_data['4_age_to[]'] ?? null; - $unit = $sanitized_post_data['4_unit[]'] ?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '5') { - - $premium = $sanitized_post_data['5_premium[]'] ?? null; - $sum_insure = $sanitized_post_data['5_si[]']?? null; - $age_from = $sanitized_post_data['5_age_from[]']?? null; - $age_to = $sanitized_post_data['5_age_to[]']?? null; - $unit = $sanitized_post_data['5_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i] || $unit[$i] == 'undefined')) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '6') { - - $premium = $sanitized_post_data['6_premium[]']?? null; - $sum_insure = $sanitized_post_data['6_si']?? null; - $age_from = $sanitized_post_data['6_age_from[]']?? null; - $age_to = $sanitized_post_data['6_age_to[]']?? null; - $unit = $sanitized_post_data['6_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '7') { - $premium = $sanitized_post_data['7_premium[]'] ?? null; - $sum_insure = $sanitized_post_data['7_si[]'] ?? null; - $age_from = $sanitized_post_data['7_age_from[]'] ?? null; - $age_to = $sanitized_post_data['7_age_to[]'] ?? null; - $unit = $sanitized_post_data['7_unit[]'] ?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '8') { - $premium = $sanitized_post_data['8_premium[]']?? null; - $sum_insure = $sanitized_post_data['8_si[]']?? null; - $grade = $sanitized_post_data['8_grade[]']?? null; - $unit = $sanitized_post_data['8_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['grade'] = $grade[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '9') { - - $premium = $sanitized_post_data['gpa_premium29[]']?? null; - $sum_insure = $sanitized_post_data['gpa_si29[]']?? null; - $unit = $sanitized_post_data['gpa_unit29[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - $dataa = $this->policyPremium2Model->insert($data); - } - - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '10') { - $premium = $sanitized_post_data['10_premium[]']?? null; - $sum_insure = $sanitized_post_data['10_si[]']?? null; - $age_from = $sanitized_post_data['10_age_from[]']?? null; - $age_to = $sanitized_post_data['10_age_to[]']?? null; - $unit = $sanitized_post_data['10_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - - $policyPremium = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '11') { - - $premium = $sanitized_post_data['11_premium[]']?? null; - $sum_insure = $sanitized_post_data['11_si[]']?? null; - $grade = $sanitized_post_data['11_grade[]']?? null; - $max_sum_insure = $sanitized_post_data['11_max_si[]']?? null; - $unit = $sanitized_post_data['11_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['grade'] = $grade[$i]; - $data['max_si'] = str_replace(',', '', $max_sum_insure[$i]); - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '12') { - - $premium = $sanitized_post_data['12_premium[]']?? null; - $sum_insure = $sanitized_post_data['12_si[]']?? null; - $relationship = $sanitized_post_data['12_relationship[]']?? null; - $unit = $sanitized_post_data['12_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['relationship'] = $relationship[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; - } else if ($policy_grid_id == '13') { - - $premium = $sanitized_post_data['13_premium[]']?? null; - $sum_insure = $sanitized_post_data['13_si[]']?? null; - $age_from = $sanitized_post_data['13_age_from[]']?? null; - $age_to = $sanitized_post_data['13_age_to[]']?? null; - $relationship = $sanitized_post_data['13_relationship[]']?? null; - $unit = $sanitized_post_data['13_unit[]']?? null; - - for ($i = 0; $i < count($premium); $i++) { - $data['premium'] = str_replace(',', '', $premium[$i]); - $data['si'] = str_replace(',', '', $sum_insure[$i]); - $data['age_from'] = $age_from[$i]; - $data['age_to'] = $age_to[$i]; - $data['relationship'] = $relationship[$i]; - if (empty($unit) || !isset($unit[$i]) || empty($unit[$i])) { - $data['unit'] = $branch_units[0]; - } else { - $data['unit'] = $unit[$i]; - } - - $dataa = $this->policyPremium2Model->insert($data); - } - $data = $sanitized_post_data; - $insert = true; } if ($insert) { - return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json' => $json_data_relation_data_for_form_submit_check,], 200); - } else { - return $this->respond(['status' => false, 'code' => 404, 'data' => $data, 'message' => 'no data found'], 200); + return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'rack_rate_json' => $submit_check_json], 200); } + + return $this->respond(['status' => false, 'code' => 404, 'message' => 'No data found'], 200); } catch (\Exception $e) { - echo 'Error: ' . $e->getMessage() . ' at line no ' . $e->getLine(); + return $this->respond(['status' => false, 'message' => $e->getMessage() . ' line ' . $e->getLine()], 500); } } diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index b279f1f2..b2259ac1 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -2744,27 +2744,26 @@ class EmployeeController extends AdminController { $rules = [ - 'emp_code' => [ - 'rules' => 'required', - 'errors' => [ - 'required' => 'Employee Code is missing' - ] - ], - - 'name' => [ - 'rules' => 'required|min_length[2]|max_length[100]', - 'errors' => [ - 'required' => 'Employee name is required', - 'min_length' => 'Name must be at least 2 characters', - 'max_length' => 'Name cannot exceed 100 characters' - ] - ], - 'gender' => [ - 'rules' => 'permit_empty|in_list[M,F]', - 'errors' => [ - 'in_list' => 'Invalid gender selected' - ] - ], + // 'emp_code' => [ + // 'rules' => 'required', + // 'errors' => [ + // 'required' => 'Employee Code is missing' + // ] + // ], + // 'name' => [ + // 'rules' => 'required|min_length[2]|max_length[100]', + // 'errors' => [ + // 'required' => 'Employee name is required', + // 'min_length' => 'Name must be at least 2 characters', + // 'max_length' => 'Name cannot exceed 100 characters' + // ] + // ], + // 'gender' => [ + // 'rules' => 'permit_empty|in_list[M,F]', + // 'errors' => [ + // 'in_list' => 'Invalid gender selected' + // ] + // ], 'email_corporate' => [ 'rules' => 'required|valid_email', 'errors' => [ @@ -2772,7 +2771,6 @@ class EmployeeController extends AdminController 'valid_email' => 'Enter a valid email address' ] ], - 'mobile' => [ 'rules' => 'required|numeric|exact_length[10]', 'errors' => [ diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 7ca38900..bf7e5040 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -2501,6 +2501,12 @@ class EmployeeRestController extends AdminController $search_data = $this->request->getJSON(true); // Get JSON as associative array + if ( isset($search_data['client_id']) &&is_string($search_data['client_id']) && preg_match('/^[a-f0-9]{32}$/i', $search_data['client_id'])) { + $client_data = $this->clientModel->where('MD5(id)', $search_data['client_id'])->first(); + $search_data['client_id'] = $client_data['id'] ?? null; + } + + $client_id = isset($search_data['client_id']) ? (int) $search_data['client_id'] : 0; unset($search_data['client_id']); unset($search_data['client_branch_id']); @@ -2612,7 +2618,7 @@ class EmployeeRestController extends AdminController $builder->where('tm.is_active', 1); if ($client_id > 0) { - $builder->where('md5(tm.client_id)', $client_id); + $builder->where('tm.client_id', $client_id); } if (!empty($from_date) && !empty($to_date)) {