You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

197 lines
12 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_unlockTransaction] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[proc_unlockTransaction]
@flag VARCHAR(50)
,@controlNo VARCHAR(20) = NULL
,@user VARCHAR(30) = NULL
,@tranIds VARCHAR(MAX) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
AS
/*
EXEC proc_unlockTransaction @flag = 'dom_unpaid_ac',@controlNo=null
*/
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)
SELECT @controlNoEncrypted = dbo.FNAEncryptString(UPPER(@controlNo))
IF @flag = 's' --Select Locked Transactions
BEGIN
SET @table = '(
SELECT
trn.id
,controlNo = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
,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
,trn.pAmt
,trn.lockedDate
,trn.lockedBy
,lockedDuration = DATEDIFF(MI, trn.lockedDate, GETDATE())
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 = ''Lock''
AND DATEDIFF(MI, trn.lockedDate, GETDATE()) > 1
'
SET @sql_filter = ''
IF @controlNo IS NOT NULL
SET @table = @table + ' AND trn.controlNo = ''' + @controlNoEncrypted + ''''
SET @select_field_list ='
id
,controlNo
,sCustomerId
,senderName
,sCountryName
,sStateName
,sCity
,sAddress
,rCustomerId
,receiverName
,rCountryName
,rStateName
,rCity
,rAddress
,pAmt
,lockedDate
,lockedBy
,lockedDuration
'
SET @table = @table + ') x'
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
IF @flag = 'u'
BEGIN
DECLARE @sql VARCHAR(MAX)
SET @sql = 'UPDATE remitTran SET
tranStatus = ''Payment''
,payTokenId = NULL
WHERE id IN (' + @tranIds + ')
'
EXEC(@sql)
EXEC proc_errorHandler 0, 'Transaction(s) unlocked successfully', NULL
END
IF @flag = 'ut' --Unlock By Transaction
BEGIN
UPDATE remitTran SET
tranStatus = 'Payment'
,payTokenId = NULL
WHERE controlNo = dbo.FNAEncryptString(UPPER(@controlNo))
EXEC proc_errorHandler 0, 'Transaction unlocked successfully', NULL
END
IF @flag = 'dom_unpaid_ac' --Domestic Unpaid Transaction
BEGIN
SET @table = '
SELECT
[Tran Id] = trn.id
,[Control No] = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
,[Payout Amount] = trn.pAmt
,[Sending Country] = sen.country
,[Sender Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
,[Receiver Name] = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
,[Locked Date] = trn.lockedDate
,[Locked By] = trn.lockedBy
,[Locked </br> Duration] = DATEDIFF(MI, trn.lockedDate, GETDATE())
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 = ''Lock'' and trn.tranType = ''D''
--AND DATEDIFF(MI, trn.lockedDate, GETDATE()) > 1
'
Exec(@table)
END
IF @flag = 'unlock' --Unlock By Transaction
BEGIN
IF RIGHT(@controlNo, 1) = 'D'
BEGIN
UPDATE remitTran SET
tranStatus = 'Payment'
,payTokenId = NULL
WHERE controlNo = @controlNoEncrypted
END
ELSE
BEGIN
UPDATE dbo.remitTran SET
lockStatus = 'unlocked'
WHERE controlNo = @controlNoEncrypted
END
EXEC proc_errorHandler 0, 'Transaction unlocked successfully', NULL
END
IF @flag = 'lockIntl' --International Lock Transaction
BEGIN
SET @table = '
SELECT
[Tran Id] = trn.id
,[Control No] = ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(trn.controlNo) + '''''')">'' + dbo.FNADecryptString(trn.controlNo) + ''</a>''
,[Payout Amount] = trn.pAmt
,[Sending Country] = sen.country
,[Sender Name] = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
,[Receiver Name] = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
,[Locked Date] = trn.lockedDate
,[Locked By] = trn.lockedBy
,[Locked </br> Duration] = DATEDIFF(MI, trn.lockedDate, GETDATE())
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.lockStatus = ''Lock''
'
Exec(@table)
END
GO