USP_KPI_EMAILPROCESS_JOBSTATUS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VALUE | int | INOUT | |
@ASOFDATE | datetime | IN | |
@STATUSCODE | int | IN | |
@INCLUDEBLASTS | bit | IN | |
@INCLUDEFUNDRAISERBLASTS | bit | IN | |
@INCLUDENEWSLETTERS | bit | IN | |
@INCLUDECAMPAIGNS | bit | IN | |
@INCLUDECHAPTER | bit | IN | |
@INCLUDEPERSONALPAGEBLASTS | bit | IN | |
@INCLUDEPROJECTAPPEALBLASTS | bit | IN | |
@INCLUDEPROJECTAPPEALSEED | bit | IN | |
@INCLUDESIGNUPNOTIFICATIONS | bit | IN | |
@INCLUDEDONATIONNOTIFICATIONS | bit | IN | |
@INCLUDEPAGESHARING | bit | IN | |
@INCLUDESITENOTIFICATIONS | bit | IN | |
@INCLUDEECARDS | bit | IN | |
@INCLUDEDIRECTMARKETING | bit | IN | |
@INCLUDETEST | bit | IN | |
@PROCESSID | uniqueidentifier | IN | |
@JOBTYPEID | uniqueidentifier | INOUT |
Definition
Copy
create procedure dbo.USP_KPI_EMAILPROCESS_JOBSTATUS(
@VALUE integer output,
@ASOFDATE datetime,
--@JOBTYPE integer,
@STATUSCODE integer,
@INCLUDEBLASTS bit,
@INCLUDEFUNDRAISERBLASTS bit,
@INCLUDENEWSLETTERS bit,
@INCLUDECAMPAIGNS bit,
@INCLUDECHAPTER bit,
@INCLUDEPERSONALPAGEBLASTS bit,
@INCLUDEPROJECTAPPEALBLASTS bit,
@INCLUDEPROJECTAPPEALSEED bit,
@INCLUDESIGNUPNOTIFICATIONS bit,
@INCLUDEDONATIONNOTIFICATIONS bit,
@INCLUDEPAGESHARING bit,
@INCLUDESITENOTIFICATIONS bit,
@INCLUDEECARDS bit,
@INCLUDEDIRECTMARKETING bit,
@INCLUDETEST bit,
@PROCESSID uniqueidentifier,
@JOBTYPEID uniqueidentifier = null output
)
as
begin
set nocount on;
-- actual source values
--declare @ENTERPRISE integer = 0;
--declare @NETCOMMUNITY integer = 1;
--declare @EXTERNAL integer = 2;
-- actual category values
declare @BLASTS integer = -1;
declare @FUNDRAISERBLASTS integer = -1;
declare @NEWSLETTERS integer = -1;
declare @CAMPAIGNS integer = -1;
declare @CHAPTER integer = -1;
declare @PERSONALPAGEBLASTS integer = -1;
declare @PROJECTAPPEALBLASTS integer = -1;
declare @PROJECTAPPEALSEED integer = -1;
declare @SIGNUPNOTIFICATIONS integer = -1;
declare @DONATIONNOTIFICATIONS integer = -1;
declare @PAGESHARING integer = -1;
declare @SITENOTIFICATIONS integer = -1;
declare @ECARDS integer = -1;
declare @DIRECTMARKETING integer = -1;
declare @TEST integer = -1;
if @INCLUDEBLASTS = 1
select @BLASTS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'Blast';
if @INCLUDEFUNDRAISERBLASTS = 1
select @FUNDRAISERBLASTS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'FundraiserBlast';
if @INCLUDENEWSLETTERS = 1
select @NEWSLETTERS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'Newsletter';
if @INCLUDECAMPAIGNS = 1
select @CAMPAIGNS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'Campaign';
if @INCLUDECHAPTER = 1
select @CHAPTER = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'Chapter';
if @INCLUDEPERSONALPAGEBLASTS = 1
select @PERSONALPAGEBLASTS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'PersonalPageBlast';
if @INCLUDEPROJECTAPPEALBLASTS = 1
select @PROJECTAPPEALBLASTS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'ProjectAppealBlastFinal';
if @INCLUDEPROJECTAPPEALSEED = 1
select @PROJECTAPPEALSEED = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'ProjectAppealSeed';
if @INCLUDESIGNUPNOTIFICATIONS = 1
select @SIGNUPNOTIFICATIONS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'SignupNotification';
if @INCLUDEDONATIONNOTIFICATIONS = 1
select @DONATIONNOTIFICATIONS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'DonationNotification';
if @INCLUDEPAGESHARING = 1
select @PAGESHARING = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'PageSharing';
if @INCLUDESITENOTIFICATIONS = 1
select @SITENOTIFICATIONS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'SiteNotification';
if @INCLUDEECARDS = 1
select @ECARDS = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'ECard';
if @INCLUDEDIRECTMARKETING = 1
select @DIRECTMARKETING = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'DirectMarketing';
if @INCLUDETEST = 1
select @TEST = CATEGORYID from dbo.EMAILCATEGORYPRIORITY where DESCRIPTION = 'Testing';
select @ASOFDATE = dbo.UFN_DATE_GETLATESTTIME(@ASOFDATE);
if @PROCESSID = '00000000-0000-0000-0000-000000000001'
set @JOBTYPEID = 'F79575E5-FE4F-47BD-954C-AB056EF109D9';
if @PROCESSID = '00000000-0000-0000-0000-000000000002'
set @JOBTYPEID = '5066A489-6282-400C-96AF-1ECC1B7F281F';
if @JOBTYPEID is null
set @JOBTYPEID = dbo.UFN_TRANSLATIONFUNCTION_EMAILPROCESS_GETTYPE(@PROCESSID);
if @JOBTYPEID = 'F79575E5-FE4F-47BD-954C-AB056EF109D9'
begin -- transactional
select @VALUE = count(*) from EMAILSTATUSTRANSACTIONAL
where (@STATUSCODE = (case when [STATUS] = 15 then 0
when [STATUS] = 3 then 2
when [STATUS] = 18 then 4
when [STATUS] in (6,8) then 5
when [STATUS] in (1,2,7,10) then 1
else 6 end
)
or
(@STATUSCODE = 7 and [STATUS] in (1,2,7,10,15))
or
(@STATUSCODE = 8 and [STATUS] in (3,6,8,18))
or
(@STATUSCODE = 9)
)
and
(@PROCESSID = (case when @PROCESSID = '00000000-0000-0000-0000-000000000001' then '00000000-0000-0000-0000-000000000001'
when @PROCESSID = '00000000-0000-0000-0000-000000000002' then '00000000-0000-0000-0000-000000000002'
else INTERNALJOBIDENTITY end))
end
else -- general purpose
begin
select @VALUE = count(*) from EMAILSTATUSGENERALPURPOSE
where (@STATUSCODE = (case when [STATUS] = 15 then 0
when [STATUS] = 3 then 2
when [STATUS] = 18 then 4
when [STATUS] in (6,8) then 5
when [STATUS] in (1,2,7,10) then 1
else 6 end
)
or
(@STATUSCODE = 7 and [STATUS] in (1,2,7,10,15))
or
(@STATUSCODE = 8 and [STATUS] in (3,6,8,18))
or
(@STATUSCODE = 9)
)
and
(
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@BLASTS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@FUNDRAISERBLASTS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@NEWSLETTERS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@CAMPAIGNS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@CHAPTER")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@PERSONALPAGEBLASTS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@PROJECTAPPEALBLASTS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@PROJECTAPPEALSEED")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@SIGNUPNOTIFICATIONS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@DONATIONNOTIFICATIONS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@PAGESHARING")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@SITENOTIFICATIONS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@ECARDS")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@DIRECTMARKETING")]') = 1
or
EMAILHEADER.exist('/EmailHeader/Type[text()=sql:variable("@TEST")]') = 1
)
and
(@PROCESSID = (case when @PROCESSID = '00000000-0000-0000-0000-000000000001' then '00000000-0000-0000-0000-000000000001'
when @PROCESSID = '00000000-0000-0000-0000-000000000002' then '00000000-0000-0000-0000-000000000002'
else INTERNALJOBIDENTITY end))
end
end