80 lines
3.7 KiB
PHP
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);
|
|
}
|
|
}
|