USP_DATALIST_WORKSTATION_CASHDRAWEROPEN_BYREVENUE

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@WORKSTATIONID uniqueidentifier IN
@WORKSTATIONMACHINENAME nvarchar(255) IN

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_WORKSTATION_CASHDRAWEROPEN_BYREVENUE (
                    @REVENUEID uniqueidentifier,
                    @WORKSTATIONID uniqueidentifier = null,
                    @WORKSTATIONMACHINENAME nvarchar(255) = null
                )
                as
                    set nocount on;

                if @WORKSTATIONID is null
                begin
                    set @WORKSTATIONID = dbo.UFN_WORKSTATION_GETIDBYMACHINENAME(@WORKSTATIONMACHINENAME);
                end

                if    @WORKSTATIONID is not null and 
                    exists(
                        select 1
                        from dbo.REVENUE 
                        inner join dbo.REVENUEPAYMENTMETHOD
                            on REVENUE.ID = REVENUEPAYMENTMETHOD.REVENUEID
                        left outer join dbo.OTHERPAYMENTMETHODDETAIL 
                            on OTHERPAYMENTMETHODDETAIL.ID = REVENUEPAYMENTMETHOD.ID
                        inner join dbo.UFN_WORKSTATION_GETCASHDRAWERPAYMENTMETHODS(@WORKSTATIONID) as WORKSTATIONPAYMENTMETHOD
                            on 
                                REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE = WORKSTATIONPAYMENTMETHOD.PAYMENTTYPECODE and
                                (
                                    --Other payment method special handling -- not just on matching on typecode

                                    REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE <> 10 or
                                    WORKSTATIONPAYMENTMETHOD.PAYMENTMETHODID = OTHERPAYMENTMETHODDETAIL.OTHERPAYMENTMETHODCODEID
                                )
                        where [REVENUE].[ID] = @REVENUEID
                    )
                begin
                    select 
                        1 OPENDRAWER,
                        WORKSTATIONPRINTER.PRINTERNAME,
                        WORKSTATION.CASHDRAWEROPENCOMMAND
                    from dbo.WORKSTATION 
                    left outer join dbo.WORKSTATIONPRINTER
                        on WORKSTATION.CASHDRAWERPRINTERID = WORKSTATIONPRINTER.ID    
                    where WORKSTATION.ID = @WORKSTATIONID
                end
                else
                begin
                    select 
                        0 OPENDRAWER,
                        '' PRINTERNAME,
                        '' CASHDRAWEROPENCOMMAND
                end