USP_DATALIST_CONSTITUENT_COMMITTEEMEMBERSHIPLIST
List of all committees a constituent is a member of.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@INCLUDEINACTIVE | bit | IN | Include inactive |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONSTITUENT_COMMITTEEMEMBERSHIPLIST
(
@CONSTITUENTID uniqueidentifier,
@INCLUDEINACTIVE bit = 0
)
as
set nocount on;
with COMMITTEEMEMBER_CTE as
(
select
GROUPMEMBER.ID,
GROUPMEMBER.GROUPID,
CONSTITUENT.NAME as GROUPNAME
from
dbo.GROUPMEMBER
inner join
dbo.CONSTITUENT on CONSTITUENT.ID = GROUPMEMBER.GROUPID
where
GROUPMEMBER.MEMBERID = @CONSTITUENTID and
dbo.UFN_CONSTITUENT_ISCOMMITTEE(GROUPMEMBER.GROUPID) = 1 and
(@INCLUDEINACTIVE = 1 or dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GROUPMEMBER.ID) = 1)
)
select
MEMBERSHIP.GROUPID,
MEMBERSHIP.GROUPNAME as GROUPNAME,
MEMBERSHIP.ID as GROUPMEMBERID,
null as PARENT,
MEMBERSHIP.GROUPNAME as NAME,
GROUPMEMBERDATERANGE.DATEFROM as STARTDATE,
GROUPMEMBERDATERANGE.DATETO as ENDDATE,
GROUPMEMBERDATERANGE.COMMENTS,
row_number() over (order by MEMBERSHIP.GROUPNAME) as SEQUENCE,
MEMBERSHIP.ID as ROWID
from
COMMITTEEMEMBER_CTE MEMBERSHIP
left join -- Warning! List might not correctly handle multiple date ranges per group membership!
dbo.GROUPMEMBERDATERANGE on GROUPMEMBERDATERANGE.GROUPMEMBERID = MEMBERSHIP.ID
union all
select
MEMBERSHIP.GROUPID,
MEMBERSHIP.GROUPNAME as GROUPNAME,
MEMBERSHIP.ID as GROUPMEMBERID,
MEMBERSHIP.ID as PARENT,
GROUPMEMBERROLECODE.DESCRIPTION as NAME,
GROUPMEMBERROLE.STARTDATE,
GROUPMEMBERROLE.ENDDATE,
'' as COMMENTS,
row_number() over (order by GROUPMEMBERROLECODE.DESCRIPTION) as SEQUENCE,
GROUPMEMBERROLE.ID as ROWID
from
COMMITTEEMEMBER_CTE MEMBERSHIP
inner join
dbo.GROUPMEMBERROLE on GROUPMEMBERROLE.GROUPMEMBERID = MEMBERSHIP.ID
inner join
dbo.GROUPMEMBERROLECODE on GROUPMEMBERROLECODE.ID = GROUPMEMBERROLE.GROUPMEMBERROLECODEID;