USP_BBIS_GETUNPROCESSEDTRANSACTIONCOUNTS

Definition

Copy


CREATE procedure dbo.USP_BBIS_GETUNPROCESSEDTRANSACTIONCOUNTS
as begin
  set nocount on;

    declare @CLIENTID int = 1;

    with
    UNPROCESSEDTRANSACTIONS_CTE as (
        --Donation Transactions

        select
            '{5705B543-4033-4a3a-BBCD-A731403EE1E6}' as TRANSACTIONTYPE,
            DT.DonationTransactionsID as TRANSACTIONID,0 as ISACQUISTION
        from
            dbo.fnTransactions_GetUnprocessedGiftsForClient(@CLIENTID) as DT

        union all

        --Event Transactions

        select
            '{172A5D9A-5241-493C-A2C2-EAC164C095B0}' as TRANSACTIONTYPE,
            ET.EventTransactionsID as TRANSACTIONID,0 as ISACQUISTION
        from
            dbo.fnTransactions_GetUnprocessedEventRegsForClient(@CLIENTID) as ET

        union all

        --Membership Transactions

        select
            '{D7D6143F-823D-4c74-AC2F-947CC96B7008}' as TRANSACTIONTYPE,
            MT.ID,0 as ISACQUISTION
        from
            dbo.MembershipTransactions MT
        inner join
            dbo.ClientMemberships CM on MT.ClientMembershipsID = CM.ID
        inner join
            dbo.SiteContent SC on CM.SiteContentID = SC.ID
        inner join
            dbo.ClientSites CS on SC.ClientSitesID = CS.ID
        where
            MT.processed_date is null and
            MT.IsDeleted=0 and
            MT.Status = 1 and
            CS.ClientsID = @CLIENTID 

        union all

        --Signup Transactions

        select
            '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}' as TRANSACTIONTYPE,
            ST.SignupTransactionsID, ST.SimpleEmailSignUp  as ISACQUISTION
        from
            dbo.SignupTransactions ST
        where
            ST.processed_date is null and
            ST.ClientsID = @CLIENTID and
            ST.IsDeleted = 0 


        union all

        --Profile Update Transactions

        select
            '{DCEAFCC7-0290-488e-A194-953DE66D6AAB}' as TRANSACTIONTYPE,
            PUT.ProfileUpdateTransactionsID as TRANSACTIONID,0 as ISACQUISTION
        from
            dbo.ProfileUpdateTransactions PUT 
        where
            processed_date is null and
            ClientsID = @CLIENTID  and
            IsDeleted=0 And
            Not BackOfficeID is null and
            --filter out dupe updates from count so BBEC UI shows correct initial count

            not exists(
                SELECT
                    null
                from
                    dbo.ProfileUpdateTransactions PUT2
                where
                    PUT.BackOfficeID = PUT2.BackOfficeID and
                    PUT2.ProfileUpdateTransactionsID > PUT.ProfileUpdateTransactionsID
            ) and
             dbo.UFN_BBNC_GETPROFILEUPDATECOUNTBYBACKOFFICEID(PUT.BackOfficeID) = 0
    ),

    UNPROCESSEDTRANSACTIONCOUNTS_CTE as (
        --Except Signup and Acquisition Transactions

        select
            UPT.TRANSACTIONTYPE,
            count(T.ID) as TRANSACTIONCOUNT,
            UPT.ISACQUISTION
        from
            UNPROCESSEDTRANSACTIONS_CTE UPT
        inner join
            dbo.Transactions T on T.[TransactionType] = UPT.[TRANSACTIONTYPE] and T.[TransactionID] = UPT.[TRANSACTIONID]
        left join
            dbo.BBNCDOWNLOADEDTRANSACTION DT on DT.[ID] = T.[ID]
        where
            DT.[ID] is null and UPT.[TRANSACTIONTYPE] <> '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'
        group by
            UPT.TRANSACTIONTYPE,UPT.ISACQUISTION

        union all
        --Signup and Acquisition Transactions

        select
            '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}' as TRANSACTIONTYPE,
            count(T.ID) as TRANSACTIONCOUNT,
            UPT.ISACQUISTION
        from
            UNPROCESSEDTRANSACTIONS_CTE UPT
        inner join
            dbo.Transactions T on T.[TransactionType] = UPT.[TRANSACTIONTYPE] and T.[TransactionID] = UPT.[TRANSACTIONID]
        left join
            dbo.BBNCDOWNLOADEDTRANSACTION DT on DT.[ID] = T.[ID]
        where
            DT.[ID] is null and UPT.[TRANSACTIONTYPE] = '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'
        group by
            UPT.ISACQUISTION
    ),

    UNPROCESSEDTRANSACTIONCOUNTSDISPLAY_CTE as (

    select 
         distinct TP.[ID] as ID, 
        TP.[NAME] as NAME,
        coalesce(UPTC.TRANSACTIONCOUNT,0) as TRANSACTIONCOUNT
    from
        dbo.NETCOMMUNITYTRANSACTIONPROCESSOR TP
        left join UNPROCESSEDTRANSACTIONCOUNTS_CTE UPTC on UPTC.TRANSACTIONTYPE = TP.TRANSACTIONTYPE
        left join dbo.NETCOMMUNITYBATCHPROCESSORSPLITMAPPING as MAPPING on TP.ID = MAPPING.NETCOMMUNITYTRANSACTIONPROCESSORID
        where MAPPING.ID is null and tp.TRANSACTIONTYPE <> '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'

        union all 

        select 
         distinct TP.[ID] as ID, 
         TP.[NAME] as NAME,
         coalesce(UPTC.TRANSACTIONCOUNT,0) as TRANSACTIONCOUNT
    from
        dbo.NETCOMMUNITYTRANSACTIONPROCESSOR TP
        inner join dbo.NETCOMMUNITYMAPPINGRULE as MAPPINGRULE on TP.id=MAPPINGRULE.NETCOMMUNITYTRANSACTIONPROCESSORID and MAPPINGRULE.MAPPINGTYPECODE = 0 
        left join UNPROCESSEDTRANSACTIONCOUNTS_CTE UPTC on UPTC.TRANSACTIONTYPE = TP.TRANSACTIONTYPE and uptc.ISACQUISTION=0
        left join dbo.NETCOMMUNITYBATCHPROCESSORSPLITMAPPING as MAPPING on TP.ID = MAPPING.NETCOMMUNITYTRANSACTIONPROCESSORID
        where MAPPING.ID is null and tp.TRANSACTIONTYPE = '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'
        and (MAPPINGRULE.INCLUDETRANSACTIONTYPECODE =1)

        union all 

        select 
         distinct TP.[ID] as ID, 
        TP.[NAME] as NAME,
        coalesce(UPTC.TRANSACTIONCOUNT,0) as TRANSACTIONCOUNT
    from
        dbo.NETCOMMUNITYTRANSACTIONPROCESSOR TP
        inner join dbo.NETCOMMUNITYMAPPINGRULE as MAPPINGRULE on TP.id=MAPPINGRULE.NETCOMMUNITYTRANSACTIONPROCESSORID and MAPPINGRULE.MAPPINGTYPECODE = 0
        left join UNPROCESSEDTRANSACTIONCOUNTS_CTE UPTC on UPTC.TRANSACTIONTYPE = TP.TRANSACTIONTYPE and uptc.ISACQUISTION=1
        left join dbo.NETCOMMUNITYBATCHPROCESSORSPLITMAPPING as MAPPING on TP.ID = MAPPING.NETCOMMUNITYTRANSACTIONPROCESSORID
        where MAPPING.ID is null and tp.TRANSACTIONTYPE = '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'
        and (MAPPINGRULE.INCLUDETRANSACTIONTYPECODE =2)

        union all 

        select 
         distinct TP.[ID] as ID, 
         TP.[NAME] as NAME,
         coalesce(sum(UPTC.TRANSACTIONCOUNT),0) as TRANSACTIONCOUNT
    from
        dbo.NETCOMMUNITYTRANSACTIONPROCESSOR TP
        inner join dbo.NETCOMMUNITYMAPPINGRULE as MAPPINGRULE on TP.id=MAPPINGRULE.NETCOMMUNITYTRANSACTIONPROCESSORID and MAPPINGRULE.MAPPINGTYPECODE = 0 
        left join UNPROCESSEDTRANSACTIONCOUNTS_CTE UPTC on UPTC.TRANSACTIONTYPE = TP.TRANSACTIONTYPE
        left join dbo.NETCOMMUNITYBATCHPROCESSORSPLITMAPPING as MAPPING on TP.ID = MAPPING.NETCOMMUNITYTRANSACTIONPROCESSORID
        where MAPPING.ID is null and tp.TRANSACTIONTYPE = '{5F84002B-ABB1-4F50-A244-D4B14FBB1579}'
        and (MAPPINGRULE.INCLUDETRANSACTIONTYPECODE=3)
    group by TP.[ID],TP.[NAME]
        )
        select ID,NAME,Max(TRANSACTIONCOUNT) as TRANSACTIONCOUNT from UNPROCESSEDTRANSACTIONCOUNTSDISPLAY_CTE
        group by ID,NAME
        order by NAME
end