UFN_CORPORATION_GETEMPLOYEEGIVINGTOTALINCURRENCY

Returns the employees for the given corporation based on the current corporate relationship types.

Return

Return Type
money

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@CURRENTAPPUSERID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN
@CURRENCYID uniqueidentifier IN

Definition

Copy


                CREATE function [dbo].[UFN_CORPORATION_GETEMPLOYEEGIVINGTOTALINCURRENCY]
                (
                    @CONSTITUENTID uniqueidentifier,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @STARTDATE datetime = null,
                    @ENDDATE datetime = null,
                    @CURRENCYID uniqueidentifier = null
                )
                returns money
                as
                begin
                    declare @d money;

                    select @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE),
                        @ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@ENDDATE);

                    select @d = coalesce(sum(dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(REVENUESPLIT.ID,@CURRENCYID)), 0)
                    from
                        dbo.RELATIONSHIP 
                            inner join dbo.EMPLOYEECORPORATERELATIONSHIPTYPE on RELATIONSHIP.RELATIONSHIPTYPECODEID = EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID
                            inner join dbo.FINANCIALTRANSACTION REVENUE on REVENUE.CONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
                            inner join (select distinct REVENUEID from dbo.UFN_SITEACCESSABLE_REVENUESPLITID_FORUSER(@CURRENTAPPUSERID)) SITEFILTER on SITEFILTER.REVENUEID = REVENUE.ID
                            inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
                            inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT_EXT.ID = REVENUESPLIT.ID
                        left join dbo.INSTALLMENTSPLITPAYMENT on REVENUESPLIT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
                    where
                        RELATIONSHIP.RECIPROCALCONSTITUENTID = @CONSTITUENTID and
                        REVENUE.DELETEDON is null and
                        REVENUESPLIT.DELETEDON is null and
                        REVENUESPLIT.TYPECODE <> 1 and 
                            (@STARTDATE is null or cast(REVENUE.DATE as datetime) >= dbo.UFN_DATE_GETEARLIESTTIME(@STARTDATE)) and
                            (@ENDDATE is null or cast(REVENUE.DATE as datetime) <= dbo.UFN_DATE_GETLATESTTIME(@ENDDATE)) and
                            (REVENUE.TYPECODE in (1,3) or --Pledge or MG claim

                                (REVENUE.TYPECODE = 0 and 
                                    (REVENUESPLIT_EXT.APPLICATIONCODE in (0,1,3,4,5,6,18,19) or 
                                    (REVENUESPLIT_EXT.APPLICATIONCODE = 7 and INSTALLMENTSPLITPAYMENT.ID is null) -- unapplied MG claim payments

                                    )
                                )
                            ) --Payments


                    return @d;
                end