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.
 
 
 

268 lines
17 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_sendValidation] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE proc [dbo].[proc_sendValidation]
@agentId INT = NULL
,@senIdType VARCHAR(50) = NULL
,@senIdNo VARCHAR(50) = NULL
,@senIdValidDate VARCHAR(50) = NULL
,@senDob VARCHAR(50) = NULL
,@senAddress VARCHAR(200) = NULL
,@senCity VARCHAR(100) = NULL
,@senContact VARCHAR(100) = NULL
,@senOccupation VARCHAR(100) = NULL
,@senCompany VARCHAR(100) = NULL
,@senSalaryRange VARCHAR(50) = NULL
,@purposeOfRemittance VARCHAR(100) = NULL
,@sourceOfFund VARCHAR(100) = NULL
,@recIdType VARCHAR(50) = NULL
,@recIdNo VARCHAR(50) = NULL
,@recPlaceOfIssue VARCHAR(100) = NULL
,@recAddress VARCHAR(200) = NULL
,@recCity VARCHAR(100) = NULL
,@recContact VARCHAR(100) = NULL
,@recRelationship VARCHAR(100) = NULL
,@senNativeCountry VARCHAR(100) = NULL
,@recDob VARCHAR(50) = NULL
,@recIdValidDate VARCHAR(50) = NULL
,@paymentMethod VARCHAR(50) = NULL
,@deliveryMethodId INT = NULL
,@pBank INT = NULL
,@pBankBranchName VARCHAR(100) = NULL
,@accountNo VARCHAR(50) = NULL
,@pAgent INT = NULL
,@pAgentLocation VARCHAR(200) = NULL
,@pBankType CHAR(1) = NULL
,@pCountryId INT = NULL
,@sCountryId INT = NULL
,@checkExpiryDate CHAR(1) = NULL
AS
DECLARE @id CHAR(1), @idValidDate CHAR(1), @dob CHAR(1), @address CHAR(1), @city CHAR(1), @contact CHAR(1), @occupation CHAR(1), @company CHAR(1),
@salaryRange CHAR(1), @por CHAR(1), @sof CHAR(1), @rId CHAR(1), @rPlaceOfIssue CHAR(1), @rAddress CHAR(1), @rCity CHAR(1), @rContact CHAR(1),
@rRelationShip CHAR(1), @nativeCountry CHAR(1), @rowId INT
SELECT @rowId = rowId FROM sendPayTable WITH(NOLOCK) WHERE agent = @agentId AND ISNULL(isDeleted, 'N') = 'N'
IF @rowId IS NULL
SELECT @rowId = rowId FROM sendPayTable WITH(NOLOCK) WHERE country = @sCountryId AND agent IS NULL AND ISNULL(isDeleted, 'N') = 'N'
SELECT
@id = id
,@idValidDate = iDValidDate
,@dob = dob
,@address = address
,@city = city
,@contact = contact
,@occupation = occupation
,@company = company
,@salaryRange = salaryRange
,@por = purposeofRemittance
,@sof = sourceofFund
,@rId = rId
,@rPlaceOfIssue = rPlaceOfIssue
,@rAddress = raddress
,@rCity = rcity
,@rContact = rContact
,@rRelationShip = rRelationShip
,@nativeCountry = nativeCountry
FROM sendPayTable spt WITH(NOLOCK) WHERE rowId = @rowId
--SELECT * FROM receiveTranLimit WITH(NOLOCK)
IF @pBankType = 'I'
BEGIN
DECLARE @rtlId INT
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId = @pBank AND tranType = @deliveryMethodId AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
IF @rtlId IS NULL
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId = @pBank AND tranType IS NULL AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
IF @rtlId IS NULL
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId IS NULL AND countryId = @pCountryId AND tranType = @deliveryMethodId AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
IF @rtlId IS NULL
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId IS NULL AND countryId = @pCountryId AND tranType IS NULL AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
DECLARE @branchSelection VARCHAR(20), @acLengthFrom INT, @acLengthTo INT, @acNumberType VARCHAR(10)
SELECT
@branchSelection = branchSelection
,@rId = ISNULL(benificiaryIdReq, @rId)
,@rContact = ISNULL(benificiaryContactReq, @rContact)
,@acLengthFrom = ISNULL(acLengthFrom, 0)
,@acLengthTo = ISNULL(acLengthTo, 0)
,@acNumberType = acNumberType
FROM receiveTranLimit WITH(NOLOCK)
WHERE rtlId = @rtlId
END
ELSE IF @pBankType = 'E'
BEGIN
--SELECT * FROM externalBank
SELECT
@branchSelection = IsBranchSelectionRequired
FROM externalBank WITH(NOLOCK)
WHERE extBankId = @pBank
END
ELSE
BEGIN
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId IS NULL AND countryId = @pCountryId AND tranType = @deliveryMethodId AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
IF @rtlId IS NULL
SELECT @rtlId = rtlId FROM receiveTranLimit WITH(NOLOCK) WHERE agentId IS NULL AND countryId = @pCountryId AND tranType IS NULL AND ISNULL(isActive, 'N') = 'Y' AND ISNULL(isDeleted, 'N') = 'N'
SELECT
@branchSelection = branchSelection
,@rId = ISNULL(benificiaryIdReq, @rId)
,@rContact = ISNULL(benificiaryContactReq, @rContact)
,@acLengthFrom = ISNULL(acLengthFrom, 0)
,@acLengthTo = ISNULL(acLengthTo, 0)
,@acNumberType = acNumberType
FROM receiveTranLimit WITH(NOLOCK)
WHERE rtlId = @rtlId
END
IF @paymentMethod IN ('Bank Deposit', 'Account Deposit to Other Bank')
BEGIN
IF @pBank IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Bank is missing', NULL
RETURN
END
IF ISNULL(@accountNo, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Account number cannot be blank', NULL
RETURN
END
IF @branchSelection = 'Select' AND ISNULL(@pBankBranchName, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Bank branch is missing', NULL
RETURN
END
/*
IF LEN(@accountNo) NOT BETWEEN @acLengthFrom AND @acLengthTo
BEGIN
EXEC proc_errorHandler 1, 'Account number is not valid', NULL
RETURN
END
IF @acNumberType = 'Numeric' AND ISNUMERIC(@accountNo) = 0
BEGIN
EXEC proc_errorHandler 1, 'Account number is not valid', NULL
RETURN
END
*/
END
ELSE IF @paymentMethod IN ('Cash Payment to Other Bank')
BEGIN
IF @pBank IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Bank is missing', NULL
RETURN
END
IF @pAgent IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Please choose route through agent', NULL
RETURN
END
END
DECLARE @agentSelection CHAR(1)
SELECT @agentSelection = agentSelection FROM countryReceivingMode WITH(NOLOCK) WHERE countryId = @pCountryId AND receivingMode = @deliveryMethodId
IF @agentSelection = 'M' AND @pBank IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Payout Agent is missing', NULL
RETURN
END
IF @id = 'M' AND (ISNULL(@senIdType, '') = '' OR ISNULL(@senIdNo, '') = '')
BEGIN
EXEC proc_errorHandler 1, 'Sender ID Detail is missing', NULL
RETURN
END
/*
IF @idValidDate = 'M' AND ISNULL(@senIdValidDate, '') = '' AND @senIdType <> 'NRIC'
BEGIN
EXEC proc_errorHandler 1, 'Sender ID Expiry Date is missing', NULL
RETURN
END
IF ISNULL(@checkExpiryDate, 'Y') = 'Y'
BEGIN
IF DATEDIFF(D, GETDATE(), @senIdValidDate) < 0
BEGIN
EXEC proc_errorHandler 1, 'Sender ID is expired', NULL
RETURN;
END
END
*/
IF @dob = 'M' AND ISNULL(@senDob, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Sender DOB is missing', NULL
RETURN
END
IF @senDob IS NOT NULL AND DATEDIFF(YEAR, @senDob, GETDATE()) < 18
BEGIN
EXEC proc_errorHandler 1, 'DOB Issue : Customer not eligible. Customer must be at least 18 years', NULL
RETURN
END
IF @address = 'M' AND ISNULL(@senAddress, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Sender address is missing', NULL
RETURN
END
IF @city = 'M' AND ISNULL(@senCity, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Sender city is missing', NULL
RETURN
END
IF @contact = 'M' AND ISNULL(@senContact, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Sender contact number is missing', NULL
RETURN
END
/*
IF @occupation = 'M' AND ISNULL(@senOccupation, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Sender occupation is missing', NULL
RETURN
END
IF @rId = 'M' AND (ISNULL(@recIdType, '') = '' OR ISNULL(@recIdNo, '') = '')
BEGIN
EXEC proc_errorHandler 1, 'Receiver ID detail is missing', NULL
RETURN
END
*/
IF @rAddress = 'M' AND ISNULL(@recAddress, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Receiver address is missing', NULL
RETURN
END
IF @rCity = 'M' AND ISNULL(@recCity, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Receiver city is missing', NULL
RETURN
END
IF @rContact = 'M' AND ISNULL(@recContact, '') = ''
BEGIN
EXEC proc_errorHandler 1, 'Receiver contact number is missing', NULL
RETURN
END
EXEC proc_errorHandler 0, 'Validation Sucessful', NULL
GO