USP_DATALIST_PROSPECTRESEARCHREQUEST
This datalist returns information about prospect research requests.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONTEXTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@STATUSCODE | smallint | IN | Status |
@NUMBERTOSHOWCODE | tinyint | IN | Request date |
@INCLUDECANCELED | bit | IN | Include canceled |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@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. |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECTRESEARCHREQUEST(
@CONTEXTID uniqueidentifier,
@STATUSCODE smallint = 99,
@NUMBERTOSHOWCODE tinyint = 0,
@INCLUDECANCELED bit = 0,
@CURRENTAPPUSERID uniqueidentifier = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
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);
select top(500)
PRR.ID,
PRR.REQUESTNO,
PRR.DUEDATE,
PRR.STATUS,
PRR.RECORDTYPE,
(select count(ID) from dbo.PROSPECTRESEARCHREQUESTCONSTITUENT where PROSPECTRESEARCHREQUESTID = PRR.ID and PROSPECTRESEARCHREQUESTCONSTITUENT.STATUSCODE <> 6) as NUMBEROFCONSTITUENTS,
PRRT.DESCRIPTION as REQUESTTYPE,
NF.NAME as RESEARCHER,
PRR.STATUSCODE,
(
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.PROSPECTRESEARCHREQUESTTYPECODE PRRT on PRRT.ID = PRR.PROSPECTRESEARCHREQUESTTYPECODEID
outer apply
dbo.UFN_CONSTITUENT_DISPLAYNAME(PRR.ASSIGNEDTOID) NF
where
(@NUMBERTOSHOWCODE = 0 or PRR.DATEADDED between @STARTDATE and @ENDDATE) and
(@STATUSCODE = 99 or PRR.STATUSCODE = @STATUSCODE) and
((PRR.STATUSCODE <> 6) or @INCLUDECANCELED = 1) and
(@CONTEXTID = PRR.REQUESTEDBYID or @CONTEXTID = PRR.SUBMITTEDBYID) 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 PRR.DATEADDED desc