USP_GET_APPEAL_AND_MAPID
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAXROWS | int | IN | |
@NAME | nvarchar(100) | IN | |
@EVENTIDS | nvarchar(2000) | IN | |
@RECORDTYPE | int | IN | |
@Page | int | IN | |
@CATEGORYID | nvarchar(40) | IN | |
@DESCRIPTION | nvarchar(100) | IN |
Definition
Copy
create procedure dbo.USP_GET_APPEAL_AND_MAPID
( @MAXROWS int =-1,@NAME as nvarchar(100) ='',@EVENTIDS as nvarchar(2000) ='',@RECORDTYPE int =0,@Page int =1,@CATEGORYID as nvarchar(40) =null,@DESCRIPTION as nvarchar(100)='')
as
begin
if @MAXROWS >=0
begin
declare @Offset int = (@Page * @MAXROWS) - @MAXROWS;
if(@RECORDTYPE =0)
begin
set @EVENTIDS =','+@EVENTIDS+','
select
A.ID APPEALID,
A.NAME as APPEALNAME,
A.DESCRIPTION DESCRIPTION,
dbo.UFN_APPEALCATEGORYCODE_GETDESCRIPTION(A.APPEALCATEGORYCODEID) APPEALCATEGORY,
A.ISACTIVE ISACTIVE,
COALESCE((SELECT NAME FROM dbo.SITE WHERE ID = A.SITEID),'''') AS SITE,
coalesce(E.NAME, dbo.UFN_EVENT_GETNAME(EA.EVENTID)) as EVENTNAME,
BA.ID as CMSAPPEALID,
count(1) over() as TOTALRECORDS
from appeal as A
inner join dbo.EVENTAPPEAL as EA on EA.APPEALID = A.ID
inner join dbo.BBNCAPPEALIDMAP as BA on BA.APPEALID =A.ID
inner join dbo.BBNCEVENTIDMAP as BE on BE.EVENTID =EA.EVENTID
inner join dbo.Event as E on E.ID =BE.EVENTID
where
Charindex(','+cast(BE.ID as varchar)+',', @EVENTIDS) >0
and (@NAME ='' or A.NAME like '%'+@NAME+'%')
and A.ISACTIVE = 1
and (@CATEGORYID is null or @CATEGORYID =A.APPEALCATEGORYCODEID)
and (@DESCRIPTION ='' or A.DESCRIPTION like '%'+@DESCRIPTION+'%' )
ORDER BY A.NAME
offset @Offset rows
fetch next @MAXROWS rows only
end
else
begin
SELECT
APPEAL.ID APPEALID,
APPEAL.NAME as APPEALNAME,
APPEAL.DESCRIPTION DESCRIPTION,
dbo.UFN_APPEALCATEGORYCODE_GETDESCRIPTION(APPEAL.APPEALCATEGORYCODEID) APPEALCATEGORY,
APPEAL.ISACTIVE ISACTIVE, COALESCE((SELECT NAME FROM dbo.SITE WHERE ID = APPEAL.SITEID),'''') AS SITE,
coalesce(EVENT.NAME, dbo.UFN_EVENT_GETNAME(EVENTAPPEAL.EVENTID)) as EVENTNAME,
BBNCAPPEALIDMAP.ID as CMSAPPEALID,
count(1) over() as TOTALRECORDS
FROM dbo.APPEAL
left join dbo.EVENT on EVENT.APPEALID = APPEAL.ID
left join dbo.EVENTAPPEAL on APPEAL.ID = EVENTAPPEAL.APPEALID
left outer join dbo.BBNCAPPEALIDMAP on APPEAL.ID = BBNCAPPEALIDMAP.APPEALID
WHERE
(@NAME ='' or APPEAL.NAME like '%'+@NAME+'%')
and APPEAL.ISACTIVE = 1
and (@CATEGORYID is null or @CATEGORYID =APPEAL.APPEALCATEGORYCODEID)
and (@DESCRIPTION ='' or APPEAL.DESCRIPTION like '%'+@DESCRIPTION+'%' )
ORDER BY APPEAL.NAME
offset @Offset rows
fetch next @MAXROWS rows only
end
end
else
begin
SELECT
APPEAL.ID,
APPEAL.NAME as APPEALNAME,
APPEAL.DESCRIPTION,
dbo.UFN_APPEALCATEGORYCODE_GETDESCRIPTION(APPEAL.APPEALCATEGORYCODEID),
APPEAL.ISACTIVE,
COALESCE((SELECT NAME FROM dbo.SITE WHERE ID = APPEAL.SITEID),'''') AS SITE,
coalesce(EVENT.NAME, dbo.UFN_EVENT_GETNAME(EVENTAPPEAL.EVENTID)) as EVENTNAME,
BBNCAPPEALIDMAP.ID as CMSAPPEALID
FROM dbo.APPEAL
left join dbo.EVENT on EVENT.APPEALID = APPEAL.ID
left join dbo.EVENTAPPEAL on APPEAL.ID = EVENTAPPEAL.APPEALID
left outer join dbo.BBNCAPPEALIDMAP on APPEAL.ID = BBNCAPPEALIDMAP.APPEALID
WHERE
(@NAME ='' or APPEAL.NAME like '%'+@NAME+'%')
and APPEAL.ISACTIVE = 1
and (@CATEGORYID is null or @CATEGORYID =APPEAL.APPEALCATEGORYCODEID)
and (@DESCRIPTION ='' or APPEAL.DESCRIPTION like '%'+@DESCRIPTION+'%' )
ORDER BY APPEAL.NAME
End
end