USP_DATALIST_CONTACTINFORMATIONPHONE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONSTITUENTID | uniqueidentifier | IN | |
@INCLUDEFORMER | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONTACTINFORMATIONPHONE
(
@CONSTITUENTID uniqueidentifier,
@INCLUDEFORMER bit = 0
)
as
set nocount on;
declare @CURRENTDATE datetime = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
with [CONTACTINFO_CTE] as
(
--Phones
select
PHONE.ID,
dbo.UFN_PHONE_GETINTERNATIONALNUMBER(PHONE.COUNTRYID, PHONE.NUMBER) as CONTACTINFO,
dbo.UFN_PHONETYPECODE_GETDESCRIPTION(PHONE.PHONETYPECODEID) as TYPE,
PHONE.ISPRIMARY,
case when PHONE.DONOTCALL=1 AND PHONE.DONOTTEXT=1 THEN 'Do not call, Do not text'
when PHONE.DONOTCALL=1 THEN 'Do not call'
when PHONE.DONOTTEXT=1 THEN 'Do not text' else '' end as DONOTCONTACT,
PHONE.ISCONFIDENTIAL as ISCONFIDENTIAL,
PHONE.STARTDATE,
PHONE.ENDDATE,
case when PHONE.STARTDATE is null then '0001-01-01' else cast(PHONE.STARTDATE as date) end as [STARTDATE_SORT],
case when PHONE.ENDDATE is null then '0001-01-01' else cast(PHONE.ENDDATE as date) end as [ENDDATE_SORT],
PHONE.DATEADDED
from
dbo.PHONE
where
PHONE.CONSTITUENTID = @CONSTITUENTID
)
select
ID,
case
when ISCONFIDENTIAL = 0
then CONTACTINFO
else
N'(Confidential) ' + CONTACTINFO
end as CONTACTINFO,
case
when ((ENDDATE is null) or (ENDDATE > @CURRENTDATE))
then coalesce(TYPE, N'') + N' (Current)'
else
coalesce(TYPE, N'') + N' (Former)'
end as TYPE,
case when ISPRIMARY = 0 then '' else 'Yes' end as ISPRIMARY,
DONOTCONTACT,
ISCONFIDENTIAL,
case when ((ENDDATE is null) or (ENDDATE > @CURRENTDATE)) then 0 else 1 end as ISFORMER,
STARTDATE,
ENDDATE,
case
when ISCONFIDENTIAL = 1
then 'RES:padlock'
when Len(DONOTCONTACT) > 0
then 'RES:warning'
else
'RES:lv_spacer'
end as IMAGEKEY
from
[CONTACTINFO_CTE]
where
@INCLUDEFORMER = 1 or ((ENDDATE is null) or (ENDDATE > @CURRENTDATE))
order by
ISPRIMARY desc, ISFORMER asc, ENDDATE_SORT desc, STARTDATE_SORT desc, DATEADDED desc