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.
139 lines
3.8 KiB
139 lines
3.8 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_online_complianceCheck] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
DROP PROCEDURE [dbo].[proc_online_complianceCheck]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_online_complianceCheck] Script Date: 7/4/2019 11:35:48 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE PROC [dbo].[proc_online_complianceCheck]
|
|
(
|
|
@flag VARCHAR(50)
|
|
, @user VARCHAR(100)
|
|
, @senderId VARCHAR(50) = NULL
|
|
, @benId VARCHAR(50) = NULL
|
|
, @rMobile VARCHAR(20) = NULL
|
|
, @raccountNo VARCHAR(50) = NULL
|
|
, @pCountryId INT = NULL
|
|
, @deliveryMethod VARCHAR(50) = NULL
|
|
, @deliveryMethodId INT = NULL
|
|
, @sBranch INT = NULL
|
|
, @pBranch INT = NULL
|
|
, @agentRefId VARCHAR(50) = NULL
|
|
, @collCurr VARCHAR(3) = NULL
|
|
, @sIdType VARCHAR(30) = NULL
|
|
, @sIdNo VARCHAR(25) = NULL
|
|
, @rfName VARCHAR(80) = NULL
|
|
, @cAmt MONEY = NULL
|
|
, @sCountry VARCHAR(30) = NULL
|
|
, @pCountry VARCHAR(30) = NULL
|
|
, @sMobile VARCHAR(25) = NULL
|
|
, @senderName VARCHAR(100)
|
|
)
|
|
|
|
AS
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
|
|
BEGIN TRY
|
|
BEGIN
|
|
DECLARE @pStateId INT
|
|
,@totalRows INT
|
|
,@count INT
|
|
,@id INT
|
|
,@tAmt MONEY = NULL
|
|
,@csMasterId INT
|
|
,@complianceRes VARCHAR(20)
|
|
|
|
,@collModeDesc VARCHAR(50)
|
|
,@compFinalRes VARCHAR(20)
|
|
,@errorCode VARCHAR(5)
|
|
,@msg VARCHAR(MAX)
|
|
|
|
IF @collCurr <> 'GBP'
|
|
BEGIN
|
|
SET @sBranch = '32916';
|
|
END;
|
|
ELSE
|
|
BEGIN
|
|
SET @sBranch = '32915';
|
|
END;
|
|
|
|
IF @flag = 'complianceCheck'
|
|
BEGIN
|
|
DECLARE @complianceRuleId INT, @complienceMessage VARCHAR(1000), @shortMsg VARCHAR(150), @complienceErrorCode INT
|
|
|
|
EXEC [proc_complianceRuleDetail]
|
|
@user = @user
|
|
,@sIdType = @sIdType
|
|
,@sIdNo = @sIdNo
|
|
,@receiverName = @rfName
|
|
,@cAmt = @cAmt
|
|
,@country = @sCountry
|
|
,@message = @complienceMessage OUTPUT
|
|
,@shortMessage = @shortMsg OUTPUT
|
|
,@errCode = @complienceErrorCode OUTPUT
|
|
,@ruleId = @complianceRuleId OUTPUT
|
|
|
|
IF(@complienceErrorCode <> 0)
|
|
BEGIN
|
|
IF(@complienceErrorCode = 1)
|
|
BEGIN
|
|
SET @errorCode=101
|
|
--SELECT 101 errorCode,@msg msg, @complienceErrorCode id, @complienceMessage compApproveRemark,'compliance' vtype
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @errorCode=102
|
|
INSERT remitTranComplianceTemp(csDetailTranId, matchTranId, agentRefId)
|
|
SELECT @complianceRuleId, NULL, @agentRefId
|
|
|
|
--SELECT 102 errorCode,@msg msg, @complienceErrorCode id, @complienceMessage compApproveRemark,'compliance' vtype
|
|
END
|
|
|
|
INSERT INTO ComplianceLog(senderName, senderCountry, senderIdType, senderIdNumber, senderMobile, receiverName, receiverCountry, payOutAmt,
|
|
complianceId, complianceReason, complainceDetailMessage, createdBy, createdDate, logType)
|
|
|
|
SELECT @senderName, @sCountry, @sIdType, @sIdNo, @sMobile, @rfName, @pCountry, @cAmt, @complianceRuleId, @shortMsg, @complienceMessage, @user, GETDATE(),
|
|
'online'
|
|
|
|
DECLARE @tempRowId INT = @@IDENTITY
|
|
|
|
SELECT @errorCode errorCode
|
|
,complianceReason msg
|
|
, id
|
|
,CASE WHEN @errorCode=102 THEN 'HOLD' ELSE 'Blocked' END vtype
|
|
FROM ComplianceLog
|
|
WHERE id = @tempRowId
|
|
|
|
--SELECT
|
|
-- @errorCode
|
|
-- ,csDetailRecId = ''
|
|
-- ,[S.N.] = ROW_NUMBER()OVER(ORDER BY id)
|
|
-- ,[Remarks] = complianceReason
|
|
-- ,[Action] = CASE WHEN @complienceErrorCode=102 THEN 'HOLD' ELSE 'Blocked' END
|
|
----,[Matched Tran ID] = ''
|
|
--FROM ComplianceLog
|
|
--WHERE id = @tempRowId
|
|
RETURN
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT 0 errorCode,'Success' msg, 0 id
|
|
END
|
|
END
|
|
END
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT<>0
|
|
ROLLBACK TRANSACTION
|
|
|
|
DECLARE @errorMessage VARCHAR(MAX)
|
|
SET @errorMessage = ERROR_MESSAGE()
|
|
|
|
EXEC proc_errorHandler 1, @errorMessage, @user
|
|
|
|
END CATCH
|
|
GO
|