nhance/app/Models/EmployeeModel.php
2024-03-26 15:10:11 +05:30

80 lines
3.7 KiB
PHP

<?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",
"relationship_code",
"emp_code",
"name",
"email_personal",
"email_corporate",
"mobile",
"gender",
"dob",
"doj",
"basic_pay",
"band","designation",
"emp_status",
"created_by",
"updated_by",
"is_active",
"file_id"
];
// for emp onboard process do not change
public function checkExistingEmp($arr)
{
return $this->where('emp_code',$arr['emp_code'])
->where('name',$arr['name'])
->where('client_id',$arr['client_id'])
// ->where('relationship_code',$arr['relationship_code'])
->where('gender',$arr['gender'])
->where('dob',$arr['dob'])
->find();
}
public function getEmpFamilybyEmpCode(string $client_policy_id = null,string $emp_code = null,string $client_id = null,string $emp_status = null)
{
$result = $this->select(['employees.id as emp_id', 'employees.client_id', 'employees.relationship', 'employees.relationship_code', 'employees.change_event', 'employees.emp_code', 'employees.name', 'employees.email_personal', 'employees.email_corporate', 'employees.mobile', 'employees.gender', 'employees.dob', 'employees.doj', 'employees.basic_pay', 'employees.band', 'employees.designation', 'employees.emp_status','employee_polices.id as emp_policy_id', 'employee_polices.employee_id', 'employee_polices.client_policy_id', 'employee_polices.tpa_id', 'employee_polices.uhid', 'employee_polices.batch_code', 'employee_polices.status', 'employee_polices.pre_existing_alignments', 'employee_polices.basic_cover_si', 'employee_polices.date_coverage', 'employee_polices.policy_end_date', 'employee_polices.days', 'employee_polices.premium', 'employee_polices.rata_premimum', 'employee_polices.gst', 'employee_polices.date_of_exit', 'employee_polices.reason_for_exit'])
->join('employee_polices', 'employee_polices.employee_id = employees.id')
->where('employees.is_active',1)
->when($client_policy_id, function($query) use ($client_policy_id){
return $query->where('employee_polices.client_policy_id',$client_policy_id);
})
->where('employee_polices.is_active',1)
->where('employees.emp_status', ($emp_status !== null ? $emp_status : 'active'))
// ->where('employees.emp_code',$emp_code)
->when($emp_code, function($query) use ($emp_code){
return $query->where('employees.emp_code',$emp_code);
})
// ->when($emp_status, function($query) use ($emp_status){
// $emp_status = ($emp_status !== null ? $emp_status : 'active');
// dd($emp_status);
// return $query->where('employees.emp_status', $emp_status);
// })
->when($client_id, function($query) use ($client_id){
return $query->where('employees.client_id',$client_id);
})
->findAll();
// dd($this->db->getLastQuery());
return ($result);
}
}