USP_DATALIST_RESERVATION_RESOURCES
Lists all supplies/equipment resources belonging to a reservation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CONTEXTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_RESERVATION_RESOURCES
(
@CONTEXTID uniqueidentifier
)
as
set nocount on;
select
SALESORDERITEM.ID,
RESOURCE.NAME as DESCRIPTION,
dbo.UFN_ITINERARY_STARTDATETIME(ITINERARYRESOURCE.ITINERARYID) as STARTDATE,
dbo.UFN_ITINERARY_ENDDATETIME(ITINERARYRESOURCE.ITINERARYID) as ENDDATE,
case RESOURCE.ISPERTICKETITEM
when 0 then
ITINERARYRESOURCE.QUANTITYNEEDED
else
dbo.UFN_RESOURCE_CALCULATEPERTICKETQUANTITY_2(ITINERARYATTENDEECOUNT.QUANTITY * ITINERARYRESOURCE.PERTICKETQUANTITY, ITINERARYRESOURCE.PERTICKETDIVISOR)
end as QUANTITY,
SALESORDERITEM.PRICE,
SALESORDERITEM.PRICINGSTRUCTURECODE,
SALESORDERITEM.TOTAL
from
dbo.SALESORDERITEM
inner join
dbo.SALESORDERITEMITINERARYRESOURCE on SALESORDERITEM.ID = SALESORDERITEMITINERARYRESOURCE.SALESORDERITEMID
inner join
dbo.ITINERARYRESOURCE on SALESORDERITEMITINERARYRESOURCE.ITINERARYRESOURCEID = ITINERARYRESOURCE.ID
inner join
dbo.RESOURCE on ITINERARYRESOURCE.RESOURCEID = RESOURCE.ID
outer apply (
select
sum(ITINERARYATTENDEE.QUANTITY) as QUANTITY
from
dbo.ITINERARYATTENDEE
where
ITINERARYATTENDEE.ITINERARYID = ITINERARYRESOURCE.ITINERARYID
) as ITINERARYATTENDEECOUNT
where
SALESORDERITEM.SALESORDERID = @CONTEXTID
and SALESORDERITEM.TYPECODE = 8
union all
select
SALESORDERITEM.ID,
ITINERARYITEM.NAME + ' - ' + RESOURCE.NAME as DESCRIPTION,
ITINERARYITEM.STARTDATETIME as STARTDATE,
ITINERARYITEM.ENDDATETIME as ENDDATE,
case RESOURCE.ISPERTICKETITEM
when 0 then
ITINERARYITEMRESOURCE.QUANTITYNEEDED
else
dbo.UFN_RESOURCE_CALCULATEPERTICKETQUANTITY_2(ITINERARYATTENDEECOUNT.QUANTITY * ITINERARYITEMRESOURCE.PERTICKETQUANTITY, ITINERARYITEMRESOURCE.PERTICKETDIVISOR)
end as QUANTITY,
SALESORDERITEM.PRICE,
SALESORDERITEM.PRICINGSTRUCTURECODE,
SALESORDERITEM.TOTAL
from
dbo.SALESORDERITEM
inner join
dbo.SALESORDERITEMITINERARYITEMRESOURCE on SALESORDERITEM.ID = SALESORDERITEMITINERARYITEMRESOURCE.SALESORDERITEMID
inner join
dbo.ITINERARYITEMRESOURCE on SALESORDERITEMITINERARYITEMRESOURCE.ITINERARYITEMRESOURCEID = ITINERARYITEMRESOURCE.ID
inner join
dbo.ITINERARYITEM on ITINERARYITEMRESOURCE.ITINERARYITEMID = ITINERARYITEM.ID
inner join
dbo.RESOURCE on ITINERARYITEMRESOURCE.RESOURCEID = RESOURCE.ID
outer apply (
select
sum(ITINERARYATTENDEE.QUANTITY) as QUANTITY
from
dbo.ITINERARYATTENDEE
where
ITINERARYATTENDEE.ITINERARYID = ITINERARYITEM.ITINERARYID
) as ITINERARYATTENDEECOUNT
where
SALESORDERITEM.SALESORDERID = @CONTEXTID
and SALESORDERITEM.TYPECODE = 9
return 0;