MERGE_TEST_BUG_FIXES
This commit is contained in:
commit
b1a2eb94c1
@ -529,6 +529,15 @@ $routes->cli("cli/cronDailyBDSReport", "PolicyTransactionController::cronDailyBD
|
||||
$routes->cli('cli/croneDailyActivityReport', 'DashboardController::croneDailyActivityReport');
|
||||
|
||||
|
||||
// Employee dependent APIs (no JWT / App-Signature; util uses authMVC only)
|
||||
$routes->get('relationshipList', 'EmployeeRestController::relationshipList');
|
||||
$routes->get('getEmployeeAndDependence', 'EmployeeRestController::getEmployeeAndDependence');
|
||||
$routes->post('editEmployeeAndDependence', 'EmployeeRestController::editEmployeeAndDependence');
|
||||
$routes->post('addEmployeeAndDependencev2', 'EmployeeRestController::addEmployeeAndDependencev2');
|
||||
$routes->get('deleteDependence', 'EmployeeRestController::deleteDependence');
|
||||
$routes->get('getEmployeeAndDependenceByClientId', 'EmployeeRestController::getEmployeeAndDependenceByClientId');
|
||||
|
||||
|
||||
|
||||
$routes->group("policy_tranction", ["filter" => "authMVC"], function ($routes) {
|
||||
|
||||
|
||||
@ -2843,28 +2843,8 @@ class EmployeeController extends AdminController
|
||||
//UPDATE EMPLOYEE
|
||||
public function update_emp_data()
|
||||
{
|
||||
|
||||
|
||||
$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'
|
||||
// ]
|
||||
// ],
|
||||
'email_corporate' => [
|
||||
'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
|
||||
'errors' => [
|
||||
@ -2883,16 +2863,16 @@ class EmployeeController extends AdminController
|
||||
];
|
||||
$request_post_data = $this->request->getPost();
|
||||
$data = sanitizeInputArrayAdvanced($request_post_data);
|
||||
if (isset($data['relationship'])) {
|
||||
$rules['relationship'] = [
|
||||
'rules' => 'required|in_list[Self,Spouse,Child,Father,Mother,Father-in-law,Mother-in-law]',
|
||||
'errors' => [
|
||||
'required' => 'Relationship is required',
|
||||
'in_list' => 'The selected relationship is invalid.'
|
||||
]
|
||||
];
|
||||
if (isset($data['relationship'])) {
|
||||
$rules['relationship'] = [
|
||||
'rules' => 'required|in_list[Self,Spouse,Child,Father,Mother,Father-in-law,Mother-in-law]',
|
||||
'errors' => [
|
||||
'required' => 'Relationship is required',
|
||||
'in_list' => 'The selected relationship is invalid.'
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!$this->validate($rules)) {
|
||||
return $this->response->setStatusCode(400)->setJSON([
|
||||
@ -2903,37 +2883,54 @@ class EmployeeController extends AdminController
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// print_rr($data);die();
|
||||
// $data['dob'] = date('Y-m-d', strtotime($data['dob']));
|
||||
$data['dob'] = (!empty($data['dob'])) ? change_date_format($data['dob'], null, 'Y-m-d') : null;
|
||||
// print_rr($data); die;
|
||||
$employeeId = (int) ($data['employee_primary_id'] ?? 0);
|
||||
if ($employeeId <= 0) {
|
||||
return $this->respond(['status' => false, 'code' => 400, 'message' => 'Employee ID is required'], 400);
|
||||
}
|
||||
|
||||
// Fetch current employee data
|
||||
$employee_data = $this->employeeModel->where('id', $data['employee_primary_id'])->first();
|
||||
|
||||
if ($employee_data['relationship'] == 'Self') {
|
||||
$employee_data = $this->employeeModel->where('id', $employeeId)->first();
|
||||
if (!$employee_data) {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Employee not found'], 404);
|
||||
}
|
||||
|
||||
if(isset($data['gender'])){
|
||||
// Whitelist only editable fields from this form.
|
||||
// name / gender / dob are disabled for active employees and may be absent from POST —
|
||||
// only update them when the client actually sent a value (do not force null).
|
||||
$updateData = [
|
||||
'email_corporate' => $data['email_corporate'],
|
||||
'mobile' => $data['mobile'],
|
||||
];
|
||||
|
||||
if ($employee_data['gender'] != $data['gender']) {
|
||||
if (!empty($data['name'])) {
|
||||
$updateData['name'] = $data['name'];
|
||||
}
|
||||
if (isset($data['gender']) && $data['gender'] !== '') {
|
||||
$updateData['gender'] = $data['gender'];
|
||||
}
|
||||
if (!empty($data['dob'])) {
|
||||
$updateData['dob'] = change_date_format($data['dob'], null, 'Y-m-d');
|
||||
}
|
||||
if (isset($data['relationship'])) {
|
||||
$updateData['relationship'] = $data['relationship'];
|
||||
}
|
||||
|
||||
$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['relationship'] == 'Self' && isset($updateData['gender'])) {
|
||||
if ($employee_data['gender'] != $updateData['gender']) {
|
||||
$spouse_gender = ($updateData['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();
|
||||
|
||||
$result = $this->employeeModel->where('id', $employeeId)->set($updateData)->update();
|
||||
|
||||
if ($result) {
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $data, 'message' => 'Employee updated successfully'], 200);
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $updateData, 'message' => 'Employee updated successfully'], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'Failed to update employee.'], 404);
|
||||
}
|
||||
|
||||
@ -295,8 +295,7 @@ $gst_total = 0;
|
||||
<td><?php echo $employee['gender']; ?></td>
|
||||
<td><?php echo $employee['email_corporate']; ?></td>
|
||||
<td><?php echo $employee['mobile']; ?></td>
|
||||
<td><?php echo date('d/m/Y', strtotime($employee['dob'])); ?></td>
|
||||
<td><?php echo isset($employee['policy_type']) ? $employee['policy_type'] : ''; ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : ''; ?></td>
|
||||
<td><?php echo !empty($employee['dob']) ? date('d/m/Y', strtotime($employee['dob'])) : '-'; ?></td> <td><?php echo isset($employee['policy_type']) ? $employee['policy_type'] : ''; ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : ''; ?></td>
|
||||
<td><?php echo $employee['insurer_short_name']; ?></td>
|
||||
<td><?php echo $employee['tpa_id']; ?></td>
|
||||
<td><?php echo $employee['uhid']; ?></td>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user