Bug #349 » GetDurationLeave.sql
1 |
CREATE PROCEDURE GetDurationLeave |
---|---|
2 |
(
|
3 |
@landscape VARCHAR(20) |
4 |
,@EmpID VARCHAR(20) |
5 |
,@StartDate VARCHAR(20) |
6 |
,@EndDate VARCHAR(20) |
7 |
,@AbsType VARCHAR(20) |
8 |
)
|
9 |
AS
|
10 |
|
11 |
--DECLARE @landscape VARCHAR(20) = '100'
|
12 |
--DECLARE @EmpID VARCHAR(20) = '19021633'
|
13 |
--DECLARE @StartDate VARCHAR(20) = '20210316'
|
14 |
--DECLARE @EndDate VARCHAR(20) = '20210318'
|
15 |
--DECLARE @AbsType VARCHAR(20) = '1000'
|
16 |
|
17 |
DECLARE @WSType VARCHAR(20) |
18 |
|
19 |
SELECT @WSType = ws_type |
20 |
FROM hr_md_emp_md0025 |
21 |
WHERE emp_id = @EmpID AND start_date <= @EndDate AND end_date >= @EndDate |
22 |
|
23 |
SELECT COUNT(cal.datespecified) AS duration FROM hr_tm_workschedule_calender AS cal |
24 |
LEFT JOIN hr_tm_day_type AS daytp |
25 |
On daytp.day_type = cal.day_type |
26 |
WHERE cal.workschedule_type = @WSType AND daytp.flag = 'WORK' |
27 |
AND ( cal.datespecified BETWEEN @StartDate AND @EndDate ) |