USP_STEWARDSHIPPACKAGEREPORT_GIVINGSUMMARY

Adds a new revenue batch group.

Parameters

Parameter Parameter Type Mode Description
@DESIGNATIONLEVELID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@REPORTUSERID nvarchar(128) IN

Definition

Copy


            CREATE proc dbo.USP_STEWARDSHIPPACKAGEREPORT_GIVINGSUMMARY(@DESIGNATIONLEVELID uniqueidentifier, @CURRENTAPPUSERID uniqueidentifier = null, @REPORTUSERID nvarchar(128) = null)
                as

          if @CURRENTAPPUSERID is null
            set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETFROMLOGIN(@REPORTUSERID);

                    with DESIGNATIONS_CTE as (
                        select D.ID
                        from dbo.DESIGNATION D
                        where D.DESIGNATIONLEVEL1ID = @DESIGNATIONLEVELID or
                              D.DESIGNATIONLEVEL2ID = @DESIGNATIONLEVELID or 
                              D.DESIGNATIONLEVEL3ID = @DESIGNATIONLEVELID or
                              D.DESIGNATIONLEVEL4ID = @DESIGNATIONLEVELID or
                              D.DESIGNATIONLEVEL5ID = @DESIGNATIONLEVELID
                    )
                    select
                        coalesce(sum(RS.AMOUNT - coalesce(WOS.AMOUNT, 0)), 0) TOTALREVENUE,
                        count(distinct R.CONSTITUENTID) TOTALDONORS,
                        count(distinct R.ID) TOTALDONATIONS,
                        case count(distinct R.ID) 
                            when 0 then 0 
                            else coalesce(sum(RS.AMOUNT - coalesce(WOS.AMOUNT, 0)), 0) / count(distinct R.ID) 
                        end as AVERAGEGIFT
                    from
                        dbo.REVENUESPLIT RS
                        inner join dbo.REVENUE R on R.ID = RS.REVENUEID                    
                        inner join DESIGNATIONS_CTE D on RS.DESIGNATIONID = D.ID
                        left join dbo.WRITEOFF WO on R.ID = WO.REVENUEID
                        left join dbo.WRITEOFFSPLIT WOS on WO.ID = WOS.WRITEOFFID and RS.DESIGNATIONID = WOS.DESIGNATIONID
                    where 
                        dbo.UFN_REVENUE_HASDESIGNATION(R.TRANSACTIONTYPECODE, RS.APPLICATIONCODE) = 1
            and (dbo.UFN_DESIGNATION_USERHASSITEACCESS(D.ID, @CURRENTAPPUSERID) = 1 or dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1)
                        and R.TRANSACTIONTYPECODE <> 3 --Ignore matching gift claims