USP_DATALIST_CONSTITUENTREVENUEDOCUMENTATION
Returns a list of all revenue documentation for the given constituent.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@DOCUMENTATIONTYPECODE | tinyint | IN | Documentation type |
@TITLE | nvarchar(50) | IN | Title |
@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. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENTREVENUEDOCUMENTATION
(
@CONSTITUENTID uniqueidentifier,
@DOCUMENTATIONTYPECODE tinyint = null,
@TITLE nvarchar(50) = '',
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as
set nocount on;
select
REVENUENOTE.ID,
cast(FINANCIALTRANSACTION.DATE as datetime) as REVENUEDATE,
FINANCIALTRANSACTION.TYPE as TRANSACTIONTYPE,
FINANCIALTRANSACTION.BASEAMOUNT as AMOUNT,
'3a42d039-00b1-4ac4-9f96-2cd65e80e9fd' as [VIEWFORMID],
0 as [DOCUMENTATIONTYPECODE],
null as [MEDIAURL],
null as [FILENAME],
null as [FILEFIELDID],
'Note' as [DOCUMENTATIONTYPE],
REVENUENOTE.DATEENTERED,
REVENUENOTETYPECODE.DESCRIPTION as [TYPE],
REVENUENOTE.TITLE,
CONSTITUENT.NAME,
FINANCIALTRANSACTION.ID as REVENUEID,
dbo.UFN_ANNOTATION_ANNOTATIONEXISTS('Revenue Detail Note',REVENUENOTE.ID) as ANNOTATIONEXISTS,
dbo.UFN_REVENUE_BUILDSITELIST(FINANCIALTRANSACTION.ID) as SITES,
isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID) as BASECURRENCYID
from
dbo.REVENUENOTE
inner join dbo.FINANCIALTRANSACTION on REVENUENOTE.REVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.REVENUENOTETYPECODE on REVENUENOTETYPECODE.ID = REVENUENOTE.REVENUENOTETYPECODEID
inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
left join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUENOTE.AUTHORID
where
FINANCIALTRANSACTION.CONSTITUENTID = @CONSTITUENTID
and FINANCIALTRANSACTION.DELETEDON is null
and (@DOCUMENTATIONTYPECODE is null or @DOCUMENTATIONTYPECODE = 0)
and (@TITLE = '' or REVENUENOTE.TITLE like @TITLE + '%')
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
inner join dbo.REVENUESPLIT_EXT on RSSUB.ID = REVENUESPLIT_EXT.ID
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE <> 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
and
(
@SITEFILTERMODE = 0
or
exists(select UFN_SITE_BUILDDATALISTSITEFILTER.SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) where UFN_SITE_BUILDDATALISTSITEFILTER.SITEID = REVSITES.SITEID)
)
)
union all
select
REVENUEMEDIALINK.ID,
cast(FINANCIALTRANSACTION.DATE as datetime) as REVENUEDATE,
FINANCIALTRANSACTION.TYPE as TRANSACTIONTYPE,
FINANCIALTRANSACTION.BASEAMOUNT as AMOUNT,
'f91aec3c-60d2-46e3-b875-59424b4f0155' as [VIEWFORMID],
1 as [DOCUMENTATIONTYPECODE],
REVENUEMEDIALINK.MEDIAURL,
null,
null,
'Media link' as [DOCUMENTATIONTYPE],
REVENUEMEDIALINK.DATEENTERED,
REVENUEMEDIALINKTYPECODE.DESCRIPTION as [TYPE],
REVENUEMEDIALINK.TITLE,
CONSTITUENT.NAME,
FINANCIALTRANSACTION.ID as REVENUEID,
cast(0 as bit) as ANNOTATIONEXISTS,
dbo.UFN_REVENUE_BUILDSITELIST(FINANCIALTRANSACTION.ID) as SITES,
isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID) as BASECURRENCYID
from
dbo.REVENUEMEDIALINK
inner join dbo.FINANCIALTRANSACTION on REVENUEMEDIALINK.REVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
inner join dbo.REVENUEMEDIALINKTYPECODE on REVENUEMEDIALINKTYPECODE.ID = REVENUEMEDIALINK.REVENUEMEDIALINKTYPECODEID
left join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUEMEDIALINK.AUTHORID
where
FINANCIALTRANSACTION.CONSTITUENTID = @CONSTITUENTID and
FINANCIALTRANSACTION.DELETEDON is null and
(@DOCUMENTATIONTYPECODE is null or @DOCUMENTATIONTYPECODE = 1) and
(@TITLE = '' or REVENUEMEDIALINK.TITLE like @TITLE + '%')
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
inner join dbo.REVENUESPLIT_EXT on RSSUB.ID = REVENUESPLIT_EXT.ID
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE <> 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
and
(
@SITEFILTERMODE = 0
or
exists(select UFN_SITE_BUILDDATALISTSITEFILTER.SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) where UFN_SITE_BUILDDATALISTSITEFILTER.SITEID = REVSITES.SITEID)
)
)
union all
select
REVENUEATTACHMENT.ID,
cast(FINANCIALTRANSACTION.DATE as datetime) as REVENUEDATE,
FINANCIALTRANSACTION.TYPE as TRANSACTIONTYPE,
FINANCIALTRANSACTION.BASEAMOUNT as AMOUNT,
'a6ddac7d-a2e1-4990-be72-765443238c90' as [VIEWFORMID],
2 as [DOCUMENTATIONTYPECODE],
null,
REVENUEATTACHMENT.FILENAME,
'FILE',
'Attachment' as [DOCUMENTATIONTYPE],
REVENUEATTACHMENT.DATEENTERED,
REVENUEATTACHMENTTYPECODE.DESCRIPTION as [TYPE],
REVENUEATTACHMENT.TITLE,
CONSTITUENT.NAME,
FINANCIALTRANSACTION.ID as REVENUEID,
cast(0 as bit) as ANNOTATIONEXISTS,
dbo.UFN_REVENUE_BUILDSITELIST(FINANCIALTRANSACTION.ID) as SITES,
isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID) as BASECURRENCYID
from
dbo.REVENUEATTACHMENT
inner join dbo.FINANCIALTRANSACTION on REVENUEATTACHMENT.REVENUEID = FINANCIALTRANSACTION.ID
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
inner join dbo.REVENUEATTACHMENTTYPECODE on REVENUEATTACHMENTTYPECODE.ID = REVENUEATTACHMENT.REVENUEATTACHMENTTYPECODEID
left join dbo.CONSTITUENT on CONSTITUENT.ID = REVENUEATTACHMENT.AUTHORID
where
FINANCIALTRANSACTION.CONSTITUENTID = @CONSTITUENTID and
FINANCIALTRANSACTION.DELETEDON is null and
(@DOCUMENTATIONTYPECODE is null or @DOCUMENTATIONTYPECODE = 2) and
(@TITLE = '' or REVENUEATTACHMENT.TITLE like @TITLE + '%')
and exists
(
select top 1 RSSUB.ID from dbo.FINANCIALTRANSACTIONLINEITEM RSSUB
inner join dbo.REVENUESPLIT_EXT on RSSUB.ID = REVENUESPLIT_EXT.ID
cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
where RSSUB.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
and RSSUB.DELETEDON is null
and RSSUB.TYPECODE <> 1
and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
and
(
@SITEFILTERMODE = 0
or
exists(select UFN_SITE_BUILDDATALISTSITEFILTER.SITEID from dbo.UFN_SITE_BUILDDATALISTSITEFILTER(@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) where UFN_SITE_BUILDDATALISTSITEFILTER.SITEID = REVSITES.SITEID)
)
)
order by
DATEENTERED desc, DOCUMENTATIONTYPE;