USP_DATALIST_REVENUEMERGEDATA_DON

Returns revenue merge data donation

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN Revenue ID

Definition

Copy


CREATE procedure dbo.USP_DATALIST_REVENUEMERGEDATA_DON
(
      @REVENUEID uniqueidentifier
)
  as
      set nocount on;

select TOP 1
  GiftType = case when r.transactionTypecode=0 then RS.APPLICATION else R.TRANSACTIONTYPE END
  ,TotalGiftAmount = R.AMOUNT * case when S.ENDDATE is not null then 
  case LOWER(S.FREQUENCYCODE) when 0 then (DATEDIFF(year, S.STARTDATE, S.ENDDATE) + 1)
  when 1 then DATEDIFF(year, S.STARTDATE, S.ENDDATE) * 2
  when 2 then (DATEDIFF(quarter, S.STARTDATE, S.ENDDATE) + 1)
  when 3 then (DATEDIFF(month, S.STARTDATE, S.ENDDATE) + 1)
  when 6 then ((DATEDIFF(month, S.STARTDATE, S.ENDDATE) + 1) / 2 + 1)
  when 7 then DATEDIFF(month, S.STARTDATE, S.ENDDATE) * 2
  when 8 then ((DATEDIFF(week, S.STARTDATE, S.ENDDATE) + 1) / 2 + 1)
  when 9 then (DATEDIFF(week, S.STARTDATE, S.ENDDATE) + 1
    else 1
  end
  else 1 end
  ,RecurringPaymentAmount =case when r.TRANSACTIONTYPECODE = 2 then  coalesce((select sum(RECURRINGGIFTINSTALLMENT.AMOUNT) from dbo.RECURRINGGIFTINSTALLMENT where RECURRINGGIFTINSTALLMENT.REVENUEID = R.ID), 0) else null end
  ,PledgePaymentAmount = case when r.TRANSACTIONTYPECODE=1 then  dbo.UFN_PLEDGE_GETAMOUNTPAID(R.ID) else null end 
  ,GiftFrequency = S.FREQUENCY
  ,GiftStartDate = S.STARTDATE
  ,OustandingGiftAmount =  dbo.UFN_PLEDGE_GETBALANCE(R.ID)
  ,AnonymousDonation = R.GIVENANONYMOUSLY
from REVENUE R
LEFT outer join dbo.REVENUESCHEDULE S on S.ID = R.ID
left outer join dbo.REVENUESPLIT RS on R.ID = RS.REVENUEID
where 
  R.ID = @REVENUEID