USP_DATALIST_WORKSTATIONCASHDRAWERTOOPEN
Returns whether the cash drawer should open for a workstation and sales order payments.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESORDERID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CREDITID | uniqueidentifier | IN | Credit |
@WORKSTATIONID | uniqueidentifier | IN | Workstation |
@WORKSTATIONMACHINENAME | nvarchar(255) | IN | Workstation machine name |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_WORKSTATIONCASHDRAWERTOOPEN(
@SALESORDERID uniqueidentifier,
@CREDITID uniqueidentifier = null,
@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 @CREDITID is null
begin
if exists(
select 1
from dbo.SALESORDERPAYMENT
inner join dbo.REVENUEPAYMENTMETHOD
on REVENUEPAYMENTMETHOD.REVENUEID = SALESORDERPAYMENT.PAYMENTID
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 [SALESORDERPAYMENT].[SALESORDERID] = @SALESORDERID
)
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
end
else
begin
if exists(
select 1
from dbo.CREDITPAYMENT
inner join dbo.UFN_WORKSTATION_GETCASHDRAWERPAYMENTMETHODS(@WORKSTATIONID) as WORKSTATIONPAYMENTMETHOD
on
CREDITPAYMENT.PAYMENTMETHODCODE = WORKSTATIONPAYMENTMETHOD.PAYMENTTYPECODE and
(
--Other payment method special handling -- not just on matching on typecode
CREDITPAYMENT.PAYMENTMETHODCODE <> 10 or
WORKSTATIONPAYMENTMETHOD.PAYMENTMETHODID = CREDITPAYMENT.OTHERPAYMENTMETHODCODEID
)
where [CREDITPAYMENT].[CREDITID] = @CREDITID
)
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
end