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.
 
 

256 lines
16 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_approveOFACCompliance] Script Date: 12/27/2023 3:37:01 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[proc_approveOFACCompliance]
@flag VARCHAR(50) = NULL
,@user VARCHAR(200) = NULL
,@trnId VARCHAR(30) = NULL
,@controlNo VARCHAR(100) = NULL
,@sCountry VARCHAR(50) = NULL
,@sAgentName VARCHAR(50) = NULL
,@branchName VARCHAR(50) = NULL
,@createdBy VARCHAR(50) = NULL
,@createdDate VARCHAR(20) = NULL
,@type VARCHAR(10) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@Msg VARCHAR(20) = NULL
,@tranType CHAR(1) = NULL
,@email VARCHAR(50) = NULL
,@kycStatus VARCHAR(100) = NULL
AS
------------------------------------------------------------------------
-- #101 - Mobile Changes , #418 - Add email filter
-- #18970 change in @flag='s' to hide document upload panel
-- #18970 chnage in @flag='s' to split txn on the basis of kyc status
-- change in @flag = 's' to show registration type and kyc status
-- change in @flaf = 's' to order the txn by created Date
-------------------------------------------------------------------------
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 = 20123030
,@logIdentifier = 'trnId'
,@logParamMain = 'remitTranCompliance'
,@logParamMod = 'remitTranOfac'
,@module = '20'
,@tableAlias = 'Approve OFAC Compliance'
IF @flag='s'
BEGIN
SET @table = '(
select
tranId=ISNULL(b.holdTranId,b.id)
,controlNo=dbo.FNADecryptString(b.controlNo)
,b.sCountry
,b.sAgentName
,branchName=CASE b.TranType WHEN ''I'' THEN ''CR Panel'' ELSE CASE b.isonlineTxn WHEN ''M'' THEN ''Mobile'' ELSE ''WEB Online'' END END
,b.createdBy
,b.createdDate
,b.cAmt
,type = ISNULL((SELECT dbo.FNAGetOfacComplianceReason(ISNULL(b.holdTranId, b.id))),''Cash Limit Hold'')
,receiverName = rec.fullname
,senderName = b.senderName
, hasChanged = '' ''
--,cm.email as email
,complianceRemarks = cl.complianceReason
,[RegistrationType] = CASE WHEN cm.LawsonCardNo IS NULL THEN '''' ELSE cm.LawsonCardNo END
--,ISNULL(cm.verificationCode,''NOT_COMPLETED'') verificationCode
,verificationCode = cm.verificationCode
from vwRemitTran b with(nolock)
INNER JOIN VWTRANRECEIVERS REC (NOLOCK) ON REC.TRANID = B.ID
LEFT JOIN complianceLog cl (NOLOCK) ON cl.tranId = B.ID
LEFT JOIN CustomerMaster cm(nolock) ON cm.customerId = REC.customerId
WHERE B.tranStatus IN (''Compliance Hold'', ''OFAC Hold'', ''OFAC/Compliance Hold'', ''Cash Limit Hold'', ''Cash Limit/OFAC/Compliance Hold'', ''Cash Limit/OFAC Hold'', ''Cash Limit/Compliance Hold'')
'
IF ISNULL(@tranType, '') <> ''
BEGIN
SET @table += 'AND B.TRANTYPE = ISNULL('''+@tranType+''', B.TRANTYPE)';
END
IF ISNULL(@kycstatus, '') <> ''
BEGIN
SET @table += 'AND cm.LawsonCardNo = ISNULL(''' + @kycstatus + ''', cm.LawsonCardNo)';
END
SET @table += ')';
IF @sortBy IS NULL
SET @sortBy = 'createdDate'
IF @sortOrder IS NULL
SET @sortOrder = 'DESC'
--print @table
--return;
SET @table = '(
SELECT
tranId,
--,controlNo= ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + main.controlNo + '''''')">'' + main.controlNo + ''</a>''
controlNo = ''<a href="'+dbo.FNAGetURL()+'Remit/Compliance/ApproveOFACandComplaince/Manage.aspx?controlNo='' + main.controlNo + ''&showDocPanel=N">'' + main.controlNo + ''</a>'',
branchName,
type,
receiverName,
senderName,
hasChanged,
sCountry,
sAgentName,
createdBy,
createdDate,
cAmt,
complianceRemarks,
RegistrationType,
verificationCode
FROM ' + @table + ' main
) x'
SET @sql_filter = ''
IF @controlNo IS NOT NULL
SET @sql_filter = @sql_filter + ' AND controlNo LIKE ''%' + @controlNo + '%'''
IF @email IS NOT NULL
SET @sql_filter = @sql_filter + ' AND createdBy LIKE ''%' + @email + '%'''
IF @sCountry IS NOT NULL
SET @sql_filter = @sql_filter + ' AND sCountry = ''' + @sCountry + ''''
IF @sAgentName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND sAgentName = ''' + @sAgentName + ''''
IF @branchName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND senderName = ''' + @branchName + ''''
IF @createdBy IS NOT NULL
SET @sql_filter = @sql_filter + ' AND createdBy = ''' + @createdBy + ''''
IF @createdDate IS NOT NULL
SET @sql_filter = @sql_filter + ' AND CAST(createdDate AS DATE) = ''' + @createdDate + ''''
IF @type IS NOT NULL
SET @sql_filter = @sql_filter + ' AND type LIKE ''' + @type + '%'''
SET @select_field_list ='
tranId
,controlNo
,branchName
,type
,receiverName
,senderName
,hasChanged
,sCountry
,sAgentName
,createdBy
,createdDate
,cAmt
,complianceRemarks
,RegistrationType
,verificationCode
'
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
/*
ELSE IF @flag = 'c' -- ## search transaction for Errorneously Pay
BEGIN
IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK)
WHERE controlNo = @controlNoEncrypted and tranStatus = 'Paid' )
BEGIN
EXEC proc_errorHandler 1, 'Paid Transaction Not Found', @controlNoEncrypted
RETURN
END
IF EXISTS(SELECT 'X' FROM errPaidTran WITH(NOLOCK)
WHERE controlNo = (select controlNo from errPaidTran where controlNo=@controlNo and tranStatus='Paid'))
BEGIN
EXEC proc_errorHandler 1, 'Transaction Already Errorneously Paid!', @controlNoEncrypted
RETURN
END
IF EXISTS(SELECT 'X' FROM errPaidTran WITH(NOLOCK)
WHERE controlNo = (select controlNo from errPaidTran where controlNo=@controlNo
and tranStatus is null and ISNULL(isDeleted,'N')<>'Y'))
BEGIN
EXEC proc_errorHandler 1, 'Transaction Already Requested For Errorneously Pay!', @controlNoEncrypted
RETURN
END
DECLARE @agentId INT
SELECT @agentId = agentId FROM applicationUsers WHERE userName = @user
IF @agentId = 1
BEGIN
EXEC proc_errorHandler 0, 'Transaction Found', @controlNoEncrypted
RETURN
END
IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK)
WHERE controlNo = @controlNoEncrypted AND
(pBranch = (SELECT agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user))
)
BEGIN
EXEC proc_errorHandler 1, 'You are not authorized to view this transaction', @controlNoEncrypted
RETURN
END
EXEC proc_errorHandler 0, 'Transaction Found', @controlNo
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