USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_LockUnlockTransaction] Script Date: 7/4/2019 11:35:48 AM ******/ DROP PROCEDURE [dbo].[proc_LockUnlockTransaction] GO /****** Object: StoredProcedure [dbo].[proc_LockUnlockTransaction] Script Date: 7/4/2019 11:35:48 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* EXEC proc_loclUnlockTransaction @flag = 'st', @controlNo = '91598256530' SELECT * FROM remitTran where controlNo = '91181462426' select * from staticDataValue where typeid in (5400, 5500) */ CREATE PROC [dbo].[proc_LockUnlockTransaction] @flag VARCHAR(50) ,@controlNo VARCHAR(20) = NULL ,@user VARCHAR(30) = NULL ,@tranId INT = NULL ,@comments VARCHAR(MAX) = NULL ,@sortBy VARCHAR(50) = NULL ,@sortOrder VARCHAR(5) = NULL ,@pageSize INT = NULL ,@pageNumber INT = NULL AS DECLARE @select_field_list VARCHAR(MAX) ,@extra_field_list VARCHAR(MAX) ,@table VARCHAR(MAX) ,@sql_filter VARCHAR(MAX) SET NOCOUNT ON SET XACT_ABORT ON DECLARE @controlNoEncrypted VARCHAR(100) SET @controlNo = UPPER(LTRIM(RTRIM(@controlNo))) SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo) --EXEC proc_LockUnlockTransaction @flag = 'b' ,@pageNumber='1', @pageSize='10', @sortBy='controlNo', @sortOrder='ASC', @user = 'admin' IF @flag = 'b' BEGIN SET @table = '( SELECT trn.id , controlNo = dbo.FNADecryptString(controlNo) , controlNo1 = ''''+dbo.FNADecryptString(controlNo)+'''' ,sCustomerId = sen.customerId ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''') ,sCountryName = sen.country ,sStateName = sen.state ,sCity = sen.city ,sAddress = sen.address ,rCustomerId = rec.customerId ,receiverName = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''') ,rCountryName = rec.country ,rStateName = rec.state ,rCity = rec.city ,rAddress = rec.address ,sAgentName = trn.sAgentName FROM remitTran trn WITH(NOLOCK) LEFT JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId LEFT JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId WHERE trn.tranStatus = ''Block'' ' SET @sql_filter = '' IF @controlNo IS NOT NULL SET @table = @table + ' AND trn.controlNo = ''' + LTRIM(RTRIM(@controlNoEncrypted)) + '''' SET @select_field_list =' id ,controlNo ,sCustomerId ,senderName ,sCountryName ,sStateName ,sCity ,sAddress ,rCustomerId ,receiverName ,rCountryName ,rStateName ,rCity ,rAddress ,sAgentName ,controlNo1 ' SET @table = @table + ') x' EXEC dbo.proc_paging @table ,@sql_filter ,@select_field_list ,@extra_field_list ,@sortBy ,@sortOrder ,@pageSize ,@pageNumber END ELSE IF @flag = 'lt' BEGIN IF NOT EXISTS (SELECT 'X' FROM remitTran WITH (NOLOCK) WHERE controlNo = @controlNoEncrypted) BEGIN EXEC proc_errorHandler 1, 'Transaction not found', @controlNo IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN; END IF @comments IS NULL BEGIN EXEC proc_errorHandler 1, 'Comment can not be blank.', @tranId IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN; END BEGIN TRANSACTION UPDATE remitTran SET blockedBy = @user ,tranStatus = 'Block' ,blockedDate = GETDATE() WHERE controlNo = @controlNoEncrypted --comments SELECT @tranId = id FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted EXEC proc_transactionLogs @flag='i', @user=@user, @tranId=@tranId, @message=@comments,@controlNo=@controlNoEncrypted COMMIT TRANSACTION EXEC proc_errorHandler 0, 'Transaction blocked successfully.', @tranId EXEC proc_addCommentAPI @flag = 'i', @controlNo = @controlNo, @user = @user, @message = @comments, @agentRefId = NULL END ELSE IF @flag = 'ut' BEGIN IF NOT EXISTS (SELECT 'X' FROM remitTran WITH (NOLOCK) WHERE controlNo = @controlNoEncrypted and tranStatus='Block' and payStatus='Unpaid') BEGIN EXEC proc_errorHandler 1, 'Blocked Transaction not found', @controlNo IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN; END IF @comments IS NULL BEGIN EXEC proc_errorHandler 1, 'Comment can not be blank.', @tranId IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN; END BEGIN TRANSACTION UPDATE remitTran SET modifiedBy = @user ,tranStatus = 'Payment' ,modifiedDate = GETDATE() ,modifiedDateLocal = DBO.FNADateFormatTZ(GETDATE(), @user) WHERE controlNo = @controlNoEncrypted AND tranStatus='Block' AND payStatus='Unpaid' --comments SELECT @tranId = id FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted EXEC proc_transactionLogs @flag='i', @user=@user, @tranId=@tranId, @message=@comments, @controlNo=@controlNoEncrypted COMMIT TRANSACTION EXEC proc_errorHandler 0, 'Transaction unlocked successfully.', @tranId END GO