USP_DATALIST_TRIBUTEREVENUE

Returns a list of revenue records that have been applied to the given tribute.

Parameters

Parameter Parameter Type Mode Description
@TRIBUTEID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SECURITYFEATUREID uniqueidentifier IN Input parameter indicating the ID of the feature to use for site security checking.
@SECURITYFEATURETYPE tinyint IN Input parameter indicating the type of the feature to use for site security checking.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_TRIBUTEREVENUE
                (
                    @TRIBUTEID uniqueidentifier,
                    @CURRENTAPPUSERID uniqueidentifier = null,
                    @SECURITYFEATUREID uniqueidentifier = null,
                    @SECURITYFEATURETYPE tinyint = null
                )
                as
                    set nocount on;

                    declare @ISADMIN bit = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
                    declare @APPUSER_IN_NONRACROLE bit = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
                    declare @APPUSER_IN_NOSECGROUPROLE bit = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
                    declare @APPUSER_IN_NONSITEROLE bit = dbo.UFN_SECURITY_APPUSER_IN_NONSITEROLE(@CURRENTAPPUSERID);
                    declare @APPUSER_IN_NOSITEROLE bit = dbo.UFN_SECURITY_APPUSER_IN_NO_SITE_ROLE(@CURRENTAPPUSERID);

                    select 
                        REVENUE.ID,
                        NF.NAME,
                        REVENUE.DATE,
                        RT.AMOUNT,
                        REVENUE.TRANSACTIONTYPE,
                        coalesce(RT.AMOUNT + RTTCA.TAXCLAIMAMOUNT, RT.AMOUNT) as GROSSAMOUNT,
                        RT.BASECURRENCYID
                    from
                        dbo.REVENUETRIBUTE RT
                    inner join
                        dbo.REVENUE on RT.REVENUEID = REVENUE.ID
                    inner join
                        dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
                    left join
                        dbo.REVENUETRIBUTETAXCLAIMAMOUNT RTTCA on RT.ID = RTTCA.ID
                    outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(CONSTITUENT.ID) NF
                    where RT.TRIBUTEID = @TRIBUTEID and
                        (
                        --Bug 130859 - AdamBu - Added security checks on revenue donors and short circuit

                        --    designation site check if user is admin/in all sites role.

                            @ISADMIN = 1 or
                            (
                                (
                                    @APPUSER_IN_NONRACROLE = 1 or 
                                    dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, '8452a585-7d36-4974-b363-c798de136e21', CONSTITUENT.ID) = 1
                                ) and
                                (
                                    @APPUSER_IN_NONSITEROLE = 1 or
                                    (
                                        exists 
                                        (
                                            select 1
                                            from dbo.UFN_CONSTITUENT_GETSITES(CONSTITUENT.ID) SITE
                                            where dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORSITE(@CURRENTAPPUSERID, '8452a585-7d36-4974-b363-c798de136e21', SITE.SITEID) = 1
                                        ) and 
                                        exists
                                        (
                                            select 1
                                            from dbo.UFN_SITEID_MAPFROM_REVENUEID(REVENUE.ID) REVSITES
                                            where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
                                        )
                                    )
                                )
                            )
                        )
                    order by
                        REVENUE.DATE, CONSTITUENT.KEYNAME, CONSTITUENT.FIRSTNAME, RT.AMOUNT;