USP_DATALIST_CREDIT_TICKETS
Lists all tickets belonging to a refund.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CREDITID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CREDIT_TICKETS
(
@CREDITID uniqueidentifier
)
as
set nocount on;
--Refunded tickets
select
EXT.SALESORDERITEMID as ID,
SALESORDERITEM.DESCRIPTION as DESCRIPTION,
EVENT.STARTDATE,
EVENT.STARTTIME,
LI.QUANTITY,
LI.UNITVALUE,
EXT.DISCOUNTS,
EXT.FEES,
((LI.QUANTITY * LI.UNITVALUE) - EXT.DISCOUNTS) + EXT.FEES,
SALESORDERITEM.SALESORDERID
from
dbo.FINANCIALTRANSACTION as FT
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.FINANCIALTRANSACTIONID = FT.ID
inner join
dbo.CREDITITEM_EXT as EXT on EXT.ID = LI.ID
inner join
dbo.SALESORDERITEM on SALESORDERITEM.ID = EXT.SALESORDERITEMID
inner join
dbo.SALESORDERITEMTICKET on SALESORDERITEMTICKET.ID = SALESORDERITEM.ID
left join
dbo.SALESORDERITEMTICKETCOMBINATION on SALESORDERITEMTICKETCOMBINATION.ID = SALESORDERITEMTICKET.ID
left join
dbo.EVENT on EVENT.ID = SALESORDERITEMTICKET.EVENTID
where
FT.ID = @CREDITID
and SALESORDERITEMTICKETCOMBINATION.ID is null
union all
--Refunded combo tickets
select
EXT.SALESORDERITEMID as ID,
COMBINATION.NAME + ' - ' + PRICETYPECODE.DESCRIPTION + ' - ' +
stuff((
select
';' + case
when ITEMTICKET.PROGRAMID is not null then P.NAME
else E.NAME + ' ' + convert(nvarchar(8),e.STARTDATE, 1) + ' ' + dbo.UFN_HOURMINUTE_DISPLAYTIME(e.STARTTIME)
end
from dbo.SALESORDERITEMTICKET ITEMTICKET
inner join dbo.SALESORDERITEMTICKETCOMBINATION TICKETCOMBINATION on ITEMTICKET.ID = TICKETCOMBINATION.ID
left join dbo.PROGRAM P on ITEMTICKET.PROGRAMID = P.ID
left join dbo.EVENT E on ITEMTICKET.EVENTID = E.ID
where
TICKETCOMBINATION.TICKETCOMBINATIONID = SALESORDERITEMTICKETCOMBINATION.TICKETCOMBINATIONID
and ITEMTICKET.PRICETYPECODEID = SALESORDERITEMTICKET.PRICETYPECODEID
FOR XML PATH('')
), 1, 1, '')
as DESCRIPTION,
null as STARTDATE,
null as STARTTIME,
LI.QUANTITY,
dbo.UFN_SALESORDER_GETTICKETCOMBINATIONPRICE(SALESORDERITEM.ID),
EXT.DISCOUNTS,
dbo.UFN_SALESORDER_GETTICKETCOMBINATIONFEESREFUNDED(LI.ID) as FEES,
LI.QUANTITY * dbo.UFN_SALESORDER_GETTICKETCOMBINATIONPRICE(SALESORDERITEM.ID) + dbo.UFN_SALESORDER_GETTICKETCOMBINATIONFEESREFUNDED(LI.ID),
SALESORDERITEM.SALESORDERID
from
dbo.FINANCIALTRANSACTION as FT
inner join
dbo.FINANCIALTRANSACTIONLINEITEM as LI on LI.FINANCIALTRANSACTIONID = FT.ID
inner join
dbo.CREDITITEM_EXT as EXT on EXT.ID = LI.ID
inner join
dbo.SALESORDERITEM on SALESORDERITEM.ID = EXT.SALESORDERITEMID
inner join
dbo.SALESORDERITEMTICKET on SALESORDERITEMTICKET.ID = SALESORDERITEM.ID
inner join
dbo.SALESORDERITEMTICKETCOMBINATION on SALESORDERITEMTICKETCOMBINATION.ID = SALESORDERITEMTICKET.ID
inner join
dbo.COMBINATION on COMBINATION.ID = SALESORDERITEMTICKETCOMBINATION.COMBINATIONID
inner join
dbo.PRICETYPECODE on PRICETYPECODE.ID = SALESORDERITEMTICKET.PRICETYPECODEID
left join
dbo.PROGRAM on PROGRAM.ID = SALESORDERITEMTICKET.PROGRAMID
left join
dbo.EVENT on SALESORDERITEMTICKET.EVENTID = EVENT.ID
where
FT.ID = @CREDITID
and SALESORDERITEMTICKETCOMBINATION.PROGRAMGROUPID in (
select top 1 ID from dbo.PROGRAMGROUP
where PROGRAMGROUP.COMBINATIONID = SALESORDERITEMTICKETCOMBINATION.COMBINATIONID
)
order by
DESCRIPTION
return 0;