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.
275 lines
19 KiB
275 lines
19 KiB
/*
|
|
EXEC PROC_MOBILE_DYNAMIC_RECEIVERDETAILS @countryId = '151', @serviceType = 2
|
|
EXEC PROC_MOBILE_DYNAMIC_RECEIVERDETAILS @countryId = null, @serviceType = 5
|
|
EXEC PROC_MOBILE_DYNAMIC_RECEIVERDETAILS @countryId = null, @serviceType = NULL
|
|
EXEC PROC_MOBILE_DYNAMIC_RECEIVERDETAILS @countryId = 17, @serviceType = 2
|
|
*/
|
|
|
|
|
|
--SELECT * FROM dbo.receiverFieldSetup WHERE paymentMethodId = 1
|
|
|
|
|
|
--DELETE FROM dbo.receiverFieldSetup WHERE paymentMethodId = 0
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[PROC_MOBILE_DYNAMIC_RECEIVERDETAILS]
|
|
@customerId VARCHAR(20) = NULL
|
|
,@countryId VARCHAR(10) = NULl
|
|
,@serviceType VARCHAR(10) = NULL
|
|
AS
|
|
SET NOCOUNT ON
|
|
BEGIN
|
|
IF @countryId IS NULL
|
|
RETURN
|
|
IF @serviceType IS NULL
|
|
RETURN
|
|
IF OBJECT_ID('tempdb..#payoutMode') IS NOT NULL
|
|
DROP TABLE #payoutMode
|
|
|
|
IF OBJECT_ID('tempdb..#tempBankList') IS NOT NULL
|
|
DROP TABLE #tempBankList
|
|
|
|
|
|
DECLARE @dyCountryId VARCHAR(10), @dyServciceType VARCHAR(10)
|
|
|
|
|
|
SET @dyCountryId = @countryId
|
|
SET @dyServciceType = @serviceType
|
|
|
|
IF NOT EXISTS(SELECT 'x' FROM dbo.receiverFieldSetup(nolock) WHERE pCountry = @dyCountryId AND paymentMethodId = @dyServciceType)
|
|
BEGIN
|
|
SET @dyCountryId = '0'
|
|
END
|
|
|
|
--SELECT @countryId = CM.countryId
|
|
--FROM dbo.countryMaster(NOLOCK) AS CM
|
|
--WHERE CM.countryCode = 'VN'
|
|
|
|
SELECT DISTINCT * INTO #payoutMode FROM (
|
|
SELECT
|
|
CRM.countryId
|
|
,Id = crm.receivingMode
|
|
,Mode = STM.typeDesc
|
|
,PayoutPartner = TPC.AgentId
|
|
,BankRequired = CASE WHEN crm.agentSelection ='N' THEN 'False' ELSE 'True' END
|
|
--INTO #payoutMode
|
|
FROM dbo.countryReceivingMode(NOLOCK) AS CRM
|
|
INNER JOIN dbo.serviceTypeMaster(NOLOCK) AS STM ON CRM.receivingMode = STM.serviceTypeId
|
|
INNER JOIN dbo.TblPartnerwiseCountry(NOLOCK) AS TPC ON TPC.CountryId = CRM.countryId
|
|
AND CRM.receivingMode = ISNULL(TPC.PaymentMethod,CRM.receivingMode)
|
|
WHERE CRM.countryId = @countryId AND TPC.IsActive = 1
|
|
AND STM.isActive = 'Y'
|
|
)x
|
|
|
|
/*Receiver Field setup*/
|
|
|
|
|
|
DECLARE @tempp TABLE(field VARCHAR(100),fieldRequired VARCHAR(5),minfieldLength INT,maxfieldLength INT,KeyWord VARCHAR(100))
|
|
|
|
IF EXISTS(SELECT 'x' FROM receiverFieldSetup(nolock) WHERE pCountry=@dyCountryId AND paymentMethodId=@dyServciceType
|
|
AND field = 'Local Name' AND fieldRequired IN('M','O'))
|
|
BEGIN
|
|
INSERT INTO @tempp(field,fieldRequired,minfieldLength,maxfieldLength,KeyWord)
|
|
SELECT field,fieldRequired,minfieldLength,maxfieldLength,KeyWord
|
|
FROM receiverFieldSetup(NOLOCK)
|
|
WHERE pCountry=@dyCountryId AND paymentMethodId=@dyServciceType
|
|
AND field IN ('First Name in Local','Middle Name in Local','Last Name in Local')
|
|
END
|
|
|
|
|
|
INSERT INTO @tempp(field,fieldRequired,minfieldLength,maxfieldLength,KeyWord)
|
|
SELECT field,fieldRequired,minfieldLength,maxfieldLength,KeyWord
|
|
FROM receiverFieldSetup(NOLOCK)
|
|
WHERE pCountry=@dyCountryId AND paymentMethodId=@dyServciceType AND
|
|
field NOT IN ('Local Name','First Name in Local','Middle Name in Local','Last Name in Local')
|
|
|
|
--#1
|
|
SELECT * FROM @tempp
|
|
|
|
--#2
|
|
/*Reason*/
|
|
SELECT detailTitle AS id, detailTitle AS text
|
|
FROM dbo.staticDataValue (NOLOCK)
|
|
WHERE typeID=3900
|
|
AND ISNULL(ISACTIVE, 'Y') = 'Y'
|
|
AND ISNULL(IS_DELETE, 'N') = 'N'
|
|
|
|
--#3
|
|
/*Relation*/
|
|
SELECT detailTitle AS id,detailTitle AS text
|
|
FROM dbo.staticDataValue (NOLOCK)
|
|
WHERE typeID=2100
|
|
AND ISNULL(ISACTIVE, 'Y') = 'Y'
|
|
AND ISNULL(IS_DELETE, 'N') = 'N'
|
|
|
|
--#4
|
|
/*IdType*/
|
|
SELECT detailTitle AS id,detailTitle AS text
|
|
FROM dbo.staticDataValue (NOLOCK)
|
|
WHERE typeID=1300
|
|
AND ISNULL(ISACTIVE, 'Y') = 'Y'
|
|
AND ISNULL(IS_DELETE, 'N') = 'N'
|
|
|
|
|
|
DECLARE @PAYOUTPARTNER INT, @agentCurrency VARCHAR(5)
|
|
|
|
SELECT DISTINCT @agentCurrency = CM.currencyCode
|
|
FROM currencyMaster CM WITH (NOLOCK)
|
|
INNER JOIN countryCurrency CC WITH (NOLOCK) ON CM.currencyId=CC.currencyId
|
|
WHERE CC.countryId = @countryId
|
|
AND ISNULL(CC.isDeleted,'')<>'Y'
|
|
AND CC.spFlag IN ('R', 'B')
|
|
AND ISNULL(cc.isDefault, 'N') = 'Y'
|
|
|
|
SELECT @PAYOUTPARTNER = TP.AGENTID
|
|
FROM TblPartnerwiseCountry TP(NOLOCK)
|
|
INNER JOIN AGENTMASTER AM(NOLOCK) ON AM.AGENTID = TP.AGENTID
|
|
WHERE TP.CountryId = @countryId
|
|
AND ISNULL(TP.PaymentMethod, @serviceType) = @serviceType
|
|
AND ISNULL(TP.IsActive, 1) = 1
|
|
AND ISNULL(AM.ISACTIVE, 'Y') = 'Y'
|
|
AND ISNULL(AM.ISDELETED, 'N') = 'N'
|
|
AND ISNULL(TP.IsMobileEnabled, 0) = 1
|
|
|
|
--#5
|
|
/*Province*/
|
|
SELECT id,[text],countryId FROM (
|
|
SELECT
|
|
CAST(TSL.STATE_ID AS VARCHAR) AS id
|
|
,TSL.STATE_NAME AS [text]
|
|
, CONVERT(VARCHAR,CM.countryId) AS countryId
|
|
FROM dbo.API_STATE_LIST(NOLOCK) AS TSL
|
|
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = TSL.STATE_COUNTRY
|
|
WHERE CM.countryId=@countryId
|
|
AND API_PARTNER_ID = @PAYOUTPARTNER
|
|
UNION ALL
|
|
SELECT '0' AS id,'Any State' AS [text],@countryId AS countryId
|
|
)x WHERE ISNULL(x.countryId,@countryId) = @countryId ORDER BY [text] ASC
|
|
----WHERE CONVERT(VARCHAR,TSL.countryId)='203' AND TSL.partnerLocationId='019'
|
|
|
|
/*District*/
|
|
--#6
|
|
SELECT
|
|
CAST(CITY_ID AS VARCHAR) AS id,RTRIM(LTRIM(TSL.CITY_NAME)) AS [text], CONVERT(VARCHAR,TSL.STATE_ID) AS provinceId
|
|
FROM dbo.API_CITY_LIST(NOLOCK) AS TSL
|
|
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = TSL.CITY_COUNTRY
|
|
WHERE CM.countryId=@countryId
|
|
UNION ALL
|
|
SELECT '0' AS id,'Any District' AS [text],'0' AS provinceId
|
|
ORDER BY [text]
|
|
|
|
|
|
--##7
|
|
----## GET COUNTRY INFO
|
|
SELECT CM.countryId AS Id,CM.countryName AS Name, CM.countryCode AS Code
|
|
FROM dbo.countryMaster(NOLOCK) AS CM
|
|
WHERE CM.countryId = @countryId
|
|
|
|
--##8
|
|
SELECT
|
|
PM.countryId AS CountryId
|
|
,PM.Id AS ModeId
|
|
,PM.Mode,PM.PayoutPartner
|
|
--,PayCurrency = dbo.GetAllowCurrency(PM.countryId,PM.Id,null)
|
|
,PayCurrency = @agentCurrency
|
|
,BankRequired
|
|
FROM #payoutMode AS PM
|
|
WHERE PM.PayoutPartner IS NOT NULL
|
|
ORDER BY PM.Mode ASC
|
|
|
|
DECLARE @SQL VARCHAR(MAX) = ''
|
|
DECLARE @AGENTLIST TABLE(payoutPartner BIGINT,countryId INT,id BIGINT,Name VARCHAR(250),Code VARCHAR(50),AgentRole INT
|
|
,BranchRequired VARCHAR(5),IsAccountRequired VARCHAR(5),IsAccountValidation VARCHAR(5),agentCurrency VARCHAR(50)
|
|
)
|
|
|
|
IF (@countryId = '151' AND @serviceType = 1) OR (@countryId = '203' AND @serviceType IN (1, 12) AND @PAYOUTPARTNER = 394132)
|
|
BEGIN
|
|
SET @SQL = 'SELECT payoutPartner = '''+CAST(@PAYOUTPARTNER AS VARCHAR)+'''
|
|
,countryId = '''+CAST(@countryId AS VARCHAR)+'''
|
|
,id = 0
|
|
,Name = ''[ANY WHERE]''
|
|
,Code = ''''
|
|
,AgentRole = 1
|
|
,BranchRequired = ''False''
|
|
,IsAccountRequired = ''False''
|
|
,IsAccountValidation = ''False''
|
|
,agentCurrency = '''+CAST(@agentCurrency AS VARCHAR)+''''
|
|
END
|
|
ELSE IF @countryId = '203' AND @serviceType NOT IN (1, 13)
|
|
BEGIN
|
|
SET @SQL = 'SELECT payoutPartner = '''+CAST(@PAYOUTPARTNER AS VARCHAR)+'''
|
|
,countryId = CountryId
|
|
,id = AL.BANK_ID
|
|
,Name = LTRIM(RTRIM(AL.BANK_CODE2))
|
|
,Code = LTRIM(RTRIM(AL.BANK_CODE1))
|
|
,AgentRole = '''+CAST(@serviceType AS VARCHAR)+'''
|
|
,BranchRequired = ''False''
|
|
,IsAccountRequired = CASE WHEN '''+CAST(@serviceType AS VARCHAR)+''' = 2 THEN ''True'' ELSE ''False'' END
|
|
,IsAccountValidation = ''False''
|
|
,agentCurrency = '''+CAST(@agentCurrency AS VARCHAR)+'''
|
|
FROM API_BANK_LIST AL(NOLOCK)
|
|
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = AL.BANK_COUNTRY
|
|
WHERE CM.CountryId = '''+CAST(@countryId AS VARCHAR)+'''
|
|
AND AL.PAYMENT_TYPE_ID IN (0, '''+CAST(@serviceType AS VARCHAR)+''')
|
|
AND AL.IS_ACTIVE = 1
|
|
AND AL.API_PARTNER_ID = '''+CAST(@PAYOUTPARTNER AS VARCHAR)+''''
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SET @SQL = 'SELECT payoutPartner = '''+CAST(@PAYOUTPARTNER AS VARCHAR)+'''
|
|
,countryId = CountryId
|
|
,id = AL.BANK_ID
|
|
,Name = LTRIM(RTRIM(AL.BANK_NAME))
|
|
,Code = LTRIM(RTRIM(AL.BANK_CODE1))
|
|
,AgentRole = '''+CAST(@serviceType AS VARCHAR)+'''
|
|
,BranchRequired = CASE WHEN '''+CAST(@countryId AS VARCHAR)+''' = 151 THEN ''False'' ELSE ''True'' END
|
|
,IsAccountRequired = CASE WHEN '''+CAST(@serviceType AS VARCHAR)+''' = 2 THEN ''True'' ELSE ''False'' END
|
|
,IsAccountValidation = ''False''
|
|
,agentCurrency = '''+CAST(@agentCurrency AS VARCHAR)+'''
|
|
FROM API_BANK_LIST AL(NOLOCK)
|
|
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = AL.BANK_COUNTRY
|
|
WHERE CM.CountryId = '''+CAST(@countryId AS VARCHAR)+'''
|
|
AND AL.PAYMENT_TYPE_ID IN (0, '''+CAST(@serviceType AS VARCHAR)+''')
|
|
AND AL.IS_ACTIVE = 1
|
|
AND AL.API_PARTNER_ID = '''+CAST(@PAYOUTPARTNER AS VARCHAR)+''''
|
|
END
|
|
|
|
--PRINT(@SQL)
|
|
INSERT INTO @AGENTLIST
|
|
EXEC(@SQL)
|
|
|
|
SELECT * FROM @AGENTLIST ORDER BY Name
|
|
--EXEC PROC_MOBILE_DYNAMIC_RECEIVERDETAILS @countryId = '104', @serviceType = 2
|
|
--SELECT * FROM COUNTRYMASTER WHERE COUNTRYNAME = 'INDIA'
|
|
--##10
|
|
SELECT TOP 30
|
|
A.Id AS BankId
|
|
,ABL.BRANCH_ID AS Id
|
|
,ABL.BRANCH_NAME AS [NAME]
|
|
FROM @AGENTLIST A
|
|
INNER JOIN API_BANK_BRANCH_LIST ABL (NOLOCK) ON ABL.BANK_ID = A.id
|
|
ORDER BY [Name]
|
|
|
|
--##11
|
|
SELECT DISTINCT
|
|
Currency = X.value
|
|
,T.Id
|
|
,X.[Key]
|
|
FROM @AGENTLIST t
|
|
INNER JOIN #payoutMode AS PM ON PM.BankRequired = 'True' AND pm.PayoutPartner = t.payoutPartner
|
|
CROSS APPLY DBO.GetCountryCurrency(@countryId,PM.Id,T.Id)X
|
|
WHERE PM.Id = ISNULL(t.AgentRole,PM.ID) AND t.AgentRole = @serviceType
|
|
ORDER BY X.[Key] DESC
|
|
|
|
|
|
|
|
--PRINT @countryId
|
|
--PRINT @serviceType
|
|
|
|
--##12
|
|
SELECT payoutpartner = @PAYOUTPARTNER--dbo.GetActivePayoutPartner(@countryId,@serviceType,'')
|
|
|
|
RETURN
|
|
END
|