USP_DATALIST_SCHEDULEDATE_BYSESSION
All of the schedule date entries for a given session.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SESSIONID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@STARTDATE | datetime | IN | Start date |
@ENDDATE | datetime | IN | End date |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_SCHEDULEDATE_BYSESSION
(
@SESSIONID uniqueidentifier,
@STARTDATE datetime = null,
@ENDDATE datetime = null
)
as
set nocount on
select SCHEDULEDATE.ID,
SCHEDULEDATE.DATE,
CYCLEDAY.DESCRIPTION + ' - ' + CAST (SCHEDULEDATE.DAYCOUNT as nvarchar(4)) as NAME,
SCHEDULEDATEADJUSTMENT.DESCRIPTION,
SCHEDULEDATE.INSESSION,
CYCLEDAY.COLORSTYLECODE
from dbo.SCHEDULEDATE
left join SCHEDULEDATEADJUSTMENT
on SCHEDULEDATEADJUSTMENT.DATE = SCHEDULEDATE.DATE and SCHEDULEDATEADJUSTMENT.SCHOOLID = SCHEDULEDATE.SCHOOLID
left join TIMETABLEDAY
on TIMETABLEDAY.ID = SCHEDULEDATE.TIMETABLEDAYID
left join CYCLEDAY
on CYCLEDAY.ID = TIMETABLEDAY.CYCLEDAYID
where SCHEDULEDATE.SCHOOLID =
(select SCHOOLID
from
SESSION
inner join ACADEMICYEAR
on SESSION.ACADEMICYEARID = ACADEMICYEAR.ID
where SESSION.ID = @SESSIONID) AND
SCHEDULEDATE.DATE >= (select min(STARTDATE) from TERM where SESSIONID = @SESSIONID) AND
SCHEDULEDATE.DATE <= (select max(ENDDATE) from TERM where SESSIONID = @SESSIONID) AND
(
( (SCHEDULEDATE.DATE between @STARTDATE and @ENDDATE) or (@STARTDATE is null and @ENDDATE is null) )
or ( (SCHEDULEDATE.DATE >= @STARTDATE) and (@ENDDATE is null and @STARTDATE is not null) )
or ( (SCHEDULEDATE.DATE <= @ENDDATE) and (@STARTDATE is null and @ENDDATE is not null) )
) AND
INSESSION <> 0
order by SCHEDULEDATE.DATE