USP_DATALIST_FAFDASHBOARDCOMMUNICATIONS
Get list for faf communications dashboard.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CLIENTUSERSID | int | IN | Client Users ID |
@EVENTID | uniqueidentifier | IN | Event ID |
@TYPECODE | tinyint | IN | Type |
@DASHBOARDTYPE | tinyint | IN | Dashboardtype |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FAFDASHBOARDCOMMUNICATIONS
(
@CLIENTUSERSID int,
@EVENTID uniqueidentifier,
@TYPECODE Tinyint = 0, -- 0: Individual, 1:Team, 2:Company, 3:Household 4: Household and team member
@DASHBOARDTYPE Tinyint = 0 -- 0:Donor, 1:Participant
)
as
set nocount on;
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 @MYLOG table (
GROUPNAME nvarchar(100),
ADDRESSBOOKID uniqueidentifier null,
CONSTITUENTID uniqueidentifier null,
PAGEVISITS int,
NAME varchar(256) null
)
insert into @MYADDRESSBOOK
exec usp_datalist_fafaddressbookcontactsearch @CLIENTUSERSID,@EVENTID
INSERT INTO @MYLOG
SELECT distinct
AB.GROUPNAME,
AB.ADDRESSBOOKID,
AB.CONSTITUENTID,
(CASE WHEN CL.PAGEVISITS IS NULL THEN -1 ELSE CL.PAGEVISITS END) as PAGEVISITS,
AB.NAME
from @MYADDRESSBOOK AB
LEFT OUTER JOIN dbo.FAFCOMMUNICATIONSLOG CL (NOLOCK)
ON AB.EMAILADDRESS = CL.EMAILADDRESS
AND CL.MESSAGETYPECODE = 1 AND CL.EVENTID = @EVENTID
AND AB.ADDRESSBOOKID = CL.ADDRESSBOOKID
WHERE AB.GROUPNAME = 'Contacts'
IF @DASHBOARDTYPE = 0
INSERT INTO @MYLOG
SELECT distinct
AB.GROUPNAME,
AB.ADDRESSBOOKID,
AB.CONSTITUENTID,
(CASE WHEN CL.PAGEVISITS IS NULL THEN -1 ELSE CL.PAGEVISITS END) as PAGEVISITS,
AB.NAME
from @MYADDRESSBOOK AB
LEFT OUTER JOIN dbo.FAFCOMMUNICATIONSLOG CL (NOLOCK)
ON AB.EMAILADDRESS = CL.EMAILADDRESS
AND CL.MESSAGETYPECODE = 1 AND CL.EVENTID = @EVENTID
AND AB.CONSTITUENTID = CL.CONSTITUENTID
WHERE AB.GROUPNAME = 'Donors - previous'
IF @DASHBOARDTYPE = 1
BEGIN
IF @TYPECODE IN (1,4)
INSERT INTO @MYLOG
SELECT distinct
AB.GROUPNAME,
AB.ADDRESSBOOKID,
AB.CONSTITUENTID,
(CASE WHEN CL.PAGEVISITS IS NULL THEN -1 ELSE CL.PAGEVISITS END) as PAGEVISITS,
AB.NAME
from @MYADDRESSBOOK AB
LEFT OUTER JOIN dbo.FAFCOMMUNICATIONSLOG CL (NOLOCK)
ON AB.EMAILADDRESS = CL.EMAILADDRESS
AND CL.MESSAGETYPECODE = 1 AND CL.EVENTID = @EVENTID
AND AB.CONSTITUENTID = CL.CONSTITUENTID
WHERE AB.GROUPNAME = 'Team members - Previous'
IF @TYPECODE IN (3,4)
INSERT INTO @MYLOG
SELECT distinct
AB.GROUPNAME,
AB.ADDRESSBOOKID,
AB.CONSTITUENTID,
(CASE WHEN CL.PAGEVISITS IS NULL THEN -1 ELSE CL.PAGEVISITS END) as PAGEVISITS,
AB.NAME
from @MYADDRESSBOOK AB
LEFT OUTER JOIN dbo.FAFCOMMUNICATIONSLOG CL (NOLOCK)
ON AB.EMAILADDRESS = CL.EMAILADDRESS
AND CL.MESSAGETYPECODE = 1 AND CL.EVENTID = @EVENTID
AND AB.CONSTITUENTID = CL.CONSTITUENTID
WHERE AB.GROUPNAME = 'Household members - Previous'
IF @TYPECODE = 2
INSERT INTO @MYLOG
SELECT distinct
AB.GROUPNAME,
AB.ADDRESSBOOKID,
AB.CONSTITUENTID,
(CASE WHEN CL.PAGEVISITS IS NULL THEN -1 ELSE CL.PAGEVISITS END) as PAGEVISITS,
AB.NAME
from @MYADDRESSBOOK AB
LEFT OUTER JOIN dbo.FAFCOMMUNICATIONSLOG CL (NOLOCK)
ON AB.EMAILADDRESS = CL.EMAILADDRESS
AND CL.MESSAGETYPECODE = 1 AND CL.EVENTID = @EVENTID
AND AB.CONSTITUENTID = CL.CONSTITUENTID
WHERE AB.GROUPNAME IN ('Team Leaders - Previous','Household Leaders - Previous','Individuals - Previous')
END
SELECT
GROUPNAME,
ADDRESSBOOKID,
CONSTITUENTID,
SUM(PAGEVISITS) as PAGEVISITS,
NAME
FROM @MYLOG
GROUP BY GROUPNAME,ADDRESSBOOKID,CONSTITUENTID,NAME