USP_DATALIST_GROUPSALESCHECKOUT
Provides a list of reservations for a certain date range.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DATESELECTTYPE | tinyint | IN | Date |
@STARTDATE | date | IN | From |
@ENDDATE | date | IN | To |
@INCLUDECHECKEDOUT | bit | IN | Include checked out groups |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_GROUPSALESCHECKOUT
(
@DATESELECTTYPE tinyint = null,
@STARTDATE date = null,
@ENDDATE date = null,
@INCLUDECHECKEDOUT bit = 0
)
as
set nocount on;
declare @CURRENTDATE date;
set @CURRENTDATE = getdate();
if @DATESELECTTYPE is null
set @DATESELECTTYPE = 0;
if @INCLUDECHECKEDOUT is null
set @INCLUDECHECKEDOUT = 0;
set @STARTDATE = case @DATESELECTTYPE
when 0 then @CURRENTDATE
when 1 then dateadd(week, -1, @CURRENTDATE)
when 3 then @STARTDATE
when 4 then @STARTDATE
end;
set @ENDDATE = case @DATESELECTTYPE
when 0 then @CURRENTDATE
when 1 then @CURRENTDATE
when 3 then @ENDDATE
when 4 then @STARTDATE
end;
declare @ITINERARYCOUNT tinyint;
select
RESERVATION.ID,
NAME,
case when ARRIVALTIME = '' then
(case when ((select count(ITINERARYITEM.ID)
from dbo.ITINERARY
inner join dbo.ITINERARYITEM on ITINERARYITEM.ITINERARYID = ITINERARY.ID
where RESERVATIONID = RESERVATION.ID) = 0)
then ''
else
dbo.UFN_HOURMINUTE_GETFROMDATE(STARTDATETIME) end)
else ARRIVALTIME end ARRIVALTIME,
dbo.UFN_RESERVATION_TOTALVISITORCOUNT(RESERVATION.ID) as NUMBEROFVISITORS,
ARRIVALDATE,
STATUSCODE,
SECURITYDEPOSITREQUIRED,
SECURITYDEPOSITAMOUNT,
(select max(DATEADDED) from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where RESERVATIONID = RESERVATION.ID) as SECURITYDEPOSITPAIDDATE,
(select sum(AMOUNT) from dbo.RESERVATIONSECURITYDEPOSITPAYMENT where RESERVATIONID = RESERVATION.ID) as SECURITYDEPOSITPAIDAMOUNT,
SECURITYDEPOSITSTATUSCODE
from dbo.RESERVATION
inner join dbo.SALESORDER on RESERVATION.ID = SALESORDER.ID
where ((ARRIVALDATE >= @STARTDATE and ARRIVALDATE <= @ENDDATE) or (@DATESELECTTYPE = 2)) and STATUSCODE in (1, 5) and SECURITYDEPOSITSTATUSCODE > 0
and (((@INCLUDECHECKEDOUT = 0) and (SECURITYDEPOSITSTATUSCODE = 1)) or ((@INCLUDECHECKEDOUT = 1) and (SECURITYDEPOSITSTATUSCODE in (1, 2, 3, 4))))
order by ARRIVALTIME asc;
return 0;