FIX_ISSUE

This commit is contained in:
VENKATESHWARAN 2026-02-07 12:39:02 +05:30
parent be6417761c
commit 57a4b946ca
3 changed files with 140 additions and 421 deletions

View File

@ -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);
}
}

View File

@ -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' => [

View File

@ -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)) {