UFN_CORPORATION_GETCONSTITUENTGIFTS
Returns the gifts for the given constituent based on the currently selected organizations.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@ROOTID | uniqueidentifier | IN |
Definition
Copy
CREATE function [dbo].[UFN_CORPORATION_GETCONSTITUENTGIFTS](@CURRENTAPPUSERID uniqueidentifier, @ROOTID uniqueidentifier)
returns table
as return
select
CSS.SELECTEDID as CONSTITUENTID,
R.ID as REVENUEID,
RS.ID as REVENUESPLITID,
cast(sum(cast(RS.BASEAMOUNT as decimal(20,5)) - cast(coalesce(WO.AMOUNT, 0) as decimal(20,5))) as money) as AMOUNT,
R.TYPECODE as TRANSACTIONTYPECODE,
RSE.APPLICATIONCODE as APPLICATIONCODE,
RSE.TYPECODE as TYPECODE,
RSE.DESIGNATIONID as DESIGNATIONID
from
dbo.CORPORATESTRUCTURESELECTION CSS
inner join dbo.FINANCIALTRANSACTION R on CSS.SELECTEDID = R.CONSTITUENTID
inner join (select distinct REVENUEID from dbo.UFN_SITEACCESSABLE_REVENUESPLITID_FORUSER(@CURRENTAPPUSERID)) SITEFILTER on SITEFILTER.REVENUEID = R.ID
inner join dbo.FINANCIALTRANSACTIONLINEITEM RS on RS.FINANCIALTRANSACTIONID = R.ID
inner join dbo.REVENUESPLIT_EXT RSE on RSE.ID = RS.ID
left join
(select
INSTALLMENTSPLIT.PLEDGEID,
INSTALLMENTSPLIT.DESIGNATIONID,
sum(coalesce(INSTALLMENTSPLITWRITEOFF.AMOUNT,0)) AMOUNT
from
dbo.INSTALLMENTSPLITWRITEOFF
inner join
dbo.INSTALLMENTSPLIT
on
INSTALLMENTSPLIT.ID = INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID
group by
INSTALLMENTSPLIT.PLEDGEID, INSTALLMENTSPLIT.DESIGNATIONID) WO
on
WO.PLEDGEID = R.ID and WO.DESIGNATIONID = RSE.DESIGNATIONID
left join
(select
INSTALLMENTSPLIT.PLEDGEID,
INSTALLMENTSPLIT.DESIGNATIONID,
sum(coalesce(INSTALLMENTSPLITPAYMENT.AMOUNT,0)) AMOUNT
from
dbo.INSTALLMENTSPLITPAYMENT
inner join
dbo.INSTALLMENTSPLIT
on
INSTALLMENTSPLIT.ID = INSTALLMENTSPLITPAYMENT.INSTALLMENTSPLITID
group by
INSTALLMENTSPLIT.PLEDGEID, INSTALLMENTSPLIT.DESIGNATIONID) PAYMENT
on
PAYMENT.PLEDGEID = R.ID and PAYMENT.DESIGNATIONID = RSE.DESIGNATIONID
left join
dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS PGR on PGR.REVENUEID = R.ID
left join
dbo.PLANNEDGIFT PG on PG.ID = PGR.PLANNEDGIFTID
cross apply dbo.UFN_CORPORATION_GETFILTERDATES(@CURRENTAPPUSERID) DF
where
((DF.STARTDATE is null or DF.STARTDATE <= R.DATE)
and
(DF.ENDDATE is null or DF.ENDDATE >= cast(R.DATE as datetime))) and
CSS.APPUSERID = @CURRENTAPPUSERID and
CSS.ROOTID = @ROOTID and
R.DELETEDON is null and
RS.DELETEDON is null and
RS.TYPECODE <> 1
group by CSS.SELECTEDID, R.ID, RS.ID, R.TYPECODE, RSE.APPLICATIONCODE, RSE.TYPECODE, RSE.DESIGNATIONID