USP_DATALIST_CONSTITUENTAPPEAL

Returns a list of appeals sent to this constituent.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEFILTERMODE tinyint IN Sites
@SITESSELECTED xml IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_CONSTITUENTAPPEAL 
(
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier = null,
    @SITEFILTERMODE tinyint = 0,
    @SITESSELECTED xml = null
)
as
    set nocount on;

    select
        CONSTITUENTAPPEAL.ID,
        CONSTITUENTAPPEAL.APPEALID,
        APPEAL.NAME APPEALNAME,
        APPEAL.DESCRIPTION,
        CONSTITUENTAPPEAL.DATESENT,
        CONSTITUENTAPPEAL.SOURCECODE,
        case when CONSTITUENTAPPEAL.FINDERNUMBER = 0 then null else CONSTITUENTAPPEAL.FINDERNUMBER end as FINDERNUMBER,
        CONSTITUENTAPPEAL.COMMENTS,
        CONSTITUENTAPPEAL.MKTSEGMENTATIONID,
        CONSTITUENTAPPEAL.MKTSEGMENTATIONSEGMENTID,

        case
            when MAILLETTER.ID is not null then MAILLETTER.NAME + ' (Mail)'
            when EMAILLETTER.ID is not null then EMAILLETTER.NAME + ' (Email)'
            else ''
        end    LETTER,

        MKTPACKAGE.NAME as PACKAGE,
        MKTSEGMENTATION.NAME as MAILING,
        dbo.UFN_MKTSEGMENTATIONSEGMENT_GETNAME(CONSTITUENTAPPEAL.MKTSEGMENTATIONSEGMENTID) as SEGMENT,
        dbo.UFN_MKTSEGMENTATIONTESTSEGMENT_GETNAME(CONSTITUENTAPPEAL.MKTSEGMENTATIONTESTSEGMENTID) as TESTSEGMENT,
        (case 
            when exists(select 1 from dbo.CONSTITUENTAPPEALRESPONSE where CONSTITUENTAPPEALRESPONSE.CONSTITUENTAPPEALID=CONSTITUENTAPPEAL.ID) then convert(bit,1
            else convert(bit,0
        end) as HASRESPONSES,
        cast((case when APPEALMAILING.ID is not null then 1 else 0 end) as bit) as ISAPPEALMAILING,
        case
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, 1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then 'Future'
            when CONSTITUENTAPPEAL.DATESENT >= dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0) then 'This month'
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then 'Last month'
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -2, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then 'Two months ago'
            else 'Older'
        end TIMEFRAMETEXT,
        case
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, 1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then '0'
            when CONSTITUENTAPPEAL.DATESENT >= dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0) then '2'
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -1, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then '4'
            when CONSTITUENTAPPEAL.DATESENT >= dateadd(month, -2, dbo.UFN_DATE_THISMONTH_FIRSTDAY(getdate(), 0)) then '6'
            else '8'
        end TIMEFRAMEGROUPSORT, 
        SITE.NAME,
        MKTSEGMENTATION.MAILINGFAMILYTYPECODE
    from dbo.CONSTITUENTAPPEAL
    inner join dbo.APPEAL 
        on APPEAL.ID = CONSTITUENTAPPEAL.APPEALID
    left join dbo.MKTPACKAGE 
        on MKTPACKAGE.ID = CONSTITUENTAPPEAL.MKTPACKAGEID
    left join dbo.MKTSEGMENTATION 
        on MKTSEGMENTATION.ID = CONSTITUENTAPPEAL.MKTSEGMENTATIONID 
    left join dbo.APPEALMAILING 
        on APPEALMAILING.ID = CONSTITUENTAPPEAL.MKTSEGMENTATIONID
    left join dbo.APPEALMAILINGSETUPLETTER MAILLETTER
        on CONSTITUENTAPPEAL.MKTSEGMENTATIONID = MAILLETTER.APPEALMAILINGSETUPID
            and CONSTITUENTAPPEAL.MKTPACKAGEID = MAILLETTER.MAILPACKAGEID
    left join dbo.APPEALMAILINGSETUPLETTER EMAILLETTER
        on CONSTITUENTAPPEAL.MKTSEGMENTATIONID = EMAILLETTER.APPEALMAILINGSETUPID
            and CONSTITUENTAPPEAL.MKTPACKAGEID = EMAILLETTER.EMAILPACKAGEID
    left join dbo.SITE 
        on SITE.ID=APPEAL.SITEID
    where CONSTITUENTAPPEAL.CONSTITUENTID = @ID
    and dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, APPEAL.SITEID) = 1 and
            (@SITEFILTERMODE = 0
                or exists(
                    select 1
                    from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
                    where SITEFILTER.SITEID = APPEAL.SITEID)
            )
    order by TIMEFRAMEGROUPSORT asc, CONSTITUENTAPPEAL.DATESENT desc;