USP_REVENUE_UPDATERERECEIPTS
This procedure marks revenue records with the same receipt number as the given revenue record as needing to be re-receipted.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CHANGEDATE | datetime | IN |
Definition
Copy
CREATE procedure dbo.USP_REVENUE_UPDATERERECEIPTS
(
@REVENUEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CHANGEDATE datetime = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CHANGEDATE is null
set @CHANGEDATE = getdate()
-- Check if re-receipts turned on
if (coalesce((select top 1 RERECEIPTPAYMENTS from dbo.RECEIPTPREFERENCEINFO), 1)) = 1
begin
declare @NEEDSRERECEIPT bit, @DONOTRECEIPT bit
select
@NEEDSRERECEIPT = RX.NEEDSRERECEIPT,
@DONOTRECEIPT = RX.DONOTRECEIPT
from dbo.FINANCIALTRANSACTION FT
inner join dbo.REVENUE_EXT RX on RX.ID = FT.ID
where FT.ID = @REVENUEID and FT.TYPECODE = 0 and FT.DELETEDON is null
-- If the payment is not marked do not receipt and has not already been marked re-receipt and at least one
-- previous receipt for the payment exists, mark the current payment as needing to be re-receipted
if (@NEEDSRERECEIPT = 0) and (@DONOTRECEIPT = 0) and exists (select ID from dbo.REVENUERECEIPT where REVENUEID = @REVENUEID)
begin
update dbo.REVENUE_EXT
set
REVENUE_EXT.NEEDSRERECEIPT = 1,
REVENUE_EXT.CHANGEDBYID = @CHANGEAGENTID,
REVENUE_EXT.DATECHANGED = @CHANGEDATE
where REVENUE_EXT.ID = @REVENUEID
end
end
return 0;