?$db->selectOne("SELECT hp.id, hp.first_name_ar, hp.last_name_ar FROM hr_employee_profiles hp WHERE hp.id = ? AND hp.is_archived = 0",[(int)$department->manager_id])
$manager=$department->manager_employee_id
?$db->selectOne("SELECT hp.id, hp.first_name_ar, hp.last_name_ar FROM hr_employee_profiles hp WHERE hp.employee_id = ? AND hp.is_archived = 0",[(int)$department->manager_employee_id])
:null;
$branch=$department->branch_id
...
...
@@ -82,7 +82,7 @@ class DepartmentController extends Controller
:null;
$children=$db->select(
"SELECT id, name_ar, code FROM hr_departments WHERE parent_id = ? AND is_archived = 0 ORDER BY name_ar",
"SELECT id, name_ar, department_code FROM hr_departments WHERE parent_id = ? AND is_archived = 0 ORDER BY name_ar",
[(int)$id]
);
...
...
@@ -110,7 +110,7 @@ class DepartmentController extends Controller
$db=App::getInstance()->db();
$departments=HrDepartment::allActive();
$branches=$db->select("SELECT id, name_ar FROM branches WHERE is_archived = 0 ORDER BY name_ar");
$branches=$db->select("SELECT id, name_ar FROM branches WHERE is_active = 1 ORDER BY name_ar");
$employees=HrEmployeeProfile::getActiveIds();
return$this->view('HR.Views.departments.form',[
...
...
@@ -181,9 +181,9 @@ class DepartmentController extends Controller
@@ -97,7 +99,7 @@ class HrEmployeeProfile extends Model
{
returnstatic::query()
->where('employment_status','=','active')
->orderBy('full_name_ar','ASC')
->orderBy('first_name_ar','ASC')
->get();
}
...
...
@@ -118,7 +120,9 @@ class HrEmployeeProfile extends Model
if(!empty($filters['q'])){
$search='%'.$filters['q'].'%';
$where.=' AND (p.full_name_ar LIKE ? OR p.full_name_en LIKE ? OR p.employee_number LIKE ? OR p.national_id LIKE ?)';
$where.=' AND (p.first_name_ar LIKE ? OR p.last_name_ar LIKE ? OR p.first_name_en LIKE ? OR p.last_name_en LIKE ? OR p.employee_number LIKE ? OR p.national_id LIKE ?)';
$params[]=$search;
$params[]=$search;
$params[]=$search;
$params[]=$search;
$params[]=$search;
...
...
@@ -147,7 +151,7 @@ class HrEmployeeProfile extends Model
LEFT JOIN hr_departments d ON d.id = p.department_id
LEFT JOIN hr_job_titles j ON j.id = p.job_title_id
@@ -73,7 +74,7 @@ class HrLeaveRequest extends Model
$offset=($page-1)*$perPage;
$rows=$db->select(
"SELECT lr.*, p.full_name_ar, p.employee_number, lt.name_ar as leave_type_name, d.name_ar as department_name
"SELECT lr.*, CONCAT(p.first_name_ar, ' ', p.last_name_ar) as full_name_ar, p.employee_number, lt.name_ar as leave_type_name, d.name_ar as department_name
FROM hr_leave_requests lr
JOIN hr_employee_profiles p ON p.id = lr.employee_profile_id
JOIN hr_leave_types lt ON lt.id = lr.leave_type_id
...
...
@@ -91,7 +92,7 @@ class HrLeaveRequest extends Model
{
$db=App::getInstance()->db();
return$db->select(
"SELECT lr.*, p.full_name_ar, p.employee_number, lt.name_ar as leave_type_name
"SELECT lr.*, CONCAT(p.first_name_ar, ' ', p.last_name_ar) as full_name_ar, p.employee_number, lt.name_ar as leave_type_name
FROM hr_leave_requests lr
JOIN hr_employee_profiles p ON p.id = lr.employee_profile_id
JOIN hr_leave_types lt ON lt.id = lr.leave_type_id
<div><labelstyle="display:block;margin-bottom:4px;font-size:13px;">تاريخ البداية <spanstyle="color:#DC2626;">*</span></label><inputtype="date"name="start_date"value="<?=e(old('start_date')??'')?>"class="form-control"required></div>
<div><labelstyle="display:block;margin-bottom:4px;font-size:13px;">تاريخ النهاية <spanstyle="color:#DC2626;">*</span></label><inputtype="date"name="end_date"value="<?=e(old('end_date')??'')?>"class="form-control"required></div>
<div><labelstyle="display:block;margin-bottom:4px;font-size:13px;"><inputtype="checkbox"name="is_half_day"value="1"<?=old('is_half_day')?'checked':''?>> نصف يوم</label></div>
<div><labelstyle="display:block;margin-bottom:4px;font-size:13px;"><inputtype="checkbox"name="half_day"value="1"<?=old('half_day')?'checked':''?>> نصف يوم</label></div>
<div><spanstyle="color:#6B7280;font-size:13px;">حصة صاحب العمل</span><divstyle="font-weight:600;"><?=number_format((float)$insurance['employer_share_total'],2)?></div></div>
<div><spanstyle="color:#6B7280;font-size:13px;">حصة صاحب العمل</span><divstyle="font-weight:600;"><?=number_format((float)$insurance['total_employer_share'],2)?></div></div>