USP_DATAFORMTEMPLATE_EDIT_REVENUERECEIPTRERECEIPTDETAIL
The save procedure used by the edit dataform template "Re-Receipt Detail Edit Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@RERECEIPTREASONCODEID | uniqueidentifier | IN | Reason |
@DETAILS | nvarchar(300) | IN | Details |
@NEWNUMBERONRERECEIPT | bit | IN | Generate a new receipt number? |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUERECEIPTRERECEIPTDETAIL
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@RERECEIPTREASONCODEID uniqueidentifier,
@DETAILS nvarchar(300),
@NEWNUMBERONRERECEIPT bit
)
as
set nocount on;
declare @REVENUERECEIPTID uniqueidentifier = null
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
declare @RECEIPTTYPECODE tinyint
declare @CONSTITUENTID uniqueidentifier
set @CURRENTDATE = getdate()
begin try
select @RECEIPTTYPECODE = RECEIPTTYPECODE, @CONSTITUENTID = CONSTITUENTID from dbo.REVENUE where ID = @ID
if @RECEIPTTYPECODE = 0 --per payment
begin
update dbo.REVENUE set
NEEDSRERECEIPT = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
select top 1 @REVENUERECEIPTID = RR.ID
from dbo.REVENUERECEIPT RR
where RR.REVENUEID=@ID
order by RR.RECEIPTPROCESSDATE desc;
insert into dbo.REVENUERECEIPTRERECEIPTDETAIL (ID, REVENUERECEIPTID, RERECEIPTREASONCODEID, NEWNUMBERONRERECEIPT, DETAILS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values (newid(), @REVENUERECEIPTID, @RERECEIPTREASONCODEID, @NEWNUMBERONRERECEIPT, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
else if @RECEIPTTYPECODE = 1 --consolidated
begin
declare @RECEIPTINGPROCESSSTATUSID uniqueidentifier
select top 1 @RECEIPTINGPROCESSSTATUSID = RECEIPTINGPROCESSSTATUSID from dbo.REVENUERECEIPT
where REVENUEID = @ID
order by RECEIPTPROCESSDATE desc;
insert into dbo.REVENUERECEIPTRERECEIPTDETAIL (ID, REVENUERECEIPTID, RERECEIPTREASONCODEID, NEWNUMBERONRERECEIPT, DETAILS, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select newid(), RR.ID, @RERECEIPTREASONCODEID, @NEWNUMBERONRERECEIPT, @DETAILS, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.REVENUERECEIPT RR
join dbo.REVENUE R on R.ID = RR.REVENUEID
where R.CONSTITUENTID = @CONSTITUENTID and RECEIPTTYPECODE = 1 and RECEIPTINGPROCESSSTATUSID = @RECEIPTINGPROCESSSTATUSID
update R set
NEEDSRERECEIPT = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
from dbo.REVENUE_EXT R
inner join dbo.FINANCIALTRANSACTION as FT on R.ID = FT.ID
join dbo.REVENUERECEIPT RR on RR.REVENUEID = R.ID
where CONSTITUENTID = @CONSTITUENTID and RECEIPTTYPECODE = 1 and RECEIPTINGPROCESSSTATUSID = @RECEIPTINGPROCESSSTATUSID
-- and exists (select * from dbo.REVENUERECEIPT where REVENUEID = REVENUE.ID and )
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;