USP_DATALIST_GROUPRECOGINITIONTRANSACTIONS

List of transactions made in recognition of group and its members.

Parameters

Parameter Parameter Type Mode Description
@CONTEXTID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@TRANSACTIONTYPECODE tinyint IN Transaction type
@NAME nvarchar(210) IN Donor
@CURRENTAPPUSERID uniqueidentifier IN
@SITEFILTERMODE tinyint IN
@SITESSELECTED xml IN
@SECURITYFEATUREID uniqueidentifier IN
@SECURITYFEATURETYPE tinyint IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_GROUPRECOGINITIONTRANSACTIONS
(
  @CONTEXTID uniqueidentifier,
  @TRANSACTIONTYPECODE tinyint = null,
  @NAME nvarchar(210) = null,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITEFILTERMODE tinyint = 0,
  @SITESSELECTED xml = null,
  @SECURITYFEATUREID uniqueidentifier = null,
  @SECURITYFEATURETYPE tinyint = null
)
as
    set nocount on;

  ;With [TopLevelConstituent] (TEAMID, PARENTTEAMID, CONSTITUENTID)
  as 
  (    
      select TFT.ID, TFT.PARENTTEAMID, TF.CONSTITUENTID from TEAMFUNDRAISINGTEAMMEMBER TFTM
      join TEAMFUNDRAISINGTEAM TFT ON TFTM.TEAMFUNDRAISINGTEAMID = TFT.ID
      join TEAMEXTENSION TX on TFT.ID = TX.TEAMFUNDRAISINGTEAMID
      join TEAMFUNDRAISER TF on TFTM.TEAMFUNDRAISERID = TF.ID             
  ),
  [NextLevelConstituent]
  as (
    select TEAMID as PARENTTEAMID, TEAMID, CONSTITUENTID
        from [TopLevelConstituent]

      Union All

      select NL.PARENTTEAMID, TL.TEAMID, TL.CONSTITUENTID 
      from [NextLevelConstituent] NL
          join [TopLevelConstituent] TL on NL.TEAMID = TL.PARENTTEAMID
  ),
  [AllConstituent] (PARENTTEAMID, CONSTITUENTID,EVENTID)
  as (
    select PARENTTEAMID, CONSTITUENTID, TX.EVENTID from [NextLevelConstituent] NLC
    left join TEAMEXTENSION TX on TX.TEAMFUNDRAISINGTEAMID = NLC.PARENTTEAMID    
    where NLC.PARENTTEAMID = @CONTEXTID 

    union 

    select TX.TEAMFUNDRAISINGTEAMID, TX.TEAMCONSTITUENTID, TX.EVENTID
    from TEAMEXTENSION TX 
      where TX.TEAMFUNDRAISINGTEAMID = @CONTEXTID 
  )

    select
      R.ID,
      CDONOR.ID as DONORCONSTITUENTID,
      CDONOR.NAME, 
      RS.AMOUNT,
      R.[DATE],
      R.TRANSACTIONTYPE,
      R.LOOKUPID, 
      RPM.PAYMENTMETHOD,
      RS.[TYPE],
      RS.APPLICATION

    from
      [AllConstituent] AL
    join EVENT E on AL.EVENTID = E.ID
    join REVENUERECOGNITION RR on AL.CONSTITUENTID = RR.CONSTITUENTID
    join REVENUESPLIT RS on RR.REVENUESPLITID = RS.ID
    join REVENUE R on RS.REVENUEID = R.ID AND R.APPEALID = E.APPEALID and (R.TRANSACTIONTYPECODE = 0 and RS.APPLICATIONCODE in (0, 1, 7, 15, 17) OR R.TRANSACTIONTYPECODE IN (1,2) )
    left join REVENUEPAYMENTMETHOD RPM on RPM.REVENUEID = R.ID
    left join CONSTITUENT CDONOR on CDONOR.ID = R.CONSTITUENTID    
    where (R.TRANSACTIONTYPECODE = @TRANSACTIONTYPECODE or @TRANSACTIONTYPECODE is null)
    and (CDONOR.NAME like '%' + @NAME + '%' or @NAME is null)
    and (
          @SITEFILTERMODE = 0
          or (
              exists(
                      select 1 from dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RS.ID) REVENUESITE
                      where REVENUESITE.SITEID in (select SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED))
                    )
            )
        )
  -- Check site security
    and (
         exists(
            select 1 from  dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RS.ID) REVENUESITE
            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVENUESITE].[SITEID] or (SITEID is null and [REVENUESITE].[SITEID] is null))) )
        )