UFN_CORPORATESTRUCTURE_GETDONORTOTAL

Returns the donor total for the given corporate structure based on the currently selected corporations and time period.

Return

Return Type
int

Parameters

Parameter Parameter Type Mode Description
@ROOTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN

Definition

Copy


            CREATE function [dbo].[UFN_CORPORATESTRUCTURE_GETDONORTOTAL]
            (
                @ROOTID uniqueidentifier,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @STARTDATE datetime = null,
                @ENDDATE datetime = null 
            )
            returns int
            as
                begin
                declare @i int;    

                select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
                    @ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);

                select 
                    @i = count(distinct(RELATIONSHIP.RELATIONSHIPCONSTITUENTID))    
                from 
                    dbo.RELATIONSHIP 
                inner join 
                    dbo.EMPLOYEECORPORATERELATIONSHIPTYPE on RELATIONSHIP.RELATIONSHIPTYPECODEID = EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID
                inner join 
                    dbo.CORPORATESTRUCTURESELECTION as CSS on CSS.SELECTEDID = RELATIONSHIP.RECIPROCALCONSTITUENTID
                inner join 
                    dbo.FINANCIALTRANSACTION REVENUE on REVENUE.CONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
                inner join 
                    dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
                inner join
                    dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = REVENUESPLIT.ID
                left join 
                    dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS as PLANNEDGIFTREVENUE on PLANNEDGIFTREVENUE.REVENUEID = REVENUE.ID
                left join 
                    dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTREVENUE.PLANNEDGIFTID
                cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(REVENUESPLIT.ID) REVENUESITE
                where 
                    CSS.ROOTID = @ROOTID
                    and CSS.APPUSERID = @CURRENTAPPUSERID
                    and (@STARTDATE is null or cast(REVENUE.DATE as datetime) >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE))
                    and (@ENDDATE is null or cast(REVENUE.DATE as datetime) <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE))
                    and (REVENUE.TYPECODE = 1 or --Pledge

                        (REVENUE.TYPECODE = 4 and PLANNEDGIFT.VEHICLECODE in (0,1,2,5,6,7,8,9)) or --Planned gift

                        (REVENUE.TYPECODE = 0 and REVENUESPLIT_EXT.APPLICATIONCODE in (0, 3, 18, 19))) --Payments                        

                    and dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, REVENUESITE.SITEID) = 1
                    and REVENUE.DELETEDON is null
                    and REVENUESPLIT.DELETEDON is null
                    and REVENUESPLIT.TYPECODE <> 1

                return @i;
                end