USP_REPORT_DEPOSITREPORT_SUMMARY

This returns data for the Deposit report deposit summary section.

Parameters

Parameter Parameter Type Mode Description
@DATETOUSE int IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@BANKACCOUNTDEPOSITQUERY uniqueidentifier IN
@DEPOSITID uniqueidentifier IN
@REPORTUSERID nvarchar(128) IN

Definition

Copy


        create procedure dbo.USP_REPORT_DEPOSITREPORT_SUMMARY
            (
                @DATETOUSE int = null,
                @STARTDATE datetime = null,
                @ENDDATE datetime = null,
                @BANKACCOUNTDEPOSITQUERY uniqueidentifier = null,
                @DEPOSITID uniqueidentifier = null,
                @REPORTUSERID nvarchar(128) = null
            )
            with execute as owner
            as
            set nocount on;

                declare @CURRENTAPPUSERID uniqueidentifier;
                declare @ISADMIN bit;
                declare @APPUSER_IN_NONRACROLE bit;
                declare @APPUSER_IN_NOSECGROUPROLE bit;

                set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETFROMLOGIN(@REPORTUSERID);
                set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
                set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
                set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);

                declare @SQLTOEXEC nvarchar(max);

                declare @DBOBJECTNAME nvarchar(128);
                declare @DBOBJECTTYPE smallint;

                if @BANKACCOUNTDEPOSITQUERY is not null begin
                    if not exists(select ID from dbo.IDSETREGISTER where ID = @BANKACCOUNTDEPOSITQUERY) raiserror('ID set does not exist in the database.', 15, 1);
                    select @DBOBJECTNAME = DBOBJECTNAME, @DBOBJECTTYPE = OBJECTTYPE from dbo.IDSETREGISTER where ID = @BANKACCOUNTDEPOSITQUERY;
                    if @DBOBJECTTYPE = 1 set @DBOBJECTNAME = @DBOBJECTNAME + '()';
                    else if @DBOBJECTTYPE = 2 set @DBOBJECTNAME = @DBOBJECTNAME + '(''' + convert(nvarchar(36), @BANKACCOUNTDEPOSITQUERY) + ''')';
                end

                set @SQLTOEXEC = 
                    'select sum(REVENUE.AMOUNT) as [AMOUNT],
                        ''Total''  + ISNULL(MISCELLANEOUSPAYMENT.PAYMENTMETHOD, REVENUEPAYMENTMETHOD.PAYMENTMETHOD) AS [PAYMENTMETHOD]
                    from 
                        dbo.REVENUE with (nolock)
                        inner join dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
                        left outer join dbo.MISCELLANEOUSPAYMENT on REVENUE.ID = MISCELLANEOUSPAYMENT.ID
                        left outer join dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = BANKACCOUNTTRANSACTION.ID
                        left outer join REVENUEREFERENCE on REVENUE.ID = REVENUEREFERENCE.ID
                        left outer join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID ' + nchar(13);


                if @BANKACCOUNTDEPOSITQUERY is not null
                    set @SQLTOEXEC = @SQLTOEXEC + 'inner join dbo.' + @DBOBJECTNAME + ' as SELECTION on BANKACCOUNTDEPOSIT.[ID] = SELECTION.[ID]' + nchar(13);

                set @SQLTOEXEC = @SQLTOEXEC + 
                    'where ((NOT MISCELLANEOUSPAYMENT.ID is null) or REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE IN (0,1,2,9,10)) 
                          and REVENUE.TRANSACTIONTYPECODE IN (0,10) and 
                          (
                            (@DATETOUSE = 0 and BANKACCOUNTTRANSACTION.TRANSACTIONDATE between @STARTDATE and @ENDDATE) or
                            (@DATETOUSE = 1 and REVENUE.POSTDATE between @STARTDATE and @ENDDATE)
                          )' 

                          --and (@ISADMIN = 1 or

                            --    @APPUSER_IN_NONRACROLE = 1 or

                            --    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REVENUE.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)'


                set @SQLTOEXEC = @SQLTOEXEC + 
                    'group by ISNULL(MISCELLANEOUSPAYMENT.PAYMENTMETHOD, REVENUEPAYMENTMETHOD.PAYMENTMETHOD), BANKACCOUNTDEPOSITPAYMENT.depositid
                    having (BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = @DEPOSITID) '
                      --and 

                    --(@ISADMIN = 1 or

                    --@APPUSER_IN_NONRACROLE = 1 or

                    --dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REVENUE.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)'



                /*set @SQLTOEXEC = 
                    ' union all select sum(REVENUE.AMOUNT) as [AMOUNT],
                        ''Total ''  + ISNULL(MISCELLANEOUSPAYMENT.PAYMENTMETHOD, REVENUEPAYMENTMETHOD.PAYMENTMETHOD) AS [PAYMENTMETHOD]
                    from 
                        dbo.REVENUE with (nolock)
                        inner join dbo.BANKACCOUNTDEPOSITPAYMENT on REVENUE.ID = BANKACCOUNTDEPOSITPAYMENT.ID
                        left outer join dbo.MISCELLANEOUSPAYMENT on REVENUE.ID = MISCELLANEOUSPAYMENT.ID
                        left outer join dbo.BANKACCOUNTTRANSACTION on BANKACCOUNTDEPOSITPAYMENT.DEPOSITID = BANKACCOUNTTRANSACTION.ID
                        left outer join REVENUEREFERENCE on REVENUE.ID = REVENUEREFERENCE.ID
                        left outer join dbo.REVENUEPAYMENTMETHOD on REVENUEPAYMENTMETHOD.REVENUEID = REVENUE.ID ' + nchar(13);


                if @BANKACCOUNTDEPOSITQUERY is not null
                    set @SQLTOEXEC = @SQLTOEXEC + 'inner join dbo.' + @DBOBJECTNAME + ' as SELECTION on BANKACCOUNTDEPOSIT.[ID] = SELECTION.[ID]' + nchar(13);

                set @SQLTOEXEC = @SQLTOEXEC + 
                    'where ((NOT MISCELLANEOUSPAYMENT.ID is null) or REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE IN (0,1,2,9,10)) 
                          and REVENUE.TRANSACTIONTYPECODE IN (0,10) and 
                          (
                            (@DATETOUSE = 0 and BANKACCOUNTTRANSACTION.TRANSACTIONDATE between @STARTDATE and @ENDDATE) or
                            (@DATETOUSE = 1 and REVENUE.POSTDATE between @STARTDATE and @ENDDATE)
                          )' 
                          --and (@ISADMIN = 1 or
                            --    @APPUSER_IN_NONRACROLE = 1 or
                            --    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, REVENUE.CONSTITUENTID, @APPUSER_IN_NOSECGROUPROLE) = 1)'
                */


                exec sp_executesql @SQLTOEXEC
                    N'@DATETOUSE int, @STARTDATE datetime, @ENDDATE datetime, @DEPOSITID uniqueidentifier, @ISADMIN bit, @APPUSER_IN_NONRACROLE bit, @APPUSER_IN_NOSECGROUPROLE bit, @CURRENTAPPUSERID uniqueidentifier',
                    @DATETOUSE=@DATETOUSE, @STARTDATE=@STARTDATE, @ENDDATE=@ENDDATE, @DEPOSITID=@DEPOSITID, @ISADMIN=@ISADMIN, @APPUSER_IN_NONRACROLE=@APPUSER_IN_NONRACROLE, @APPUSER_IN_NOSECGROUPROLE=@APPUSER_IN_NOSECGROUPROLE, @CURRENTAPPUSERID=@CURRENTAPPUSERID;