USP_DATALIST_BATCHTICKETPRINTJOBTICKETS

Parameters

Parameter Parameter Type Mode Description
@BATCHTICKETPRINTJOBID uniqueidentifier IN
@LOCATIONID uniqueidentifier IN
@EXCLUDEREFUNDED bit IN

Definition

Copy


CREATE procedure dbo.USP_DATALIST_BATCHTICKETPRINTJOBTICKETS (
    @BATCHTICKETPRINTJOBID uniqueidentifier,
    @LOCATIONID uniqueidentifier = null,
    @EXCLUDEREFUNDED bit = 0
)
as
    set nocount on;

    select
        BATCHTICKETPRINTJOBTICKETLINK.ID,
        TICKETPRINTINFO.SEQUENCEID as TICKETNUMBER,
        isnull(EVENT.NAME, PROGRAM.NAME) as DESCRIPTION,
        EVENT.STARTDATETIME,
        case
            when TICKET.EVENTID is not null then
                dbo.UFN_EVENT_GETLOCATIONNAME(TICKET.EVENTID)
            else
                dbo.UFN_PROGRAM_GETLOCATIONNAME(TICKET.PROGRAMID)
        end as LOCATIONNAME,
        NF.NAME as CONSTITUENTNAME,
        BATCHTICKETPRINTJOBTICKETLINK.BATCHTICKETPRINTJOBID,
        SALESORDERITEM.SALESORDERID,
        case
            when TICKET.STATUSCODE = 2 then 1  -- Refunded
            else 0
        end as ISREFUNDED
    from
        dbo.BATCHTICKETPRINTJOBTICKETLINK
    inner join
        dbo.TICKETPRINTINFO on TICKETPRINTINFO.ID = BATCHTICKETPRINTJOBTICKETLINK.ID
    inner join
        dbo.TICKET on TICKET.ID = TICKETPRINTINFO.TICKETID
    inner join
        dbo.SALESORDERITEM on SALESORDERITEM.ID = TICKET.SALESORDERITEMTICKETID
    inner join
        dbo.SALESORDER on SALESORDER.ID = SALESORDERITEM.SALESORDERID
    left outer join
        dbo.PROGRAM on PROGRAM.ID = TICKET.PROGRAMID
    left outer join
        dbo.EVENT on EVENT.ID = TICKET.EVENTID
    outer apply
        dbo.UFN_CONSTITUENT_DISPLAYNAME(isnull(SALESORDER.RECIPIENTID, SALESORDER.CONSTITUENTID)) as NF
    where
        BATCHTICKETPRINTJOBTICKETLINK.BATCHTICKETPRINTJOBID = @BATCHTICKETPRINTJOBID
        and (@EXCLUDEREFUNDED = 0 or TICKET.STATUSCODE in (0,1))  -- Active, Reserved
        and (
            @LOCATIONID is null
            or (
                (
                    TICKET.EVENTID is null  -- Daily admission ticket
                    and @LOCATIONID in (
                        select PROGRAMLOCATION.EVENTLOCATIONID
                        from dbo.PROGRAMLOCATION
                        where PROGRAMLOCATION.PROGRAMID = PROGRAM.ID
                    )
                )
                or (
                    TICKET.EVENTID is not null  -- Scheduled event ticket
                    and (
                        EVENT.EVENTLOCATIONID = @LOCATIONID
                        or (
                            @LOCATIONID in (
                                select PROGRAMEVENTLOCATION.EVENTLOCATIONID
                                from dbo.PROGRAMEVENTLOCATION
                                where PROGRAMEVENTLOCATION.EVENTID = EVENT.ID
                            )
                        )
                    )
                )
            )
        )
    order by
        TICKETPRINTINFO.SEQUENCEID;

    return 0;