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.
 
 
 

166 lines
9.0 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[INBOUND_PROC_POSTTXN] Script Date: 9/27/2019 1:30:13 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create proc [dbo].[INBOUND_PROC_POSTTXN]
@flag VARCHAR(50) = NULL
,@user VARCHAR(200) = NULL
,@trnId VARCHAR(30) = NULL
,@controlNo VARCHAR(100) = NULL
,@sCountry VARCHAR(50) = NULL
,@sAgentName VARCHAR(50) = NULL
,@senderName VARCHAR(50) = NULL
,@receiverName VARCHAR(50) = NULL
,@branchName VARCHAR(50) = NULL
,@createdBy VARCHAR(50) = NULL
,@createdDate VARCHAR(20) = NULL
,@type VARCHAR(50) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@Msg VARCHAR(20) = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
DECLARE @controlNoEncrypted VARCHAR(20)
SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
BEGIN TRY
CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
DECLARE
@sql VARCHAR(MAX)
,@oldValue VARCHAR(MAX)
,@newValue VARCHAR(MAX)
,@module VARCHAR(10)
,@tableAlias VARCHAR(100)
,@logIdentifier VARCHAR(50)
,@logParamMod VARCHAR(100)
,@logParamMain VARCHAR(100)
,@table VARCHAR(MAX)
,@select_field_list VARCHAR(MAX)
,@extra_field_list VARCHAR(MAX)
,@sql_filter VARCHAR(MAX)
,@id VARCHAR(10)
,@modType VARCHAR(6)
,@ApprovedFunctionId INT
,@tranAmount MONEY
SELECT
@ApprovedFunctionId = ''
,@logIdentifier = 'trnId'
,@logParamMain = 'inboiundPostTxn'
,@logParamMod = 'inboiundPostTxn'
,@module = '20'
,@tableAlias = 'Post Inbound Txn'
IF @flag='s'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'tranId'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
print @table
--return;
SET @table = '(
select tranId = id
,controlNoencript =main.controlNo
,controlNo= ''<a href="'+dbo.FNAGetURL()+'InboundRemit/Transaction/PostTransaction/Manage.aspx?controlNo='' + dbo.FNADecryptString(main.controlNo) + ''">'' + dbo.FNADecryptString(main.controlNo ) + ''</a>''
,PAGENTName
,receiverName
,senderName
,hasChanged = ''N''
,sCountry
,sAgentName
,createdBy
,createdDate
,SettlementAmt
,pAmt
,providername=''INBOUND API''
FROM INBOUND_REMIT_TRAN (NOLOCK) MAIN
Where tranStatus =''PAYMENT''
) x'
--PRINT(@table)
SET @sql_filter = ''
IF @sAgentName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND sAgentName like'''+'%'+ @sAgentName+'%' +''''
IF @controlNo IS NOT NULL
SET @sql_filter = @sql_filter + ' AND controlNoencript = ''' +dbo.encryptDb(@controlNo) + ''''
IF @trnId IS NOT NULL
SET @sql_filter = @sql_filter + ' AND tranId = ''' + @trnId + ''''
IF @sCountry IS NOT NULL
SET @sql_filter = @sql_filter + ' AND sCountry = ''' + @sCountry+''''
IF @senderName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND senderName like '''+'%'+ @senderName+'%'+ ''''
IF @receiverName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND receiverName like ''' +'%' + @receiverName +'%'+ ''''
SET @select_field_list ='
tranId
,controlNo
,PAGENTName
,receiverName
,senderName
,hasChanged
,sCountry
,sAgentName
,createdBy
,createdDate
,pAmt
,providername
'
PRINT (@table)
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @flag='Post'
BEGIN
IF EXISTS ( SELECT 1 FROM dbo.INBOUND_REMIT_TRAN (NOLOCK) WHERE controlNo=@controlNoEncrypted AND tranStatus='Payment')
BEGIN
UPDATE INBOUND_REMIT_TRAN SET tranStatus ='POST' WHERE controlNo =@controlNoEncrypted AND tranStatus='Payment'
EXEC proc_errorHandler 0, 'Transaction has been successfully Post', @trnId
END
ELSE
BEGIN
EXEC proc_errorHandler 1, 'Only Payment transaction can be post', @trnId
RETURN
END
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
DECLARE @errorMessage VARCHAR(MAX)
SET @errorMessage = ERROR_MESSAGE()
EXEC proc_errorHandler 1, @errorMessage, @trnId
END CATCH
GO