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.
170 lines
5.9 KiB
170 lines
5.9 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[mobile_proc_sendMoney] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[mobile_proc_sendMoney]') AND type in (N'P', N'PC'))
|
|
DROP PROCEDURE [dbo].[mobile_proc_sendMoney]
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
--EXEC mobile_proc_sendMoney @Flag='load',@pCountry='pk',@receiverId = '268980',@customerId='32994'
|
|
--EXEC mobile_proc_sendMoney @flag='bankBranch', @pCountry = 'NP', @receiverId = '26663',@Bank='1066',@Search='CCBL'
|
|
Create PROC [dbo].[mobile_proc_sendMoney](
|
|
@Flag VARCHAR(20) = NULL
|
|
,@pCountry VARCHAR(10) = NULL
|
|
,@receiverId VARCHAR(10) = NULL
|
|
,@Bank VARCHAR(100)= NULL
|
|
,@Search VARCHAR(100)= NULL
|
|
,@customerId INT = NULL
|
|
)
|
|
AS
|
|
--#101 mobile changes
|
|
|
|
SET NOCOUNT ON
|
|
BEGIN
|
|
IF @Flag='load'
|
|
BEGIN
|
|
IF OBJECT_ID('tempdb..#payoutMode') IS NOT NULL
|
|
DROP TABLE #payoutMode
|
|
|
|
IF OBJECT_ID('tempdb..#tempBankList') IS NOT NULL
|
|
DROP TABLE #tempBankList
|
|
|
|
SELECT @pCountry = CM.countryId
|
|
FROM dbo.countryMaster(NOLOCK) AS CM
|
|
WHERE CM.countryCode = @pCountry
|
|
|
|
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 = @pCountry AND TPC.IsActive = 1
|
|
AND STM.isActive = 'Y'
|
|
)x
|
|
|
|
SELECT
|
|
AM.agentCountryId AS countryId
|
|
,am.agentId AS Id,am.agentName AS [Name]
|
|
,am.agentCode AS Code
|
|
,AgentRole
|
|
,parentId =CASE WHEN @pCountry=151 THEN '1036' ELSE am.parentId END
|
|
,am.agentState
|
|
,am.isInternal ---- this field is used for account validation 1: allow to do account validation , 0 or null : no need validation
|
|
INTO #tempBankList
|
|
FROM dbo.agentMaster(NOLOCK) AS AM
|
|
WHERE AM.agentType = 2903 AND AM.isActive = 'Y' AND AM.agentCountryId = @pCountry
|
|
AND ISNULL(isApiPartner,'0') = '0'
|
|
ORDER BY am.agentId
|
|
|
|
|
|
--DECLARE @col varchar(MAX);
|
|
--SELECT @col = COALESCE(@col + ',', '') + xx.value
|
|
--FROM (
|
|
-- SELECT DISTINCT p.PayoutPartner,x.value FROM #payoutMode p
|
|
-- INNER JOIN (
|
|
-- SELECT @pCountry AS Country,* FROM dbo.GetCountryCurrency(@pCountry,null,null)
|
|
-- )x ON x.Country = p.countryId
|
|
-- )xx WHERE xx.value <> 'KRW'
|
|
|
|
----## 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 = @pCountry
|
|
|
|
SELECT
|
|
PM.countryId AS CountryId
|
|
,PM.Id AS ModeId
|
|
,PM.Mode,PM.PayoutPartner
|
|
,PayCurrency = dbo.GetAllowCurrency(@pCountry,Id,null)
|
|
,BankRequired
|
|
FROM #payoutMode AS PM
|
|
WHERE PM.PayoutPartner IS NOT NULL
|
|
ORDER BY PM.Mode ASC
|
|
|
|
|
|
CREATE TABLE #TEMPBRANCH(parentId BIGINT)
|
|
|
|
IF @pCountry NOT IN (151)
|
|
BEGIN
|
|
INSERT INTO #TEMPBRANCH
|
|
SELECT DISTINCT parentId FROM agentMaster(NOLOCK)
|
|
WHERE agentCountryId = @pCountry AND agentType = '2904' AND isActive = 'Y'
|
|
END
|
|
|
|
--SELECT * FROM #tempBankList
|
|
--SELECT * FROM #payoutMode
|
|
--RETURN
|
|
----## GET COUNTRY WISE PAYMODE AND PARTNER
|
|
SELECT
|
|
t.countryId,t.id
|
|
,Name = t.Name + CASE WHEN t.parentId in (224388,2140,392226) THEN ISNULL(' - ' +t.Code, '') WHEN t.countryId = 142 THEN ISNULL(' - ' + t.agentState, '') ELSE '' END
|
|
,t.Code,AgentRole = PM.Id
|
|
--,CASE WHEN dbo.IsBranchRequired(t.Id)=0 THEN 'False' ELSE 'True' END AS BranchRequired
|
|
,BranchRequired = CASE WHEN A.parentId IS NOT NULL THEN 'True' ELSE 'False' END
|
|
,IsAccountRequired = CASE WHEN PM.BankRequired = 'True' AND PM.Id NOT IN( 1 ) THEN 'True' ELSE 'False' END
|
|
--,IsAccountValidation = CASE WHEN PM.BankRequired='True' AND dbo.IsBankAccountValidationReq(pm.countryId,pm.Id,t.Id) = 1 THEN 'True' ELSE 'False' END
|
|
,IsAccountValidation = CASE WHEN isInternal='1' THEN 'True' ELSE 'False' END
|
|
FROM #tempBankList t
|
|
INNER JOIN #payoutMode AS PM ON PM.BankRequired = 'True' AND pm.PayoutPartner = t.parentId
|
|
LEFT JOIN #TEMPBRANCH a(nolock) ON A.parentId = T.Id
|
|
WHERE PM.Id = ISNULL(t.AgentRole,PM.ID)
|
|
ORDER BY T.Name
|
|
|
|
|
|
SELECT TOP (30)
|
|
TBL.Id AS BankId
|
|
,AM.agentId AS Id
|
|
,[Name] = CASE WHEN agentCountryId <> '151' THEN AgentName + ' - ' + CAST(agentCode AS VARCHAR) ELSE AgentName END
|
|
FROM dbo.agentMaster(NOLOCK) AS AM
|
|
INNER JOIN #tempBankList AS TBL ON AM.parentId = TBL.Id
|
|
WHERE AM.agentType = 2904
|
|
ORDER BY [Name]
|
|
|
|
SELECT DISTINCT
|
|
Currency = X.value
|
|
,T.Id
|
|
,X.[Key]
|
|
FROM #tempBankList t
|
|
INNER JOIN #payoutMode AS PM ON PM.BankRequired = 'True' AND pm.PayoutPartner = t.parentId
|
|
CROSS APPLY DBO.GetCountryCurrency(@pCountry,PM.Id,T.Id)X
|
|
WHERE PM.Id = ISNULL(t.AgentRole,PM.ID)
|
|
ORDER BY X.[Key] DESC
|
|
|
|
--SELECT
|
|
-- DISTINCT Currency = dbo.GetAllowCurrency(AM.agentCountryId,am.agentRole,AM.agentId)
|
|
-- ,am.agentId AS Id
|
|
--FROM dbo.agentMaster AS AM(NOLOCK)
|
|
--WHERE AM.agentType = 2903 AND AM.isActive = 'Y'
|
|
--AND AM.agentCountryId = @pCountry AND ISNULL(AM.isApiPartner,'0') = '0'
|
|
--ORDER BY am.agentId
|
|
|
|
SELECT * FROM dbo.receiverInformation (NOLOCK)
|
|
WHERE receiverId = @receiverId
|
|
|
|
END
|
|
IF @Flag='bankBranch'
|
|
BEGIN
|
|
--IF @countryId IN (105, 174, 151)
|
|
--BEGIN
|
|
-- SELECT 0 agentId,agentName = 'Any Branch'
|
|
-- RETURN
|
|
--END
|
|
SELECT top 20
|
|
Id = BRANCH_ID
|
|
,[Name] = CASE WHEN BRANCH_COUNTRY <> 'NEPAL' THEN BRANCH_NAME + ' - ' + CAST(BRANCH_CODE1 AS VARCHAR) ELSE BRANCH_NAME END
|
|
,BranhCode = BRANCH_CODE1
|
|
FROM API_BANK_BRANCH_LIST WITH(NOLOCK)
|
|
WHERE IS_ACTIVE = 1
|
|
AND BANK_ID = @Bank
|
|
AND (BRANCH_NAME LIKE '%'+ISNULL(@Search, BRANCH_NAME)+'%' OR BRANCH_CODE1 LIKE '%'+ISNULL(@Search, BRANCH_CODE1)+'%')
|
|
ORDER BY [Name]
|
|
END
|
|
END
|