UFN_FUNDRAISER_PROSPECTPLANS_3
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FUNDRAISERID | uniqueidentifier | IN | |
@CHECKSECONDARYFUNDRAISERDATES | bit | IN | |
@CURRENTDATEEARLIESTTIME | datetime | IN |
Definition
Copy
create function dbo.UFN_FUNDRAISER_PROSPECTPLANS_3
(
@FUNDRAISERID uniqueidentifier,
@CHECKSECONDARYFUNDRAISERDATES bit = 0,
@CURRENTDATEEARLIESTTIME datetime
)
returns table
as return
with SECONDARYFUNDRAISER_CTE as
(
select
SECONDARYFUNDRAISER.PROSPECTPLANID
from dbo.SECONDARYFUNDRAISER
where
FUNDRAISERID = @FUNDRAISERID and
(
coalesce(@CHECKSECONDARYFUNDRAISERDATES, 0) = 0 or
(
DATETO is null or
DATETO >= @CURRENTDATEEARLIESTTIME
)
)
)
select
0 SEQUENCE,
'Primary manager, Secondary manager, Secondary solicitor' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
PRIMARYMANAGERFUNDRAISERID = @FUNDRAISERID and
SECONDARYMANAGERFUNDRAISERID = @FUNDRAISERID and
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
(PRIMARYMANAGERENDDATE is null or PRIMARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME) and
(SECONDARYMANAGERENDDATE is null or SECONDARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME) and
exists
(
select 1
from SECONDARYFUNDRAISER_CTE
where
PROSPECTPLANID = PROSPECTPLAN.ID
)
union all
select
1 SEQUENCE,
'Primary manager, Secondary manager' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
PRIMARYMANAGERFUNDRAISERID = @FUNDRAISERID and
SECONDARYMANAGERFUNDRAISERID = @FUNDRAISERID and
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
(PRIMARYMANAGERENDDATE is null or PRIMARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME) and
(SECONDARYMANAGERENDDATE is null or SECONDARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME) and
not exists
(
select 1
from SECONDARYFUNDRAISER_CTE
where
PROSPECTPLANID = PROSPECTPLAN.ID
)
union all
select
2 SEQUENCE,
'Primary manager, Secondary solicitor' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
PRIMARYMANAGERFUNDRAISERID = @FUNDRAISERID and
(
SECONDARYMANAGERFUNDRAISERID is null or
SECONDARYMANAGERFUNDRAISERID <> @FUNDRAISERID or
SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME
) and
(
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
PRIMARYMANAGERENDDATE is null or
PRIMARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME
) and
exists
(
select 1
from SECONDARYFUNDRAISER_CTE
where
PROSPECTPLANID = PROSPECTPLAN.ID
)
union all
select
3 SEQUENCE,
'Secondary manager, Secondary solicitor'FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
(
PRIMARYMANAGERFUNDRAISERID is null or
PRIMARYMANAGERFUNDRAISERID!=@FUNDRAISERID or
PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME
) and
(
SECONDARYMANAGERFUNDRAISERID =@FUNDRAISERID
) and
(
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
SECONDARYMANAGERENDDATE is null or
SECONDARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME
) and
exists
(
select 1
from SecondaryFundraiser_CTE
where
PROSPECTPLANID=PROSPECTPLAN.ID
)
union all
select
4 SEQUENCE,
'Primary manager' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
PRIMARYMANAGERFUNDRAISERID =@FUNDRAISERID and
(
SECONDARYMANAGERFUNDRAISERID is null or
SECONDARYMANAGERFUNDRAISERID!=@FUNDRAISERID or
SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME
) and
(
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
PRIMARYMANAGERENDDATE is null or
PRIMARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME
) and
not exists
(
select 1
from SecondaryFundraiser_CTE
where
PROSPECTPLANID=PROSPECTPLAN.ID
)
union all
select
5 SEQUENCE,
'Secondary manager' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
(
PRIMARYMANAGERFUNDRAISERID is null or
PRIMARYMANAGERFUNDRAISERID!=@FUNDRAISERID or
PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME
) and
(
SECONDARYMANAGERFUNDRAISERID =@FUNDRAISERID
and
(
--Manager's end date is not specified or it has not yet expired(end date is >= current date)
SECONDARYMANAGERENDDATE is null or
SECONDARYMANAGERENDDATE >= @CURRENTDATEEARLIESTTIME
)
) and
not exists
(
select 1
from SecondaryFundraiser_CTE
where
PROSPECTPLANID=PROSPECTPLAN.ID
)
union all
select
6 SEQUENCE,
'Secondary solicitor' FUNDRAISERROLE,
ID
from dbo.PROSPECTPLAN
where
(
PRIMARYMANAGERFUNDRAISERID is null or
PRIMARYMANAGERFUNDRAISERID!=@FUNDRAISERID
)
and
(
SECONDARYMANAGERFUNDRAISERID is null or
SECONDARYMANAGERFUNDRAISERID!=@FUNDRAISERID
)
and exists
(
select 1
from SecondaryFundraiser_CTE
where
PROSPECTPLANID=PROSPECTPLAN.ID
)