USP_DATALIST_FAFTEAMLEADERTASKS
Get list of pending tasks for Team Leaders
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLIENTUSERSID | int | IN | Client Users ID |
@EVENTID | uniqueidentifier | IN | Event ID |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FAFTEAMLEADERTASKS
(
@CLIENTUSERSID int,
@EVENTID uniqueidentifier
)
as
set nocount on;
set nocount on;
DECLARE @CONSTITUENTID uniqueidentifier
SET @CONSTITUENTID = dbo.UFN_CONSTITUENT_GET_BY_CLIENTUSERID(@CLIENTUSERSID)
DECLARE @TASKLIST table (
TASKNAME nvarchar(100),
DISPLAYFLAG bit
)
DECLARE @MYADDRESSBOOK table (
GROUPNAME nvarchar(100),
CATEGORYSTATUS nvarchar(100),
ADDRESSBOOKID uniqueidentifier null,
NAME varchar(256) null,
CONSTITUENTID uniqueidentifier null,
EMAILADDRESS varchar(200) null,
REGISTRANTID uniqueidentifier null
)
DECLARE @ACKNOWLEDGEGIFT table (
CONSTITUENTID uniqueidentifier,
DONATIONDATE datetime,
DONATIONAMOUNT money,
ISACKNOWLEDGED bit,
REVENUEID uniqueidentifier,
REVENUESPLITID uniqueidentifier,
TYPE varchar(20),
NAME varchar(250)
)
DECLARE @MONEYRAISED money
DECLARE @TEAMID uniqueidentifier
DECLARE @REGISTRANTID uniqueidentifier
DECLARE @PREVIOUSEVENT uniqueidentifier
DECLARE @TEAMMEMBERS int
DECLARE @EVENTSTATUS bit -- 1:active, 0:not active
DECLARE @STORYSTATUS bit
DECLARE @IMAGESTATUS bit
DECLARE @PASTDONORS integer
IF EXISTS (Select 1 from dbo.EVENT (NOLOCK) WHERE ID = @EVENTID AND ENDDATE IS NOT NULL AND (ENDDATE < getdate()) AND DATEADD(dd,7,ENDDATE) > getdate())
SET @EVENTSTATUS = 0
SELECT @PREVIOUSEVENT = PRIORYEAREVENTID from dbo.EVENTEXTENSION (NOLOCK) WHERE EVENTID = @EVENTID
INSERT INTO @TASKLIST
VALUES('Upload a team photo',0)
INSERT INTO @TASKLIST
VALUES('Write your team story',0)
INSERT INTO @TASKLIST
VALUES('Remind teammates to ask new donors',0)
INSERT INTO @TASKLIST
VALUES('Remind teammates to ask past donors',0)
INSERT INTO @TASKLIST
VALUES('Acknowledge team gifts',0)
INSERT INTO @TASKLIST
VALUES('Ask teammates to recruit more members',0)
INSERT INTO @TASKLIST
VALUES('Acknowledge team members',0)
SELECT @TEAMID = TEAMID, @REGISTRANTID = RegistrantID
from dbo.UFN_FAF_GETTEAMINFO_BY_REGISTRANT(@CONSTITUENTID, @EVENTID)
Insert into @ACKNOWLEDGEGIFT
exec USP_DATALIST_FAF_GIFT_ACKNOWLEDGEMENT_TEAM @EVENTID,@TEAMID,@CLIENTUSERSID
Insert into @MYADDRESSBOOK
exec dbo.usp_datalist_fafaddressbookcontactsearch @CLIENTUSERSID,@EVENTID
SELECT @PASTDONORS = count(*) from @MYADDRESSBOOK where groupname = 'Donors - previous'
IF EXISTS (Select 1 from dbo.STORY (NOLOCK) WHERE EVENTID = @EVENTID AND TEAMFUNDRAISINGTEAMID = @TEAMID AND FAFIMAGESID IS NOT NULL)
SET @IMAGESTATUS = 0
ELSE
SET @IMAGESTATUS = 1
IF EXISTS (Select 1 from dbo.STORY (NOLOCK) WHERE EVENTID = @EVENTID AND TEAMFUNDRAISINGTEAMID = @TEAMID AND ISNULL(STORYTEXT,'') > '')
SET @STORYSTATUS = 0
ELSE
SET @STORYSTATUS = 1
IF @IMAGESTATUS = 0
IF EXISTS (SELECT 1 FROM dbo.STORY S (NOLOCK) INNER JOIN dbo.STORY DS (NOLOCK)
ON S.EVENTID = DS.EVENTID AND S.FAFIMAGESID = DS.FAFIMAGESID AND S.TYPECODE = DS.TYPECODE
WHERE S.TEAMFUNDRAISINGTEAMID = @TEAMID AND DS.REGISTRANTID IS NULL AND DS.TEAMFUNDRAISINGTEAMID IS NULL
AND DS.FAFIMAGESID IS NOT NULL AND DS.TYPECODE = 1)
SET @IMAGESTATUS = 1
IF @STORYSTATUS = 0
IF EXISTS (SELECT 1 FROM dbo.STORY S (NOLOCK) INNER JOIN dbo.STORY DS (NOLOCK)
ON S.EVENTID = DS.EVENTID AND S.STORYTEXT = DS.STORYTEXT AND S.TYPECODE = DS.TYPECODE
WHERE S.TEAMFUNDRAISINGTEAMID = @TEAMID AND DS.REGISTRANTID IS NULL AND DS.TEAMFUNDRAISINGTEAMID IS NULL
AND DS.STORYTEXT IS NOT NULL AND DS.TYPECODE = 1)
SET @STORYSTATUS = 1
SELECT @MONEYRAISED = dbo.UFN_REVENUE_GETTEAMRAISEDTOTAL(@TEAMID, @EVENTID)
SELECT @TEAMMEMBERS = count(*) from dbo.UFN_FAF_TEAMMEMBERLIST(@CONSTITUENTID,@EVENTID)
SET @TEAMMEMBERS = ISNULL(@TEAMMEMBERS,0)+1
IF @IMAGESTATUS = 1
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Upload a team photo'
IF @STORYSTATUS = 1
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Write your team story'
IF EXISTS (SELECT 1 FROM dbo.TEAMFUNDRAISINGTEAM (NOLOCK)
where ID = @TEAMID and GOAL > 0 and GOAL > ISNULL(@MONEYRAISED,0))
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Remind teammates to ask new donors'
IF @PREVIOUSEVENT IS NOT NULL
IF EXISTS (SELECT 1 FROM dbo.TEAMFUNDRAISINGTEAM (NOLOCK)
where ID = @TEAMID and GOAL > 0 and GOAL > ISNULL(@MONEYRAISED,0)) and @PASTDONORS > 0
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Remind teammates to ask past donors'
IF EXISTS (select 1 from @ACKNOWLEDGEGIFT WHERE TYPE = 'DONOR' AND ISACKNOWLEDGED = 0)
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Acknowledge team gifts'
IF EXISTS (SELECT 1 FROM dbo.TEAMEXTENSION (NOLOCK)
where TEAMFUNDRAISINGTEAMID = @TEAMID and TEAMMEMBERGOAL > 0 and TEAMMEMBERGOAL > ISNULL(@TEAMMEMBERS,0))
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Ask teammates to recruit more members'
IF @EVENTSTATUS = 0 -- need to store a flag if email is sent
UPDATE @TASKLIST
SET DISPLAYFLAG = 1
WHERE TASKNAME = 'Acknowledge team members'
select TASKNAME,
DISPLAYFLAG
from @TASKLIST