USP_CONSITUENTREVENUEHISTORYEXPANDEDVIEW_GET

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@DATALOADED bit INOUT
@CAMPAIGNS nvarchar(max) INOUT
@APPEAL nvarchar(100) INOUT
@REVENUECATEGORIES nvarchar(max) INOUT
@NAMINGOPPORTUNITIES nvarchar(max) INOUT
@TRIBUTES nvarchar(max) INOUT
@GIVENANONYMOUSLY bit INOUT
@ACKNOWLEDGEMENTDATE datetime INOUT
@SITES nvarchar(max) INOUT
@OPPORTUNITYCOUNT int INOUT
@OPPORTUNITYID uniqueidentifier INOUT
@OPPORTUNITYNAME nvarchar(300) INOUT
@OPPORTUNITYDATE datetime INOUT
@OPPORTUNITYAMOUNT money INOUT
@APPBASECURRENCY uniqueidentifier INOUT

Definition

Copy


            CREATE procedure dbo.USP_CONSITUENTREVENUEHISTORYEXPANDEDVIEW_GET
            (
                @ID uniqueidentifier,    
                @CURRENTAPPUSERID uniqueidentifier = null,    
                @DATALOADED bit = 0 output,
                @CAMPAIGNS nvarchar(max) = null output,
                @APPEAL nvarchar(100) = null output,
                @REVENUECATEGORIES nvarchar(max) = null output,
                @NAMINGOPPORTUNITIES nvarchar(max) = null output,
                @TRIBUTES nvarchar(max) = null output,
                @GIVENANONYMOUSLY bit = null output,
                @ACKNOWLEDGEMENTDATE datetime = null output,
                @SITES nvarchar(max) = null output,
                @OPPORTUNITYCOUNT integer = null output,
                @OPPORTUNITYID uniqueidentifier = null output,
                @OPPORTUNITYNAME nvarchar(300) = null output,
                @OPPORTUNITYDATE datetime = null output,
                @OPPORTUNITYAMOUNT money = null output,
                @APPBASECURRENCY uniqueidentifier = null output
            )
            as
            begin
                declare @APPEALID uniqueidentifier;                

                select 
                    @APPBASECURRENCY = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
                    @CAMPAIGNS  = dbo.UDA_BUILDLIST(distinct CAMPAIGN.NAME),
                    @APPEAL = APPEAL.NAME,
                    @REVENUECATEGORIES = dbo.UDA_BUILDLIST(distinct GLREVENUECATEGORYMAPPING.REVENUECATEGORYNAME),
                    @NAMINGOPPORTUNITIES = dbo.UDA_BUILDLIST(distinct NAMINGOPPORTUNITY.NAME),
                    @TRIBUTES = dbo.UDA_BUILDLIST(distinct TRIBUTE.TRIBUTETEXT),
                    @GIVENANONYMOUSLY = REVENUE_EXT.GIVENANONYMOUSLY,
                    @ACKNOWLEDGEMENTDATE = (select max(REVENUELETTER.ACKNOWLEDGEDATE)
                                            from dbo.REVENUELETTER 
                                            where REVENUEID = FINANCIALTRANSACTION.ID and ACKNOWLEDGEDATE is not null),
                    @SITES = (select dbo.UDA_BUILDLIST(SITE.NAME)
                                from dbo.UFN_SITEID_MAPFROM_REVENUEID(FINANCIALTRANSACTION.ID) RSITE
                                inner join dbo.SITE on SITE.ID = RSITE.SITEID),
                    @APPEALID = REVENUE_EXT.APPEALID
                from dbo.FINANCIALTRANSACTION
                inner join dbo.REVENUE_EXT
                  on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
                inner join dbo.FINANCIALTRANSACTIONLINEITEM
                  on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
                inner join dbo.REVENUESPLIT_EXT
                  on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                left join dbo.DESIGNATION
                  on DESIGNATION.ID = REVENUESPLIT_EXT.DESIGNATIONID
                left join dbo.REVENUESPLITCAMPAIGN
                  on REVENUESPLITCAMPAIGN.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
                left join dbo.CAMPAIGN
                  on CAMPAIGN.ID = REVENUESPLITCAMPAIGN.CAMPAIGNID
                left join dbo.APPEAL
                  on APPEAL.ID = REVENUE_EXT.APPEALID
                left join dbo.REVENUECATEGORY
                  on REVENUECATEGORY.ID = FINANCIALTRANSACTIONLINEITEM.ID
                left join dbo.GLREVENUECATEGORYMAPPING
                  on GLREVENUECATEGORYMAPPING.ID = REVENUECATEGORY.GLREVENUECATEGORYMAPPINGID 
                left join dbo.NAMINGOPPORTUNITYRECOGNITIONREVENUESPLIT
                  on NAMINGOPPORTUNITYRECOGNITIONREVENUESPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID
                left join dbo.NAMINGOPPORTUNITYRECOGNITION
                  on NAMINGOPPORTUNITYRECOGNITION.ID = NAMINGOPPORTUNITYRECOGNITIONREVENUESPLIT.NAMINGOPPORTUNITYRECOGNITIONID
                left join dbo.NAMINGOPPORTUNITY
                  on NAMINGOPPORTUNITY.ID = NAMINGOPPORTUNITYRECOGNITION.NAMINGOPPORTUNITYID
                left join dbo.REVENUETRIBUTE
                  on REVENUETRIBUTE.REVENUEID = FINANCIALTRANSACTION.ID
                left join dbo.TRIBUTE
                  on TRIBUTE.ID = REVENUETRIBUTE.TRIBUTEID
                where FINANCIALTRANSACTION.ID = @ID
                    and FINANCIALTRANSACTION.DELETEDON is null
                    and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
                    and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1
                group by FINANCIALTRANSACTION.ID,APPEAL.NAME,REVENUE_EXT.GIVENANONYMOUSLY,FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,REVENUE_EXT.APPEALID

                if @@ROWCOUNT > 0
                    set @DATALOADED = 1;

                select 
                    @OPPORTUNITYCOUNT = COUNT(distinct REVENUEOPPORTUNITY.OPPORTUNITYID)
                from dbo.FINANCIALTRANSACTIONLINEITEM
                inner join dbo.REVENUESPLIT_EXT
                    on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                left join dbo.REVENUEOPPORTUNITY
                  on FINANCIALTRANSACTIONLINEITEM.ID = REVENUEOPPORTUNITY.ID
                where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @ID
                    and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
                    and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1;

                if @OPPORTUNITYCOUNT = 1
                  select top 1
                      @OPPORTUNITYID = OPPORTUNITY.ID,
                      @OPPORTUNITYNAME = dbo.UFN_CONSTITUENT_BUILDNAME(PROSPECTPLAN.PROSPECTID),
                      @OPPORTUNITYDATE = OPPORTUNITY.ASKDATE,
                      @OPPORTUNITYAMOUNT = OPPORTUNITY.TRANSACTIONAMOUNT
                  from dbo.FINANCIALTRANSACTIONLINEITEM
                  inner join dbo.REVENUESPLIT_EXT
                    on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                  left join dbo.REVENUEOPPORTUNITY
                    on FINANCIALTRANSACTIONLINEITEM.ID = REVENUEOPPORTUNITY.ID
                  left join dbo.OPPORTUNITY
                    on REVENUEOPPORTUNITY.OPPORTUNITYID = OPPORTUNITY.ID
                  left join dbo.PROSPECTPLAN 
                    on PROSPECTPLAN.ID = OPPORTUNITY.PROSPECTPLANID
                  where FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @ID
                    and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
                    and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1;

                return 0;                
            end