USP_PAYMENT_ADJUST_POST

Stored procedure to save an adjustment info after changing revenue.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@ADJUSTMENTID uniqueidentifier IN
@STOCKSALEADJUSTMENTIDS xml IN
@PROPERTYDETAILADJUSTMENTID uniqueidentifier IN
@ORIGINALPAYMENTMETHODCODE tinyint IN
@ORIGINALREVENUEPAYMENTMETHODID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            CREATE procedure dbo.USP_PAYMENT_ADJUST_POST
            (
                @ID uniqueidentifier,
                @ADJUSTMENTID uniqueidentifier,
                @STOCKSALEADJUSTMENTIDS xml,
                @PROPERTYDETAILADJUSTMENTID uniqueidentifier,
                @ORIGINALPAYMENTMETHODCODE tinyint,
                @ORIGINALREVENUEPAYMENTMETHODID uniqueidentifier,
                @CHANGEAGENTID uniqueidentifier,
                @CHANGEDATE datetime = null
            )
            as
            set nocount on;

            -- Get payment code

            declare @PAYMENTMETHODCODE tinyint;
            declare @REVENUEPAYMENTMETHODID uniqueidentifier;

            -- Clear GL

            delete from dbo.REVENUEGLDISTRIBUTION where REVENUEID = @ID and OUTDATED = 0;    
            delete from dbo.STOCKSALEGLDISTRIBUTION where REVENUEID = @ID and OUTDATED = 0;
            delete from dbo.PROPERTYDETAILGLDISTRIBUTION where REVENUEID = @ID and OUTDATED = 0;

            -- Add new GL distributions

            if (select DONOTPOST from dbo.REVENUE where ID = @ID) = 0
            begin
                -- Add new GL distributions

                exec dbo.USP_SAVE_REVENUEGLDISTRIBUTION @ID, @CHANGEAGENTID, @CHANGEDATE;

                -- Add new stock detail GL distributions

                if @ORIGINALPAYMENTMETHODCODE = 4 and exists(select ID from dbo.STOCKSALE where STOCKDETAILID = @ORIGINALREVENUEPAYMENTMETHODID)
                    exec dbo.USP_SAVE_STOCKDETAILGLDISTRIBUTION @ID, @CHANGEAGENTID, @CHANGEDATE;

                -- Add new property detail GL distributions

                if @ORIGINALPAYMENTMETHODCODE = 8
                    exec dbo.USP_SAVE_PROPERTYDETAILGLDISTRIBUTION @ID, @CHANGEAGENTID, @CHANGEDATE;

        declare @DEPOSITID uniqueidentifier;
                select @DEPOSITID = DEPOSITID
                from dbo.BANKACCOUNTDEPOSITPAYMENT
                where ID = @ID;
                if @DEPOSITID is not null
                  exec dbo.USP_BANKACCOUNTDEPOSIT_OVERWRITEPAYMENTDEBITACCOUNTS @ID, @DEPOSITID, @CHANGEAGENTID, @CHANGEDATE;
            end

            if @ADJUSTMENTID is not null
                exec dbo.USP_ADJUSTMENTHISTORY_REVENUE_SAVEHISTORY @ID, @CHANGEAGENTID, null, @ADJUSTMENTID

            if @STOCKSALEADJUSTMENTIDS is not null
                exec dbo.USP_ADJUSTMENTHISTORY_STOCK_SAVEHISTORY @REVENUEPAYMENTMETHODID, @CHANGEAGENTID, null, @STOCKSALEADJUSTMENTIDS;

            if @PROPERTYDETAILADJUSTMENTID is not null
                exec dbo.USP_ADJUSTMENTHISTORY_PROPERTY_SAVEHISTORY @REVENUEPAYMENTMETHODID, @CHANGEAGENTID, null, @PROPERTYDETAILADJUSTMENTID;