USP_DATALIST_FUNDINGREQUESTSINPIPELINE
Summary of unawarded funding requests.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@ORGPOSITIONSSELECTIONID | uniqueidentifier | IN | Show for |
@TOTAL | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_FUNDINGREQUESTSINPIPELINE
(
@CURRENTAPPUSERID uniqueidentifier,
@ORGPOSITIONSSELECTIONID uniqueidentifier = null,
@TOTAL int = null output
)
as begin
set nocount on;
declare @SUMMARYTABLE table
(
ID uniqueidentifier,
DESCRIPTION nvarchar(100),
SEQUENCE int,
COUNT int
);
if @ORGPOSITIONSSELECTIONID is null
begin
insert into @SUMMARYTABLE (ID, DESCRIPTION, SEQUENCE, COUNT)
select
coalesce(FUNDINGREQUESTSTAGECODE.ID,'00000000-0000-0000-0000-000000000001') as ID,
coalesce(FUNDINGREQUESTSTAGECODE.DESCRIPTION, 'No current stage') as DESCRIPTION,
FUNDINGREQUESTSTAGECODE.SEQUENCE,
count(*) as COUNT
from dbo.FUNDINGREQUEST
left join dbo.FUNDINGREQUESTSTAGECODE on FUNDINGREQUESTSTAGECODE.ID = FUNDINGREQUEST.FUNDINGREQUESTSTAGECODEID
where not exists
(
select ID
from dbo.REVENUEFUNDINGREQUEST
where FUNDINGREQUESTID = FUNDINGREQUEST.ID
)
group by
coalesce(FUNDINGREQUESTSTAGECODE.ID,'00000000-0000-0000-0000-000000000001'),
coalesce(FUNDINGREQUESTSTAGECODE.DESCRIPTION, 'No current stage'),
FUNDINGREQUESTSTAGECODE.SEQUENCE;
end
else
begin
declare @IDS as table(ID uniqueidentifier);
insert into @IDS exec USP_ORGANIZATIONHIERARCHY_IDSET_POSITIONHOLDERS @ORGPOSITIONSSELECTIONID, @CURRENTAPPUSERID;
declare @TODAY datetime = getdate();
insert into @SUMMARYTABLE (ID, DESCRIPTION, SEQUENCE, COUNT)
select
coalesce(FUNDINGREQUESTSTAGECODE.ID,'00000000-0000-0000-0000-000000000001') as ID,
coalesce(FUNDINGREQUESTSTAGECODE.DESCRIPTION, 'No current stage') as DESCRIPTION,
FUNDINGREQUESTSTAGECODE.SEQUENCE,
count(*) as COUNT
from dbo.FUNDINGREQUEST
inner join dbo.ORGANIZATIONPOSITIONHOLDER
on ORGANIZATIONPOSITIONHOLDER.CONSTITUENTID = FUNDINGREQUEST.PRIMARYMANAGERID
and @TODAY between ORGANIZATIONPOSITIONHOLDER.DATEFROM and coalesce(ORGANIZATIONPOSITIONHOLDER.DATETO, @TODAY)
inner join @IDS as SELECTION on ORGANIZATIONPOSITIONHOLDER.ID = SELECTION.ID
left join dbo.FUNDINGREQUESTSTAGECODE on FUNDINGREQUESTSTAGECODE.ID = FUNDINGREQUEST.FUNDINGREQUESTSTAGECODEID
where not exists
(
select ID
from dbo.REVENUEFUNDINGREQUEST
where FUNDINGREQUESTID = FUNDINGREQUEST.ID
)
group by
coalesce(FUNDINGREQUESTSTAGECODE.ID,'00000000-0000-0000-0000-000000000001'),
coalesce(FUNDINGREQUESTSTAGECODE.DESCRIPTION, 'No current stage'),
FUNDINGREQUESTSTAGECODE.SEQUENCE;
end
select
ID,
DESCRIPTION,
COUNT
from @SUMMARYTABLE
order by SEQUENCE;
select @TOTAL = sum(COUNT) from @SUMMARYTABLE;
end