USP_REVENUEBATCH_VALIDATIONREPORT_SUMMARY

Provides summary data for the revenue batch validation report.

Parameters

Parameter Parameter Type Mode Description
@BATCHID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_REVENUEBATCH_VALIDATIONREPORT_SUMMARY
            (
                @BATCHID uniqueidentifier
            )
            as
            set nocount on;

            declare @MULTICURRENCYENABLED bit = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
            declare 
                @ORGANIZATIONISO4217 nvarchar(3),
                @ORGANIZATIONDECIMALDIGITS tinyint,
                @ORGANIZATIONCURRENCYSYMBOL nvarchar(5),
                @ORGANIZATIONSYMBOLDISPLAYSETTINGCODE tinyint;

            select
                @ORGANIZATIONISO4217 = ISO4217,
                @ORGANIZATIONDECIMALDIGITS = DECIMALDIGITS,
                @ORGANIZATIONCURRENCYSYMBOL  = CURRENCYSYMBOL,
                @ORGANIZATIONSYMBOLDISPLAYSETTINGCODE = SYMBOLDISPLAYSETTINGCODE
            from dbo.CURRENCY
            where ISORGANIZATIONCURRENCY = 1

            declare @ENHANCEDREVENUEBATCHTYPEID uniqueidentifier = '326C43A6-D162-4FD4-8D61-FEF9A0EE8C5E';

            select
                BATCH.BATCHNUMBER,
                BATCH.STATUS,
                (select APPUSER.USERNAME from dbo.APPUSER where ID = BATCH.APPUSERID) as [OWNER],
                BATCH.PROJECTEDNUMBEROFRECORDS,
                BATCH.PROJECTEDTOTALAMOUNT,
                coalesce((select count(ID) from dbo.BATCHREVENUE where BATCHID = @BATCHID),0) as [CURRENTNUMBEROFRECORDS],
                coalesce((select sum(AMOUNT) from dbo.BATCHREVENUE where BATCHID = @BATCHID),0) as [CURRENTTOTALAMOUNT],
                coalesce((select count(ID) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 0),0) as [TOTALPAYMENTCOUNT],
                coalesce((select sum(AMOUNT) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 0),0) as [TOTALPAYMENTAMOUNT],
                coalesce((select count(ID) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 1),0) as [TOTALPLEDGECOUNT],
                coalesce((select sum(AMOUNT) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 1),0) as [TOTALPLEDGEAMOUNT],
                coalesce((select count(ID) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 3),0) as [TOTALRECURRINGGIFTCOUNT],
                coalesce((select sum(AMOUNT) from dbo.BATCHREVENUE where BATCHID = @BATCHID and TYPECODE = 3),0) as [TOTALRECURRINGGIFTAMOUNT],
                case 
                    when BATCHTEMPLATE.BATCHTYPECATALOGID = @ENHANCEDREVENUEBATCHTYPEID then 
                        coalesce(
                            (
                                select count(BATCHREVENUEENHANCEDMATCHINGGIFTS.AMOUNT)
                                from dbo.BATCHREVENUEENHANCEDMATCHINGGIFTS
                                inner join dbo.BATCHREVENUE on BATCHREVENUE.ID = BATCHREVENUEENHANCEDMATCHINGGIFTS.BATCHREVENUEID 
                                where BATCHREVENUE.BATCHID = @BATCHID 
                            ), 0)
                    else
                        coalesce((select count(ID) from dbo.BATCHREVENUE where BATCHID = @BATCHID and not MGMATCHINGCONSTITUENTID is null),0
                end as [TOTALMGCOUNT],
                case 
                    when BATCHTEMPLATE.BATCHTYPECATALOGID = @ENHANCEDREVENUEBATCHTYPEID then 
                        coalesce(
                            (
                                select sum(BATCHREVENUEENHANCEDMATCHINGGIFTS.AMOUNT)
                                from dbo.BATCHREVENUEENHANCEDMATCHINGGIFTS
                                inner join dbo.BATCHREVENUE on BATCHREVENUE.ID = BATCHREVENUEENHANCEDMATCHINGGIFTS.BATCHREVENUEID 
                                where BATCHREVENUE.BATCHID = @BATCHID 
                            ), 0)
                    else        
                        coalesce((select sum(MGAMOUNT) from dbo.BATCHREVENUE where BATCHID = @BATCHID and not MGMATCHINGCONSTITUENTID is null),0
                end as [TOTALMGAMOUNT],
                @MULTICURRENCYENABLED MULTICURRENCYENABLED,
                @ORGANIZATIONISO4217 ORGANIZATIONISO4217,
                @ORGANIZATIONDECIMALDIGITS ORGANIZATIONDECIMALDIGITS,
                @ORGANIZATIONCURRENCYSYMBOL ORGANIZATIONCURRENCYSYMBOL,
                @ORGANIZATIONSYMBOLDISPLAYSETTINGCODE ORGANIZATIONSYMBOLDISPLAYSETTINGCODE
            from dbo.BATCH
            inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.ID = BATCH.BATCHTEMPLATEID 
            where BATCH.ID = @BATCHID