USP_DATALIST_PENDINGGIFTSFORRECOGNITION

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@EVENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_PENDINGGIFTSFORRECOGNITION
(
  @CONSTITUENTID uniqueidentifier,
  @EVENTID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint = null
)
as
  set nocount on;

  declare @ISADMIN bit;
  set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);

    select 
    REV.ID, 
    REV.TYPE as APPLICATIONTYPE, 
    case when RPM.PAYMENTMETHODCODE is null or RPM.PAYMENTMETHODCODE = 9 THEN
      coalesce(CURRENCY.CURRENCYSYMBOL, '$') + CAST(REV.TRANSACTIONAMOUNT as nvarchar(100)) + ' pending gift ' 
        + case when VBAL.BALANCE <> REV.TRANSACTIONAMOUNT then '(' + coalesce(CURRENCY.CURRENCYSYMBOL, '$') + cast((REV.TRANSACTIONAMOUNT - VBAL.BALANCE) as nvarchar(15)) + ' received) ' else '' end 
        + ' from ' + NF.NAME
    else
      case when len(coalesce(CPM.CHECKNUMBER, REVENUEOFFLINEDONATION.CHECKNUMBER, '')) > 0 then
        coalesce(CURRENCY.CURRENCYSYMBOL, '$') + CAST(REV.TRANSACTIONAMOUNT as nvarchar(100)) + ' pending gift ' 
    + case when VBAL.BALANCE <> REV.TRANSACTIONAMOUNT then '(' + coalesce(CURRENCY.CURRENCYSYMBOL, '$') + cast((REV.TRANSACTIONAMOUNT - VBAL.BALANCE) as nvarchar(15)) + ' received) ' else '' end 
       + ' from ' + NF.NAME + ' (' + RPM.PAYMENTMETHOD + ' #' + coalesce(CPM.CHECKNUMBER, REVENUEOFFLINEDONATION.CHECKNUMBER, '') + ')'
      else
        coalesce(CURRENCY.CURRENCYSYMBOL, '$') + CAST(REV.TRANSACTIONAMOUNT as nvarchar(100)) + ' pending gift ' 
    + case when VBAL.BALANCE <> REV.TRANSACTIONAMOUNT then '(' + coalesce(CURRENCY.CURRENCYSYMBOL, '$') + cast((REV.TRANSACTIONAMOUNT - VBAL.BALANCE) as nvarchar(15)) + ' received) ' else '' end 
       + ' from ' + NF.NAME + ' (' + RPM.PAYMENTMETHOD + ')'
      end
    end as DESCRIPTION, 
    EM.NAME as RECOGNITION, 
    REV.DATE
    REV.TRANSACTIONAMOUNT as AMOUNT,
    17 as APPLICATIONTYPECODE,
    VBAL.BALANCE as BALANCE,
    (REV.TRANSACTIONAMOUNT - VBAL.BALANCE) as PAID
  from dbo.FINANCIALTRANSACTION REV (nolock) 
    join dbo.REVENUE_EXT REVX (nolock) on REVX.ID = REV.ID
    join dbo.EVENT E (nolock) on E.APPEALID = REVX.APPEALID and E.ID = @EVENTID
    join dbo.FINANCIALTRANSACTIONLINEITEM RS (nolock) on RS.FINANCIALTRANSACTIONID = REV.ID
    left join dbo.REVENUEPAYMENTMETHOD RPM With (NOLOCK) on RPM.REVENUEID = REV.ID 
    left join dbo.CHECKPAYMENTMETHODDETAIL CPM with (nolock) on CPM.ID = RPM.ID
    left join dbo.REVENUERECOGNITION RR (nolock) on RR.REVENUESPLITID = RS.ID 
    left join dbo.REVENUEOFFLINEDONATION (nolock) on REVENUEOFFLINEDONATION.ID = REV.ID
    outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(RR.CONSTITUENTID) EM
    cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REV.CONSTITUENTID) NF
    left join V_QUERY_REVENUE_PLEDGEBALANCE VBAL (nolock) on VBAL.ID = [REV].ID
    left join dbo.CURRENCY (nolock) on CURRENCY.ID = REV.TRANSACTIONCURRENCYID
  where [REV].TYPECODE = 9
    and VBAL.BALANCE > 0
    and RR.CONSTITUENTID = @CONSTITUENTID
    and exists(--Check site security

      select 1
      from dbo.UFN_SITEID_MAPFROM_REVENUEID(REV.ID) as SITE
      where (@ISADMIN = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[SITE].[SITEID] or (SITEID is null and [SITE].[SITEID] is null)))
    )