UFN_CLASSMEETINGTEMPLATE_GETTIMELIST_FROMCLASSMEETINGGROUP
Returns a list of class meetings for the specified class meeting group.
Return
Return Type |
---|
nvarchar(1000) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLASSMEETINGGROUPID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_CLASSMEETINGTEMPLATE_GETTIMELIST_FROMCLASSMEETINGGROUP
(
@CLASSMEETINGGROUPID uniqueidentifier
)
returns nvarchar(1000)
as begin
declare @RETVAL nvarchar(1000)
select @RETVAL =
(select
T.CYCLEDAYCODE + ' ' + case when T.STARTPERIOD is null
then dbo.UFN_HOURMINUTE_DISPLAYTIME(T.STARTTIME) + ' - '
+ dbo.UFN_HOURMINUTE_DISPLAYTIME(T.ENDTIME)
else T.STARTPERIOD +
case when T.STARTPERIOD != T.ENDPERIOD
then '-' + T.ENDPERIOD
else ''
end
end + '; ' as [text()]
from
(select
CYCLEDAY.CODE as CYCLEDAYCODE,
CYCLEDAY.SEQUENCE,
[STARTPERIOD].PERIOD as STARTPERIOD,
[ENDPERIOD].PERIOD as ENDPERIOD,
CLASSMEETINGTEMPLATE.STARTTIME,
CLASSMEETINGTEMPLATE.ENDTIME
from dbo.CLASSMEETINGTEMPLATE
inner join dbo.CLASSMEETINGGROUP on CLASSMEETINGTEMPLATE.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
inner join dbo.CYCLEDAY on CLASSMEETINGTEMPLATE.CYCLEDAYID = CYCLEDAY.ID
left join dbo.TIMETABLEDAYPERIOD [STARTPERIOD] on CLASSMEETINGTEMPLATE.TIMETABLEDAYPERIODID = [STARTPERIOD].ID
left join dbo.TIMETABLEDAYPERIOD [ENDPERIOD]
on [STARTPERIOD].TIMETABLEDAYID = [ENDPERIOD].TIMETABLEDAYID
and CLASSMEETINGTEMPLATE.ENDTIME = [ENDPERIOD].ENDTIME
where CLASSMEETINGGROUP.ID = @CLASSMEETINGGROUPID) T
group by T.CYCLEDAYCODE, T.SEQUENCE, T.STARTPERIOD, T.ENDPERIOD, T.STARTTIME, T.ENDTIME
order by T.SEQUENCE, T.STARTTIME
for xml path(''))
return substring(@RETVAL, 1, len(@RETVAL)-1)
end