USP_DATALIST_DONORCHALLENGEDESIGNATIONS
A datalist of all designations for a given donor challenge.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_DONORCHALLENGEDESIGNATIONS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier
)
as
set nocount on;
declare @BASECURRENCYID uniqueidentifier;
select
@BASECURRENCYID = BASECURRENCYID
from
dbo.DONORCHALLENGE
where
ID = @ID;
with DESIGNATIONAMOUNTS_CTE as
(
--Note this shows all funds given to a designation regardless of if they were all mapped to the same designation
select
RS.DESIGNATIONID,
DCE.STATUSTYPECODE,
coalesce(sum(
case
when @BASECURRENCYID = RS.TRANSACTIONCURRENCYID
then RS.TRANSACTIONAMOUNT
else dbo.UFN_REVENUESPLIT_GETAMOUNTINCURRENCY(RS.ID, @BASECURRENCYID)
end
),0) GIVENAMOUNT,
coalesce(sum(DCE.AMOUNT),0) CHALLENGEAMOUNT
from
dbo.DONORCHALLENGEENCUMBERED DCE
inner join
dbo.REVENUESPLIT RS on RS.ID = DCE.REVENUESPLITID
inner join
dbo.DESIGNATION D on D.ID = RS.DESIGNATIONID
inner join
dbo.REVENUE R on RS.REVENUEID = R.ID
where
DCE.DONORCHALLENGEID = @ID
and (DCE.STATUSTYPECODE = 0 or (DCE.STATUSTYPECODE = 1 and R.TRANSACTIONTYPECODE = 0))
group by
RS.DESIGNATIONID, DCE.STATUSTYPECODE
)
select
DCDM.ID,
DCDM.DESIGNATIONID,
dbo.UFN_DESIGNATION_BUILDNAME(DCDM.DESIGNATIONID) as DESIGNATIONNAME,
OD.USERID as DESIGNATIONLOOKUPID,
(select coalesce(sum(GIVENAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.DESIGNATIONID = DCDM.DESIGNATIONID) as AMOUNTGIVEN,
(select coalesce(sum(CHALLENGEAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.DESIGNATIONID = DCDM.DESIGNATIONID and STATUSTYPECODE = 0) as AMOUNTENCUMBERED,
(select coalesce(sum(CHALLENGEAMOUNT),0) from DESIGNATIONAMOUNTS_CTE where DESIGNATIONAMOUNTS_CTE.DESIGNATIONID = DCDM.DESIGNATIONID and STATUSTYPECODE = 1) as AMOUNTMATCHED,
DCDM.MATCHINGDESIGNATIONID,
dbo.UFN_DESIGNATION_BUILDNAME(DCDM.MATCHINGDESIGNATIONID) as MATCHINGDESIGNATIONNAME,
MD.USERID as MATCHINGDESIGNATIONLOOKUPID,
@BASECURRENCYID
from
dbo.DONORCHALLENGEDESIGNATIONMAP DCDM
inner join
dbo.DESIGNATION OD on OD.ID = DCDM.DESIGNATIONID
left join
dbo.DESIGNATION MD on MD.ID = DCDM.MATCHINGDESIGNATIONID
where
DONORCHALLENGEID = @ID
order by
DESIGNATIONNAME