|
|
|
|
@@ -313,15 +313,15 @@ and u.id=@user_id;
|
|
|
|
|
{
|
|
|
|
|
var sql = string.Format(@"
|
|
|
|
|
select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
|
|
|
|
SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
WHERE tad_general.deleted_at is null
|
|
|
|
|
AND leave_type.deleted_at is null
|
|
|
|
|
AND leave_type.id = 2
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as sum_day_sick_leave, (
|
|
|
|
|
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
@@ -330,18 +330,18 @@ select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
AND leave_type.id = 2
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as count_sick_leave, (
|
|
|
|
|
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
|
|
|
|
SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
WHERE tad_general.deleted_at is null
|
|
|
|
|
AND leave_type.deleted_at is null
|
|
|
|
|
AND leave_type.id = 4
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as sum_day_personal_leave, (
|
|
|
|
|
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
@@ -350,18 +350,18 @@ select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
AND leave_type.id = 4
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as count_personal_leave, (
|
|
|
|
|
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
|
|
|
|
SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
WHERE tad_general.deleted_at is null
|
|
|
|
|
AND leave_type.deleted_at is null
|
|
|
|
|
AND leave_type.id = 1
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as sum_day_vacation_leave, (
|
|
|
|
|
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
@@ -370,8 +370,8 @@ select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
AND leave_type.id = 1
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as count_vacation_leave, (
|
|
|
|
|
SELECT COUNT(DISTINCT tad_stop.date) FROM tad_stop_workings as tad_stop
|
|
|
|
|
WHERE tad_stop.deleted_at is null
|
|
|
|
|
@@ -398,15 +398,15 @@ select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
AND prs_time_result.record_type = 'Absence'
|
|
|
|
|
AND prs_time_result.date BETWEEN @start_date AND @end_date
|
|
|
|
|
) as count_absence_tad_processing_time_results, (
|
|
|
|
|
SELECT SUM(tad_general.total_dayoff) FROM tad_general_leaves as tad_general
|
|
|
|
|
SELECT SUM((select count(d::date) as d from generate_series(case when start_date<@start_date then @start_date else start_date end,case when end_date>@end_date then @end_date else end_date end, '1 day'::interval) d where extract('dow' from d) not in (0, 6))) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
WHERE tad_general.deleted_at is null
|
|
|
|
|
AND leave_type.deleted_at is null
|
|
|
|
|
AND leave_type.id in (2,4)
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as sum_day_sick_personal_leave, (
|
|
|
|
|
SELECT COUNT(tad_general.*) FROM tad_general_leaves as tad_general
|
|
|
|
|
LEFT JOIN tad_leave_types as leave_type ON tad_general.leave_type_id = CAST(leave_type.id as varchar)
|
|
|
|
|
@@ -415,8 +415,8 @@ select {0}b{0}.{0}employee_id{0}, (
|
|
|
|
|
AND leave_type.id in (2,4)
|
|
|
|
|
AND tad_general.employee_id = b.employee_id
|
|
|
|
|
AND tad_general.status = '3'
|
|
|
|
|
AND tad_general.start_date >= @start_date
|
|
|
|
|
AND tad_general.end_date <= @end_date
|
|
|
|
|
AND ((tad_general.start_date between @start_date and @end_date)
|
|
|
|
|
or (tad_general.end_date between @start_date and @end_date))
|
|
|
|
|
) as count_sick_personal_leave from {0}tad_table_workings{0} as {0}a{0} left join {0}hrm_employees{0} as {0}b{0} on {0}a{0}.{0}employee_id{0} = {0}b{0}.{0}employee_id{0} left join {0}tad_workshifts{0} as {0}c{0} on {0}a{0}.{0}workshift_id{0} = {0}c{0}.{0}id{0} where {0}a{0}.{0}deleted_at{0} is null and {0}b{0}.{0}deleted_at{0} is null and {0}c{0}.{0}deleted_at{0} is null and {0}b{0}.{0}employee_id{0} = @employee_id
|
|
|
|
|
", '"'.ToString());
|
|
|
|
|
|
|
|
|
|
|