USP_DATALIST_EVENTCOORDINATORTASKS
Displays the tasks for a given event coordinator.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATEFILTER | tinyint | IN | Tasks |
@INCLUDECOMPLETEDTASKS | bit | IN | Include completed |
@ONLYSHOWUSERSEVENTS | bit | IN | Only show my tasks |
@SITEID | uniqueidentifier | IN | Site |
@EVENTCATEGORYCODEID | uniqueidentifier | IN | Category |
@EVENTLOCATIONID | uniqueidentifier | IN | Location |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_EVENTCOORDINATORTASKS
(
@CURRENTAPPUSERID uniqueidentifier = null,
@DATEFILTER tinyint = 1,
@INCLUDECOMPLETEDTASKS bit = 0,
@ONLYSHOWUSERSEVENTS bit = 0,
@SITEID uniqueidentifier = null,
@EVENTCATEGORYCODEID uniqueidentifier = null,
@EVENTLOCATIONID uniqueidentifier = null
)
as
set nocount on;
declare @DATE datetime;
declare @ENDDATE datetime;
set @DATE = getdate();
if @DATEFILTER = 0 -- all
begin
set @ENDDATE = null
end
if @DATEFILTER = 1 -- this week
begin
set @ENDDATE = dbo.UFN_DATE_THISWEEK_LASTDAY(@DATE, 0)
end
if @DATEFILTER = 2 -- this month
begin
set @ENDDATE = dbo.UFN_DATE_THISMONTH_LASTDAY(@DATE, 0)
end
if @DATEFILTER = 3 -- this quarter
begin
set @ENDDATE = dbo.UFN_DATE_THISQUARTER_LASTDAY(@DATE, 0)
end
if @ONLYSHOWUSERSEVENTS = 1
--CR249204-071806 added distinct to prevent duplicate tasks when the owner is also a coordinator
select distinct
EVENTTASK.ID,
case when EVENTTASK.STATUSCODE = 0 and datediff(day, @DATE, EVENTTASK.COMPLETEBYDATE) < 0 then
1
else
0
end as OVERDUE,
case when EVENTTASK.STATUSCODE = 0 and datediff(day, @DATE, EVENTTASK.COMPLETEBYDATE) < 0 then
'RES:warning'
when EVENTTASK.STATUSCODE = 1 then
'RES:checkmark'
else
'RES:lv_spacer'
end as IMAGE,
EVENTTASK.COMPLETEBYDATE,
EVENTTASK.NAME,
EVENT.NAME,
dbo.UFN_EVENT_GETNAME(EVENT.MAINEVENTID),
NF.NAME,
EVENTTASK.DATECOMPLETED,
EVENTTASK.STATUSCODE,
EVENTTASK.COMMENT,
EVENT.ID
from
dbo.EVENTTASK
inner join dbo.EVENT on EVENT.ID = EVENTTASK.EVENTID
left join dbo.EVENTCOORDINATOR on EVENTCOORDINATOR.EVENTID = EVENT.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(EVENTTASK.OWNERID) NF
where
(
EVENTCOORDINATOR.CONSTITUENTID = dbo.UFN_CONSTITUENT_GETIDFROMAPPUSERID(@CURRENTAPPUSERID)
or
EVENTTASK.OWNERID = dbo.UFN_CONSTITUENT_GETIDFROMAPPUSERID(@CURRENTAPPUSERID)
)
and
(
(@ENDDATE is null) or (EVENTTASK.COMPLETEBYDATE <= @ENDDATE)
)
and
(
(@SITEID is null)
or
(EVENT.ID in(select EVENTID from dbo.EVENTSITE where EVENTSITE.SITEID = @SITEID))
)
and
(
(@EVENTCATEGORYCODEID is null)
or
(EVENT.EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID)
)
and
(
(@EVENTLOCATIONID is null)
or
(EVENT.EVENTLOCATIONID = @EVENTLOCATIONID)
)
and
(
(EVENTTASK.STATUSCODE = 0)
or
(@INCLUDECOMPLETEDTASKS = 1)
)
order by
EVENTTASK.STATUSCODE asc,
EVENTTASK.COMPLETEBYDATE asc,
EVENTTASK.DATECOMPLETED asc;
else
select distinct
EVENTTASK.ID,
case when EVENTTASK.STATUSCODE = 0 and datediff(day, @DATE, EVENTTASK.COMPLETEBYDATE) < 0 then
1
else
0
end as OVERDUE,
case when EVENTTASK.STATUSCODE = 0 and datediff(day, @DATE, EVENTTASK.COMPLETEBYDATE) < 0 then
'RES:warning'
when EVENTTASK.STATUSCODE = 1 then
'RES:checkmark'
else
'RES:lv_spacer'
end as IMAGE,
EVENTTASK.COMPLETEBYDATE,
EVENTTASK.NAME,
EVENT.NAME,
dbo.UFN_EVENT_GETNAME(EVENT.MAINEVENTID),
NF.NAME,
EVENTTASK.DATECOMPLETED,
EVENTTASK.STATUSCODE,
EVENTTASK.COMMENT,
EVENT.ID
from
dbo.EVENTTASK
inner join dbo.EVENT on EVENT.ID = EVENTTASK.EVENTID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(EVENTTASK.OWNERID) NF
where
(
(@ENDDATE is null) or (EVENTTASK.COMPLETEBYDATE <= @ENDDATE)
)
and
(
(EVENTTASK.STATUSCODE = 0)
or
(@INCLUDECOMPLETEDTASKS = 1)
)
and
(
(@SITEID is null)
or
(EVENT.ID in(select EVENTID from dbo.EVENTSITE where EVENTSITE.SITEID = @SITEID))
)
and
(
(@EVENTCATEGORYCODEID is null)
or
(EVENT.EVENTCATEGORYCODEID = @EVENTCATEGORYCODEID)
)
and
(
(@EVENTLOCATIONID is null)
or
(EVENT.EVENTLOCATIONID = @EVENTLOCATIONID)
)
and (@CURRENTAPPUSERID IS NULL OR dbo.UFN_EVENT_USERHASSITEACCESS(@CURRENTAPPUSERID, EVENT.ID) = 1)
order by
EVENTTASK.STATUSCODE asc,
EVENTTASK.COMPLETEBYDATE asc,
EVENTTASK.DATECOMPLETED asc;