Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev

This commit is contained in:
aadhavan valli 2024-03-19 23:51:52 +05:30
commit 68769f6242
4 changed files with 153 additions and 37 deletions

View File

@ -214,7 +214,7 @@ $routes->post("/editEmployeeProfile", "EmployeeRestController::editEmployeeProfi
$routes->get("getClientPolicy", "EmployeeRestController::getClientPolicy");
$routes->post("employeeUpload", "EmployeeRestController::employeeUpload");

View File

@ -0,0 +1,57 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class EmployeeModel extends Model
{
protected $table = 'employees';
protected $primaryKey = 'id';
protected $allowedFields = [
"id",
"client_id",
"employee_id",
"change_event",
"relationship_id",
"relationship",
"batch_id",
"emp_code",
"name",
"email_personal",
"email_corporate",
"mobile",
"gender",
"dob",
"otp",
"emp_status",
"created_by",
"updated_by",
"is_active",
];
public function getEmployeePolicy($id)
{
return $this->db->table('employee_polices')
->select(' policies.name as Policy_Name , client_policy.policy_terms as Policy_Terms, client_policy.client_id as ClientId, client_policy.policy_id as PolicyId,client_policy.id as ClientPolicyId, client_policy.open_for_enrollment as OpenForEnrollment') // Select all columns from both tables
->join('client_policy', 'client_policy.id = employee_polices.client_policy_id')
->join('policies', 'policies.id = client_policy.policy_id')
->where('employee_polices.employee_id', $id)
->get()
->getResult();
}
// for EMP rest API process do not change
public function checkExistingEmpEntrollment($arr)
{
return $this->where('emp_code',$arr['emp_code'])->where('name',$arr['name'])->first();
}
}

View File

@ -108,14 +108,20 @@ class EmployeeRestController extends AdminController
try {
$emp_code = $this->request->getGet('emp_code');
if ($emp_code) {
$employee = $this->employeeModel->where('emp_code', $emp_code)
->findAll();
$result = $employee;
return $this->respond(['status' => 'success','code' => 200,'data' => $result],200);
$employee = $this->employeeModel->where('emp_code', $emp_code)->findAll();
$dateConverter = function($item) {
if ($item['dob'] !== '0000-00-00') {
$dateTime = \DateTime::createFromFormat('Y-m-d', $item['dob']);
$item['dob'] = $dateTime->format('d-m-Y');
}
return $item;
};
$employee = array_map($dateConverter, $employee);
return $this->respond(['status' => 'success','code' => 200,'data' => $employee],200);
} else {
$result = "No Match's";
return $this->respond(['status' => 'failed','code' => 404,'data' => $result],404);
return $this->respond(['status' => 'failed','code' => 404,'data' => []],404);
}
} catch (\Throwable $th) {
return $this->respond(['status' => 'failed','code' => 500,'data' => $th],500);
@ -132,6 +138,7 @@ class EmployeeRestController extends AdminController
$updatedCount = 0;
foreach ($data as $item) {
$id = $item->id;
$item->dob = $this->convertDateFormat($item->dob);
$employee = $this->employeeModel->update($id, (array)$item);
if ($employee) {
$updatedCount++;
@ -164,12 +171,16 @@ class EmployeeRestController extends AdminController
if (isset($item->id)) {
//update old data
$id = $item->id;
$item->family_floater_key = $this->RelationshipMap($item->relationship);
$item->dob = $this->convertDateFormat($item->dob);
$employee = $this->employeeModel->update($id, (array)$item);
if ($employee) {
$Count++;
}
}else{
//create new data
$item->family_floater_key = $this->RelationshipMap($item->relationship);
$item->dob = $this->convertDateFormat($item->dob);
$employee = $this->employeeModel->insert($item);
if ($employee) {
$Count++;
@ -193,9 +204,38 @@ class EmployeeRestController extends AdminController
}
public function RelationshipMap($value){
if ($value === 'Mother' || $value === 'Father') {
return 'parent';
} else if($value === 'Son' || $value === 'Daughter'){
return 'child';
}else if($value === 'Father in Law' || $value === 'Mother in Law'){
return 'parent_in_law';
}else if($value === 'Spouse'){
return 'spouse';
}
}
private function convertDateFormat($dateString)
{
// Attempt to create a DateTime object from the provided date string
$dateTime = \DateTime::createFromFormat('d-m-Y', $dateString);
// Check if the conversion was successful and the date string is in the format dd-mm-yyyy
if ($dateTime instanceof \DateTime) {
// Format the date to yyyy-mm-dd
return $dateTime->format('Y-m-d');
} else {
// If the date string is not in the format dd-mm-yyyy, return null
return null;
}
}
public function deleteDependence()
{
try {
if($this->request->getGet('id'))
{
$delete = $this->employeeModel->where('id', $this->request->getGet('id'))->delete();
if ($delete) {
@ -203,6 +243,10 @@ class EmployeeRestController extends AdminController
} else {
return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 404);
}
}else{
return $this->respond(['status' => 'failed','code' => 404,'data' => [] ], 404);
}
} catch (\Exception $e) {
return $this->respond(['status' => 'failed','code' => 500,'data' => $e->getMessage()], 500);
@ -214,31 +258,15 @@ class EmployeeRestController extends AdminController
public function getEmployeeAndDependenceByClientId()
{
try {
$empData = $this->employeeModel->where('client_id', $this->request->getGet('client_id'))
->where('relationship !=', null)
->orderBy('emp_code')->orderBy('id')->findAll();
// $result = [];
// foreach ($empData as $employee) {
// $employeeDependence = $this->employeeModel
// ->where('emp_code', $employee['emp_code'])
// ->where('relationship !=', 'self')
// ->findAll();
// // Use object notation to access properties and set 'dependence'
// $employee['dependence'] = $employeeDependence ?: [];
// $result[] = $employee;
// }
// You probably meant to check $result, not $data
if ($empData) {
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $empData], 200);
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 404);
}
$empData = $this->employeePolicyModel->getEmployeePolicy( $this->request->getGet('client_id'), $this->request->getGet('client_policy_id'));
// $empData = $this->employeeModel->where('client_id', $this->request->getGet('client_id'))
// ->where('relationship !=', null)
if ($empData) {
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $empData], 200);
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 404);
}
} catch (\Exception $e) {
@ -254,10 +282,12 @@ class EmployeeRestController extends AdminController
->join('policies', 'client_policy.policy_id = policies.id', 'left')
->where('client_policy.client_id', $this->request->getGet('client_id') )
->findAll();
$result[] = $ClientPolicyData[0];
$result[] = $ClientPolicyData[2];
// You probably meant to check $result, not $data
if ($ClientPolicyData) {
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $ClientPolicyData], 200);
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $result], 200);
} else {
return $this->respond(['status' => 'failed', 'code' => 404, 'data' => []], 404);
}
@ -274,10 +304,12 @@ class EmployeeRestController extends AdminController
{
try {
$id = $this->request->getGet('id');
$emp_code = $this->request->getGet('emp_code');
$keysToRemove = ["removable_keys"];
$empPolicy = $this->employeeModel->getEmployeePolicy($id);
// dd($empPolicy);
$empData = $this->employeeModel->where('emp_code',$emp_code)->findAll();
if ($empPolicy) {
$result = [];
@ -323,6 +355,32 @@ class EmployeeRestController extends AdminController
array_splice($array->SlabRates, $index, 1);
array_unshift($array->SlabRates, $element);
}
//map family floates array to employee and dependent
$familyFloates = $array->Policy_Terms->family_floaters;
$data = [];
foreach ($familyFloates as $familyFloatesValue) {
$dependent = preg_replace('/\d/', '', $familyFloatesValue);
if(count($empData)){
foreach ($empData as $key => $value) {
if ($value['family_floater_key'] === $dependent) {
$employee_policy = $this->employeePolicyModel->where('employee_id',$value['id'])->where('client_policy_id',$array->ClientPolicyId)->get()->getRow();
$temp['family_floater_key'] = $familyFloatesValue;
$temp['label'] = $value['relationship'];
$temp['name'] = $value['name'];
$temp['employee_id'] = $value['id'];
$temp['basic_cover_si'] = isset($employee_policy->basic_cover_si) ? $employee_policy->basic_cover_si : null;
$temp['client_policy_id'] = $array->ClientPolicyId;
array_push($data,$temp);
unset($empData[$key]);
break;
}
}
}
}
$array->mapped_family_floaters = $data;
}
$result[] = $array;

View File

@ -70,6 +70,7 @@ class RestAuthenticationController extends AdminController
try {
$mobile_number = $this->request->getJSON()->mobile_number;
$randomNumber = rand(100000, 999999);
$randomNumber = 123456;
$employeeData = $this->employeeModel->where('mobile', $mobile_number)->where('relationship', 'self')->first();
@ -129,7 +130,7 @@ class RestAuthenticationController extends AdminController
try {
$mobile_number = $this->request->getJSON()->mobile_number;
$randomNumber = rand(100000, 999999);
$randomNumber = 123456;
$HrData = $this->hrModel->where('mobile', $mobile_number)->where('contact_type', 'client')->first();
if ($HrData) {