USP_DATALIST_PROSPECT_HOUSEHOLDMEMBERPLANNEDGIFTS
List of planned gifts owned by a household's members.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PROSPECTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
@CURRENCYCODE | tinyint | IN | Currency |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECT_HOUSEHOLDMEMBERPLANNEDGIFTS
(
@PROSPECTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@CURRENCYCODE tinyint = 2
)
as begin
set nocount on;
declare @CURRENCYID uniqueidentifier;
declare @MULTICURRENCYENABLED bit;
set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
if @MULTICURRENCYENABLED = 0
set @CURRENCYCODE = 1;
if @CURRENCYCODE = 1
set @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if @CURRENCYCODE = 3
begin
set @CURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
if @CURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()
begin
set @CURRENCYCODE = 1
end
end;
declare @CURRENTDATE datetime;
set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
declare @DATALISTID uniqueidentifier;
set @DATALISTID = '41d3cf65-cce0-4aca-96aa-58df585213f6';
select
C.ID PROSPECTID,
NF_C.NAME PROSPECTNAME,
PG.ID,
PG.VEHICLE,
PG.GIFTDATE,
case @CURRENCYCODE
when 2 then PG.TRANSACTIONGIFTAMOUNT
when 1 then PG.ORGANIZATIONGIFTAMOUNT
when 3 then dbo.UFN_PLANNEDGIFTDESIGNATION_AMOUNTINCURRENCY(PG.ID, @CURRENCYID)
else PG.GIFTAMOUNT
end as AMOUNT,
PG.STATUS,
PG.ISANONYMOUS,
PG.ISREVOCABLE,
case
when (select ISPRIMARY from dbo.GROUPMEMBER where GROUPID=@PROSPECTID and MEMBERID=PG.CONSTITUENTID) = 1 then '1'
else '2' + C.KEYNAME + ' ' + C.FIRSTNAME + ' ' + cast(C.ID as nvarchar(36))
end GROUPORPRIMARYSORT,
case when dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 then 1 else
dbo.UFN_SECURITY_APPUSER_GRANTED_DATALIST_FORCONSTIT(@CURRENTAPPUSERID, @DATALISTID, C.ID)
end as 'HASPERMISSIONS',
dbo.UFN_PLANNEDGIFT_GETSITELIST(PG.ID) SITES,
case @CURRENCYCODE
when 2 then PG.TRANSACTIONCURRENCYID
when 0 then PG.BASECURRENCYID
else @CURRENCYID
end as DISPLAYCURRENCY
from
dbo.GROUPMEMBER GM
inner join
dbo.PLANNEDGIFT PG on PG.CONSTITUENTID = GM.MEMBERID
left outer join
dbo.CONSTITUENT C on C.ID = PG.CONSTITUENTID
left outer join
dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(C.ID) NF_C
where
GM.GROUPID = @PROSPECTID
and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO >= @CURRENTDATE))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE))
or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO >= @CURRENTDATE))
and
(
select count(*)
from dbo.UFN_SITEID_MAPFROM_PLANNEDGIFTID(PG.ID) as PLANNEDGIFTSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PLANNEDGIFTSITE].[SITEID] or (SITEID is null and [PLANNEDGIFTSITE].[SITEID] is null)))
) > 0
and
(
@SITEFILTERMODE = 0
or
PG.ID in
(
select PLANNEDGIFTSITE.PLANNEDGIFTID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.PLANNEDGIFTSITE on PLANNEDGIFTSITE.SITEID = SITEFILTER.SITEID
)
)
order by
C.KEYNAME, C.FIRSTNAME, PG.GIFTDATE
end