UFN_SMARTQUERY_POTENTIALMATCHINGGIFTS

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTSELECTIONID uniqueidentifier IN
@ORGANIZATIONID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@CURRENTAPPUSERID uniqueidentifier IN
@MAXROWS int IN

Definition

Copy


                create function dbo.UFN_SMARTQUERY_POTENTIALMATCHINGGIFTS
                (
                    @CONSTITUENTSELECTIONID uniqueidentifier,
                    @ORGANIZATIONID uniqueidentifier,
                    @STARTDATE datetime,
                    @ENDDATE datetime,
                    @CURRENTAPPUSERID uniqueidentifier = null,           
                    @MAXROWS int
                )
                returns table
                as
                return
                (

                    with REVENUE_CTE as
                    (
                        select
                            FINANCIALTRANSACTION.ID,
                            FINANCIALTRANSACTION.DATE,
                            FINANCIALTRANSACTION.CONSTITUENTID,
                            FINANCIALTRANSACTION.TYPECODE,
                            FINANCIALTRANSACTION.BASEAMOUNT,
                            FINANCIALTRANSACTION.TYPE,
                            isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID) BASECURRENCYID,
                            FINANCIALTRANSACTION.TRANSACTIONCURRENCYID
                        from
                            dbo.FINANCIALTRANSACTION
                                with (INDEX (IX_FINANCIALTRANSACTION_CONSTITUENTID_TYPECODE_DATE))
                              left join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID                                
                              left join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                              left join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID                                
                        where
                            dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or
                            dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORREVENUE(@CURRENTAPPUSERID, '778D5449-AA1E-4E30-9FB2-E8181E53F45F', FINANCIALTRANSACTION.ID) = 1
                    )
                    select top (@MAXROWS)
                        [ORGC].ID as [ORGID],
                        [ORGC].NAME as [ORGNAME], 
                        [INDC].ID as [INDIVIDUALID],
                        [INDC].NAME as [INDIVIDUALNAME],
                        sum(FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT) as [REVENUEAMOUNT],
                        sum(FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT) as [TRANSACTIONREVENUEAMOUNT],
                        sum(FINANCIALTRANSACTIONLINEITEM.ORGAMOUNT) as [ORGANIZATIONREVENUEAMOUNT],
                        cast(REVENUE.DATE as datetime) [REVENUEDATE],
                        REVENUE.ID as [REVENUEID],
                        REVENUE.TYPECODE as [REVENUETYPECODE],
                        REVENUE.TYPE as [REVENUETYPE],
                        REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE as [REVENUEPAYMENTMETHODCODE],
                        REVENUEPAYMENTMETHOD.PAYMENTMETHOD as [REVENUEPAYMENTMETHOD],
                        dbo.UDA_BUILDLIST(distinct DESIGNATION.NAME) as [DESIGNATIONLIST],
                        REVENUE.BASECURRENCYID,
                        REVENUE.TRANSACTIONCURRENCYID,
                        CURRENCY.ID as ORGANIZATIONCURRENCYID
                    from 
                        dbo.CONSTITUENT as [ORGC]
                        inner join dbo.RELATIONSHIP on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = [ORGC].ID
                        inner join dbo.CONSTITUENT as [INDC] on [INDC].ID = RELATIONSHIP.RECIPROCALCONSTITUENTID
                        left join dbo.UFN_IDSETREADER_GETRESULTS_GUID(@CONSTITUENTSELECTIONID) as [IDSET] on [IDSET].ID = [INDC].ID
                        left join REVENUE_CTE as REVENUE on REVENUE.CONSTITUENTID = [INDC].ID and REVENUE.ID not in (select MGSOURCEREVENUEID from dbo.REVENUEMATCHINGGIFT inner join dbo.REVENUE on REVENUE.ID = REVENUEMATCHINGGIFT.ID where REVENUE.CONSTITUENTID = [ORGC].ID)
                        left outer join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID
                        inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = REVENUE.ID
                        inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = FINANCIALTRANSACTIONLINEITEM.ID
                        left join dbo.DESIGNATION on DESIGNATION.ID = REVENUESPLIT_EXT.DESIGNATIONID
                        left join dbo.CURRENCY on CURRENCY.ISORGANIZATIONCURRENCY = 1
                    where 
                        (@ORGANIZATIONID is null or [ORGC].ID = @ORGANIZATIONID)
                        and ((select count(ID) from dbo.MATCHINGGIFTCONDITION where ORGANIZATIONID = [ORGC].ID) > 0)
                        and [ORGC].ISORGANIZATION = 1
                        and [INDC].ISORGANIZATION = 0
                        and (@STARTDATE is null or REVENUE.DATE >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE))
                        and (@ENDDATE is null or REVENUE.DATE <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE))
                        and (@CONSTITUENTSELECTIONID is null or not [IDSET].ID is null)
                        and REVENUE.TYPECODE not in (1, 2, 3)
                        and REVENUESPLIT_EXT.TYPECODE = 0
                        and REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE not in (5, 6, 8, 9) --JamesWill 01/03/2008 CR290624-122807 

                        and (REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE <> 4 or not exists(select ID from dbo.STOCKSALE where STOCKDETAILID = REVENUEPAYMENTMETHOD.ID)) -- Sold stock

                        and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or 
                                (
                                    (dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT(@CURRENTAPPUSERID, '778D5449-AA1E-4E30-9FB2-E8181E53F45F', ORGC.ID) = 1)
                                    and
                                    (dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT_BYSITE(@CURRENTAPPUSERID, '778D5449-AA1E-4E30-9FB2-E8181E53F45F', ORGC.ID) = 1)
                                    and
                                    (dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT(@CURRENTAPPUSERID, '778D5449-AA1E-4E30-9FB2-E8181E53F45F', INDC.ID) = 1)
                                    and
                                    (dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_FORCONSTIT_BYSITE(@CURRENTAPPUSERID, '778D5449-AA1E-4E30-9FB2-E8181E53F45F', INDC.ID) = 1)
                                )
                            )
                    group by
                        REVENUE.ID,
                        ORGC.ID,
                        ORGC.NAME,
                        INDC.ID,
                        INDC.NAME,
                        REVENUE.DATE,
                        REVENUE.TYPECODE,
                        REVENUE.TYPE,
                        REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE,
                        REVENUEPAYMENTMETHOD.PAYMENTMETHOD,
                        RELATIONSHIP.ID,
                        REVENUE.BASECURRENCYID,
                        REVENUE.TRANSACTIONCURRENCYID,
                        CURRENCY.ID
                    order by
                        ORGNAME,
                        INDIVIDUALNAME
                )