UFN_DECLARATIONS_GET
Returns tax declarations for a site and date range.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DATE | datetime | IN | |
@SITEID | uniqueidentifier | IN | |
@CONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
-- NOTE: Any changes here should also be made in UFN_VALIDDECLARATION
CREATE function dbo.UFN_DECLARATIONS_GET
(
@DATE datetime,
@SITEID uniqueidentifier,
@CONSTITUENTID uniqueidentifier
)
returns table
as
return
(
select
TAXDECLARATION.ID,
PAYSTAXCODE,
TAXDECLARATION.DATECHANGED as DATETAXDECLARATIONCHANGED -- returns the date the declaration was last changed
from dbo.TAXDECLARATION
inner join dbo.CHARITYCLAIMREFERENCENUMBER on TAXDECLARATION.CHARITYCLAIMREFERENCENUMBERID = CHARITYCLAIMREFERENCENUMBER.ID
left join dbo.CHARITYCLAIMREFERENCENUMBERSITE on CHARITYCLAIMREFERENCENUMBER.ID = CHARITYCLAIMREFERENCENUMBERSITE.CHARITYCLAIMREFERENCENUMBERID
where
TAXDECLARATION.CONSTITUENTID = @CONSTITUENTID and
(
(
TAXDECLARATION.DECLARATIONSTARTS <= @DATE and
TAXDECLARATION.DECLARATIONENDS >= @DATE
) or
(
TAXDECLARATION.DECLARATIONSTARTS <= @DATE and
TAXDECLARATION.DECLARATIONENDS is null
)
) and
(
TAXDECLARATION.DECLARATIONINDICATORCODE <> 1 or -- Not oral declaration
(
TAXDECLARATION.CONFIRMATIONSENT is not null and
datediff(d, TAXDECLARATION.CONFIRMATIONSENT, getdate()) >= CHARITYCLAIMREFERENCENUMBER.WAITINGPERIOD
)
) and
(
CHARITYCLAIMREFERENCENUMBERSITE.SITEID = @SITEID or
(
CHARITYCLAIMREFERENCENUMBERSITE.SITEID is null and
@SITEID is null
) or
-- Handle sites that use the default CCRN
(
CHARITYCLAIMREFERENCENUMBERSITE.SITEID is null and
not exists
(
select 1
from dbo.CHARITYCLAIMREFERENCENUMBERSITE
where CHARITYCLAIMREFERENCENUMBERSITE.SITEID = @SITEID
)
)
)
)