USP_DATALIST_PROSPECTRESEARCHREQUESTINDIVIDUALREQUESTS
This datalist displays a list of prospect research request constituents.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONTEXTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ORGPOSITIONSSELECTIONID | uniqueidentifier | IN | Show for |
@STATUSCODE | tinyint | IN | Status |
@FUNDRAISERID | uniqueidentifier | IN | Researcher |
@NUMBERTOSHOWCODE | tinyint | IN | Request date |
@DUEDATECODE | tinyint | IN | Due date |
@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. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECTRESEARCHREQUESTINDIVIDUALREQUESTS(
@CONTEXTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@ORGPOSITIONSSELECTIONID uniqueidentifier = null,
@STATUSCODE tinyint = 99,
@FUNDRAISERID uniqueidentifier = null,
@NUMBERTOSHOWCODE tinyint = 0,
@DUEDATECODE tinyint = 0,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
--Request date filter
declare @STARTDATE datetime;
if @NUMBERTOSHOWCODE = 1 --Today
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE);
else if @NUMBERTOSHOWCODE = 2 --Last 7 Days
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(dateadd(day,-6, @CURRENTDATE));
else if @NUMBERTOSHOWCODE = 3 --Last 30 Days
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(dateadd(day,-29,@CURRENTDATE));
else if @NUMBERTOSHOWCODE = 4 --Last 90 Days
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(dateadd(day,-89,@CURRENTDATE));
else if @NUMBERTOSHOWCODE = 5 --Last 6 Months
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(dateadd(day,1,dateadd(month,-6,@CURRENTDATE)));
else if @NUMBERTOSHOWCODE = 6 --Last Year
set @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(dateadd(day,1,dateadd(year,-1,@CURRENTDATE)))
else
set @STARTDATE = @CURRENTDATE;
declare @ENDDATE datetime;
set @ENDDATE = dbo.UFN_DATE_GETLATESTTIME(@CURRENTDATE);
--Due date filter
declare @DUEDATESTART datetime;
set @DUEDATESTART = dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE);
declare @DUEDATEEND datetime;
if @DUEDATECODE = 1 --Today
set @DUEDATEEND = dbo.UFN_DATE_GETLATESTTIME(@CURRENTDATE);
else if @DUEDATECODE = 2 --Tomorrow
set @DUEDATEEND = dbo.UFN_DATE_GETLATESTTIME(dateadd(day,1, @CURRENTDATE));
else if @DUEDATECODE = 3 --Next 7 days
set @DUEDATEEND = dbo.UFN_DATE_GETLATESTTIME(dateadd(day,7,@CURRENTDATE));
else if @DUEDATECODE = 4 --Next 14 days
set @DUEDATEEND = dbo.UFN_DATE_GETLATESTTIME(dateadd(day,14,@CURRENTDATE));
else
set @DUEDATEEND = @CURRENTDATE;
if @ORGPOSITIONSSELECTIONID is null
select PRRC.ID,
PRRC.REQUESTNO,
PRRC.DUEDATE,
PRRC.STATUS,
NF.NAME,
PRRPC.DESCRIPTION as [PRIORITYCODE],
PRRTC.DESCRIPTION as [REQUESTTYPECODE],
ASSIGNEDTO_NF.NAME as [ASSIGNEDTO],
PRRC.STATUSCODE,
PRRC.ASSIGNEDTOID,
(
select dbo.UDA_BUILDLIST(SITE.NAME)
from dbo.PROSPECTRESEARCHREQUESTSITE
inner join dbo.SITE on SITE.ID = PROSPECTRESEARCHREQUESTSITE.SITEID
where PROSPECTRESEARCHREQUESTID = PRR.ID
) as [SITES]
from
dbo.PROSPECTRESEARCHREQUEST PRR
left join
dbo.PROSPECTRESEARCHREQUESTCONSTITUENT PRRC on PRRC.PROSPECTRESEARCHREQUESTID = PRR.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PRRC.CONSTITUENTID) NF
left join
dbo.PROSPECTRESEARCHREQUESTPRIORITYCODE PRRPC on PRRPC.ID = PRRC.PROSPECTRESEARCHREQUESTPRIORITYCODEID
left join
dbo.PROSPECTRESEARCHREQUESTTYPECODE PRRTC on PRRTC.ID = PRRC.PROSPECTRESEARCHREQUESTTYPECODEID
left join
dbo.APPUSER AU on PRRC.ASSIGNEDTOID = AU.CONSTITUENTID
left join
dbo.PROSPECTRESEARCHREQUESTAPPUSERPERMISSION PRRAUP on PRRAUP.ID = @CURRENTAPPUSERID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PRRC.ASSIGNEDTOID) ASSIGNEDTO_NF
where
(@NUMBERTOSHOWCODE = 0 or PRRC.DATEADDED between @STARTDATE and @ENDDATE) and
(@DUEDATECODE = 0 or PRRC.DUEDATE between @DUEDATESTART and @DUEDATEEND) and
((@STATUSCODE = 99 or PRRC.STATUSCODE = @STATUSCODE) and PRRC.STATUSCODE not in (4, 6)) and
((PRRC.ASSIGNEDTOID = @FUNDRAISERID) or @FUNDRAISERID is null) and
(AU.ID = @CURRENTAPPUSERID or PRRAUP.CANVIEWREQUESTSASSIGNEDTOOTHERS = 1 or PRRC.ASSIGNEDTOID is null) and
dbo.UFN_PROSPECTRESEARCHREQUEST_USERHASSITEACCESS(PRR.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1 and
(--Apply user-defined site filtering
@SITEFILTERMODE = 0
or
exists (select ID from dbo.PROSPECTRESEARCHREQUESTSITE PRRS
inner join dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) S on S.SITEID = PRRS.SITEID
where PRRS.PROSPECTRESEARCHREQUESTID = PRR.ID)
)
order by PRRC.DATEADDED desc
else
begin
declare @IDS as table(ID uniqueidentifier);
insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGPOSITIONSSELECTIONID, @CURRENTAPPUSERID;
select PRRC.ID,
PRRC.REQUESTNO,
PRRC.DUEDATE,
PRRC.STATUS,
NF.NAME,
PRRPC.DESCRIPTION as [PRIORITYCODE],
PRRTC.DESCRIPTION as [REQUESTTYPECODE],
ASSIGNEDTO_NF.NAME as [ASSIGNEDTO],
(
select dbo.UDA_BUILDLIST(SITE.NAME)
from dbo.PROSPECTRESEARCHREQUESTSITE
inner join dbo.SITE on SITE.ID = PROSPECTRESEARCHREQUESTSITE.SITEID
where PROSPECTRESEARCHREQUESTID = PRR.ID
) as [SITES]
from
dbo.PROSPECTRESEARCHREQUEST PRR
left join
dbo.PROSPECTRESEARCHREQUESTCONSTITUENT PRRC on PRRC.PROSPECTRESEARCHREQUESTID = PRR.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PRRC.CONSTITUENTID) NF
left join
dbo.PROSPECTRESEARCHREQUESTPRIORITYCODE PRRPC on PRRPC.ID = PRRC.PROSPECTRESEARCHREQUESTPRIORITYCODEID
left join
dbo.PROSPECTRESEARCHREQUESTTYPECODE PRRTC on PRRTC.ID = PRRC.PROSPECTRESEARCHREQUESTTYPECODEID
left join
dbo.APPUSER AU on PRRC.ASSIGNEDTOID = AU.CONSTITUENTID
left join
dbo.PROSPECTRESEARCHREQUESTAPPUSERPERMISSION PRRAUP on PRRAUP.ID = @CURRENTAPPUSERID
inner join
dbo.ORGANIZATIONPOSITIONHOLDER OPH on OPH.CONSTITUENTID = PRRC.ASSIGNEDTOID and @CURRENTDATE between OPH.DATEFROM and coalesce(OPH.DATETO, @CURRENTDATE)
inner join
@IDS as SELECTION on OPH.[ID] = SELECTION.[ID]
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PRRC.ASSIGNEDTOID) ASSIGNEDTO_NF
where
(@NUMBERTOSHOWCODE = 0 or PRRC.DATEADDED between @STARTDATE and @ENDDATE) and
(@DUEDATECODE = 0 or PRR.DUEDATE between @DUEDATESTART and @DUEDATEEND) and
((@STATUSCODE = 99 or PRRC.STATUSCODE = @STATUSCODE) and PRRC.STATUSCODE not in (4, 6)) and
((PRRC.ASSIGNEDTOID = @FUNDRAISERID) or @FUNDRAISERID is null) and
(AU.ID = @CURRENTAPPUSERID or PRRAUP.CANVIEWREQUESTSASSIGNEDTOOTHERS = 1 or PRRC.ASSIGNEDTOID is null) and
dbo.UFN_PROSPECTRESEARCHREQUEST_USERHASSITEACCESS(PRR.ID, @CURRENTAPPUSERID, @SECURITYFEATUREID, @SECURITYFEATURETYPE) = 1
and
(--Apply user-defined site filtering
@SITEFILTERMODE = 0
or
exists (select ID from dbo.PROSPECTRESEARCHREQUESTSITE PRRS
inner join dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) S on S.SITEID = PRRS.SITEID
where PRRS.PROSPECTRESEARCHREQUESTID = PRR.ID)
)
order by PRRC.DATEADDED desc
end