24 lines
1.4 KiB
Plaintext
24 lines
1.4 KiB
Plaintext
[
|
|
[ "employee", {"label":"Employee","type":"select","allow-null":true,"remote-source":["Employee","id","first_name+last_name"]}],
|
|
[ "date_start", {"label":"Start Date","type":"date"}],
|
|
[ "date_end", {"label":"End Date","type":"date"}],
|
|
[ "status", {"label":"Leave Status","type":"select","source":[["NULL","All Statuses"],["Approved","Approved"],["Pending","Pending"],["Rejected","Rejected"]]}]
|
|
]
|
|
|
|
["employee","date_start","date_end","status"]
|
|
|
|
|
|
SELECT *,
|
|
(SELECT concat(`first_name`,' ',`middle_name`,' ', `last_name`) from Employees where id = employee) as 'Employee',
|
|
(SELECT name from LeaveTypes where id = leave_type) as 'Leave Type',
|
|
(SELECT name from LeavePeriods where id = leave_type) as 'Leave Type',
|
|
date_start as 'Start Date',
|
|
date_end as 'End Date',
|
|
details as 'Reason',
|
|
status as 'Leave Status',
|
|
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Full Day') as 'Full Day Count',
|
|
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Morning') as 'Half Day (Morning) Count',
|
|
(select count(*) from EmployeeLeaveDays d where d.employee_leave = lv.id and leave_type = 'Half Day - Afternoon') as 'Half Day (Afternoon) Count'
|
|
from EmployeeLeaves lv where employee = ? and date_start >= ? and date_end <= ? and status = ?;
|
|
|
|
This report list all employee leaves by employee, date range and leave status |