UFN_REVENUESPLITGIFTAID_GETTRANSITIONALRELIEFNOTEXPIRED
Return
Return Type |
---|
table |
Definition
Copy
-- Note: Changes made here may also need to be made to UFN_REVENUESPLITGIFTAID_GETCHARITYCLASSIFICATION and UFN_CHARITYCLAIMREFERENCENUMBER_GETBYSITE
CREATE function dbo.UFN_REVENUESPLITGIFTAID_GETTRANSITIONALRELIEFNOTEXPIRED()
returns table
as
return
(
select
REVENUESPLITGIFTAID.ID
from dbo.REVENUESPLITGIFTAID
inner join dbo.FINANCIALTRANSACTIONLINEITEM on REVENUESPLITGIFTAID.ID = FINANCIALTRANSACTIONLINEITEM.ID
inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
cross apply
(
select
case
when CLASSIFICATIONCODE = 0 then case
-- cast(cast(datepart(yyyy, getdate()) as nvarchar(4)) + '-04-05' as datetime) is the ENDOFTAXYEAR date
when cast(cast(getdate() as date) as datetime) <= cast(cast(datepart(yyyy, getdate()) as nvarchar(4)) + '-04-05' as datetime) then cast((datepart(yyyy, getdate()) - 3) as nvarchar(4)) + '-04-06'
else cast(cast((datepart(yyyy, getdate()) - 2) as nvarchar(4)) + '-04-06' as datetime)
end
else dateadd(year, -2, case when object_id(N'dbo.GLFISCALPERIOD', N'U') is not null
and (select 1
from dbo.INSTALLEDPRODUCTLIST with (nolock)
where ID = '0e85c527-e6e9-4c5f-a8e8-105fd0e18fe7'
and LEN(EXPIREDATE) = 8
and getdate() <= convert(datetime, substring(EXPIREDATE,1,4) + '-' + substring(EXPIREDATE,5,2) + '-' + substring(EXPIREDATE,7,2) + 'T00:00:00')) = 1
then (select MIN(STARTDATE)
from dbo.GLFISCALPERIOD
where CAST(getdate() as date) between STARTDATE and ENDDATE)
else (select dateadd(month, (FISCALYEARFINALMONTH + 12 - month(getdate())) % 12 - 11, cast(cast(GETDATE() + 1 - day(getdate()) as date) as datetime))
from dbo.INSTALLATIONINFO where ID = 1)
end)
end as CUTOFFDATE
from
(
select top 1 CLASSIFICATIONCODE
from
(
select
CLASSIFICATIONCODE,
1 as [ORDER]
from dbo.CHARITYCLAIMREFERENCENUMBERSITE
inner join dbo.CHARITYCLAIMREFERENCENUMBER on CHARITYCLAIMREFERENCENUMBERSITE.CHARITYCLAIMREFERENCENUMBERID = CHARITYCLAIMREFERENCENUMBER.ID
inner join dbo.UFN_SITEID_MAPFROM_DESIGNATIONID_BULK() SITEFROMDESIGNATION on CHARITYCLAIMREFERENCENUMBERSITE.SITEID = SITEFROMDESIGNATION.SITEID
where
REVENUESPLIT_EXT.DESIGNATIONID = SITEFROMDESIGNATION.ID and
FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1 and
FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
union all
select top 1
CLASSIFICATIONCODE,
2 as [ORDER]
from dbo.CHARITYCLAIMREFERENCENUMBER
where
not exists ( select 1
from dbo.CHARITYCLAIMREFERENCENUMBERSITE
where
CHARITYCLAIMREFERENCENUMBERSITE.CHARITYCLAIMREFERENCENUMBERID = CHARITYCLAIMREFERENCENUMBER.ID
)
) as CLASSIFICATIONCODE
order by [ORDER]
) as CHARITYCLASSIFICATION
) as CUTOFFDATETABLE
where
(
(
REVENUESPLITGIFTAID.INCLUDETRANSITIONALAMOUNTCODE = 0 and -- INCLUDETRANSITIONALAMOUNTCODE of 0 indicates calculate
cast(FINANCIALTRANSACTION.DATE as datetime) >= CUTOFFDATETABLE.CUTOFFDATE) or
REVENUESPLITGIFTAID.INCLUDETRANSITIONALAMOUNTCODE = 1 -- INCLUDETRANSITIONALAMOUNTCODE of 1 indicates include
) and
REVENUESPLITGIFTAID.INCLUDETRANSITIONALAMOUNTCODE <> 2 -- INCLUDETRANSITIONALAMOUNTCODE of 2 indicates exclude
)