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.
 
 

401 lines
23 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[PROC_DROPDOWN_LIST] Script Date: 3/4/2024 6:10:07 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[PROC_DROPDOWN_LIST]
(
@Flag VARCHAR(40)
,@UserEmail VARCHAR(150) = NULL
,@User VARCHAR(150) = NULL
,@ShowAll VARCHAR(5) = NULL
,@selectedValue1 VARCHAR(20) = NULL
,@CountryId INT = NULL
,@PaymentMethod INT = NULL
,@country VARCHAR(50) = NULL
,@customerid int = null
,@paymentMode VARCHAR(20) = NULL
)
AS
;
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
DECLARE @ErrorMsg VARCHAR(MAX)
DECLARE @agentid INT = 394395
PRINT @flag;
IF @Flag = 'PayoutMethod'
BEGIN
DECLARE @PayoutCurrency VARCHAR(5)
SELECT @PayoutCurrency = CM.currencyCode
FROM countryCurrency CC(NOLOCK)
INNER JOIN currencyMaster CM(NOLOCK) ON CM.currencyId = CC.currencyId
WHERE CC.countryId = @CountryId
AND ISNULL(CC.isActive, 'Y') = 'Y'
AND CC.isDefault = 'Y'
IF @PaymentMethod IS NULL
BEGIN
SELECT agentId
,isRealTime
,exRateCalByPartner
,CM.COUNTRYCODE
,CM.CountryName
,AgentId
,PayoutCurrency = @PayoutCurrency
FROM TblPartnerwiseCountry P(NOLOCK)
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYID = P.COUNTRYID
WHERE P.countryId = @CountryId
AND (
PaymentMethod IS NULL
OR PaymentMethod IS NOT NULL
)
AND P.IsActive = 1
END
ELSE
BEGIN
SELECT agentId
,isRealTime
,exRateCalByPartner
,CM.COUNTRYCODE
,CM.CountryName
,AgentId
,PayoutCurrency = @PayoutCurrency
FROM TblPartnerwiseCountry P(NOLOCK)
INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYID = P.COUNTRYID
WHERE P.countryId = @CountryId
AND ISNULL(PaymentMethod, @PaymentMethod) = @PaymentMethod
AND P.IsActive = 1
END
END
--ELSE IF @Flag = 'CustomerReceiver'
--BEGIN
-- SELECT TOP 3 Id = receiverId
-- , Name = FULLNAME
-- , Country = country
-- , Mobile
-- , TransactionType = SM.typeTitle
-- , errorCode = 0
-- , msg = 'Success'
-- FROM receiverInformation RI(NOLOCK)
-- INNER JOIN serviceTypeMaster SM(NOLOCK) ON SM.serviceTypeId = RI.paymentMode
--END
ELSE IF @Flag = 'receiverList'
BEGIN
SELECT Id = receiverId
, Text = FULLNAME
, errorCode = 0
, msg = 'Success'
FROM receiverInformation RI(NOLOCK)
INNER JOIN countryMaster CM(NOLOCK) ON CM.countryname = RI.country
WHERE CM.countryId = @selectedValue1 and Ri.customerId = @customerid order by RI.createdDate desc
END
ELSE IF @Flag = 'receiverListPMode'
BEGIN
SELECT Id = receiverId
, Text = FULLNAME
, errorCode = 0
, msg = 'Success'
FROM receiverInformation RI(NOLOCK)
INNER JOIN countryMaster CM(NOLOCK) ON CM.countryname = RI.country
WHERE CM.countryId = @selectedValue1 and Ri.customerId = @customerid and paymentMode =ISNULL( @paymentMode,paymentMode) order by RI.createdDate desc
END
ELSE IF @Flag = 'purpose'
BEGIN
SELECT Id = valueId
, Text = detailTitle
, errorCode = 0
, msg = 'Success'
FROM staticdatavalue (NOLOCK)
WHERE typeid=3800
AND ISNULL(ISActive, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
ORDER BY detailTitle ASC
END
ELSE IF @Flag = 'howToPay'
BEGIN
SELECT Id = detailTitle
, Text = CASE detailTitle WHEN 'ONLINE' THEN 'Online Banking(Best Rate)' WHEN 'DEBIT_CARD' THEN 'DEBIT CARD' ELSE 'E-Banking (Good rate)' END
FROM staticDataValue (NOLOCK)
WHERE typeId = '8109'
AND ISNULL(isactive, 'Y') = 'Y'
END
ELSE IF @Flag = 'pCountry'
BEGIN
SET @countryId = 233
SELECT Id = countryId
, Text = UPPER(countryName)
, errorCode = 0
, msg = 'Success'
FROM countryMaster CM WITH (NOLOCK)
INNER JOIN (
SELECT receivingCountry
,min(maxLimitAmt) maxLimitAmt
FROM (
SELECT receivingCountry
,max(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
WHERE --countryId = @countryId
--AND
ISNULL(isActive, 'N') = 'Y'
AND ISNULL(isDeleted, 'N') = 'N'
AND ISNULL(agentId, ISNULL(@agentid, 0)) = ISNULL(@agentid, 0)
GROUP BY receivingCountry
UNION ALL
SELECT receivingCountry
,max(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
WHERE agentId = @agentid
AND ISNULL(isActive, 'N') = 'Y'
AND ISNULL(isDeleted, 'N') = 'N'
GROUP BY receivingCountry
) x
GROUP BY receivingCountry
) Y ON Y.receivingCountry = CM.countryId
WHERE ISNULL(isOperativeCountry, '') = 'Y'
AND Y.maxLimitAmt > 0
ORDER BY countryName ASC
END
ELSE IF @Flag = 'pMode'
BEGIN
SET @countryId = 233
SELECT Id = serviceTypeId
, Text = UPPER(typeTitle)
, errorCode = 0
, msg = 'Success'
FROM serviceTypeMaster stm WITH (NOLOCK)
INNER JOIN (
SELECT receivingMode
,maxLimitAmt
FROM countryReceivingMode crm WITH (NOLOCK)
INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
WHERE SL.countryId = @countryId
AND SL.receivingCountry = @selectedValue1
AND SL.agentId IS NULL
AND SL.tranType IS NULL
AND receivingAgent IS NULL
UNION ALL
SELECT receivingMode
,maxLimitAmt
FROM countryReceivingMode crm WITH (NOLOCK)
INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
AND SL.receivingCountry = @selectedValue1
AND SL.countryId = @countryId
WHERE agentId = @agentId
AND SL.tranType IS NULL
AND receivingAgent IS NULL
AND ISNULL(isActive, 'N') = 'Y'
AND ISNULL(isDeleted, 'N') = 'N'
UNION ALL
SELECT tranType
,MAX(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
WHERE countryId = @countryId
AND SL.receivingCountry = @selectedValue1
AND ISNULL(isActive, 'N') = 'Y'
AND ISNULL(isDeleted, 'N') = 'N'
AND SL.agentId IS NULL
AND SL.tranType IS NOT NULL
AND SL.receivingAgent IS NULL
GROUP BY tranType
UNION ALL
SELECT tranType
,MAX(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
WHERE countryId = @countryId
AND SL.receivingCountry = @selectedValue1
AND SL.agentId = @agentid
AND ISNULL(isActive, 'N') = 'Y'
AND ISNULL(isDeleted, 'N') = 'N'
AND receivingAgent IS NULL
AND SL.tranType IS NOT NULL
AND SL.receivingAgent IS NULL
GROUP BY tranType
) X ON X.receivingMode = stm.serviceTypeId
WHERE ISNULL(STM.isActive, 'N') = 'Y'
AND ISNULL(STM.isDeleted, 'N') = 'N'
AND (STM.serviceTypeId NOT IN (5))
--AND (STM.serviceTypeId NOT IN (3,5))
GROUP BY serviceTypeId
,typetitle
HAVING MIN(X.maxLimitAmt) > 0
ORDER BY serviceTypeId ASC
END
ELSE IF @Flag ='allCountrylist'
BEGIN
--select Id = @CountryId,text = UPPER(countryName)
--order by ISNULL(isOperativeCountry,'N') DESC,countryName
SELECT countryId AS [id] ,
countryName AS [text]
FROM countryMaster with (NOLOCK)
order by ISNULL(isOperativeCountry,'N') DESC,countryName
END
IF @flag = 'getSourceOfFound'
BEGIN
SELECT
valueId AS [id]
,detailTitle AS [text]
FROM staticDataValue(NOLOCK)
WHERE TYPEID = 3900
AND ISNULL(ISActive, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
END
ELSE IF @Flag ='getGender'
BEGIN
SELECT valueId AS [id]
,detailTitle AS [text]
FROM staticdatavalue WITH (NOLOCK)
WHERE typeid = 4
--AND ISNULL(ISActive, 'N') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
ORDER BY [text] --Gender
end
ELSE IF @Flag ='getOccuptttion'
BEGIN
SELECT valueId AS [id]
,detailTitle AS [text]
FROM staticdatavalue WITH (NOLOCK)
WHERE typeid = 2000
AND ISNULL(ISActive, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
--occuptttion
END
ELSE IF @Flag ='getIdType'
BEGIN
SELECT valueId AS id,detailTitle AS text
FROM dbo.staticDataValue (NOLOCK)
WHERE typeID=1300
AND ISNULL(ISACTIVE, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
END
ELSE IF @Flag ='getAdditional-IdType'
BEGIN
SELECT valueId AS id
,detailTitle AS [text]
,isBackRequired = CASE valueId WHEN '11313' THEN 1 ELSE 0 END
FROM staticdatavalue(NOLOCK)
WHERE typeid = 7009
AND valueId NOT IN (11314)
AND ISNULL(ISActive, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
END
ELSE IF @Flag ='getRelation'
BEGIN
SELECT valueId AS id,detailTitle AS text
FROM dbo.staticDataValue (NOLOCK)
WHERE typeID=2100
AND ISNULL(ISACTIVE, 'Y') = 'Y'
AND ISNULL(IS_DELETE, 'N') = 'N'
END
ELSE IF @flag ='allCountrylistWithCode'
BEGIN
select countryId [Id],
[Text] = UPPER(countryName)+'('+countryCode+')'
FROM dbo.countryMaster (nolock)
WHere ISNULL(isOperativeCountry,'N')='Y' and countryId<>'233'
order by countryName ASC
END
ELSE IF @flag = 'payoutMethods'
BEGIN
DECLARE @payoutMethods TABLE ([Key] INT,[Value] VARCHAR(50),DISORDER INT)
INSERT INTO @payoutMethods([Key],[Value])
SELECT
Id = serviceTypeId
,Text = UPPER(typetitle)
FROM serviceTypeMaster stm WITH (NOLOCK)
INNER JOIN(
SELECT
receivingMode, maxLimitAmt
FROM countryReceivingMode crm WITH(NOLOCK)
INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.COUNTRYID
WHERE CM.COUNTRYNAME = @country
AND SL.agentId IS NULL AND SL.tranType IS NULL AND receivingAgent IS NULL
UNION ALL
SELECT
receivingMode, maxLimitAmt
FROM countryReceivingMode crm WITH(NOLOCK)
INNER JOIN sendTranLimit SL WITH (NOLOCK) ON crm.countryId = SL.receivingCountry
INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
WHERE SL.tranType IS NULL
AND CM.COUNTRYNAME = @country
AND receivingAgent IS NULL
AND ISNULL(SL.isActive,'N')='Y'
AND ISNULL(SL.isDeleted,'N')='N'
UNION ALL
SELECT tranType, MAX(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
WHERE CM.COUNTRYNAME = @country
AND ISNULL(SL.isActive,'N')='Y'
AND ISNULL(SL.isDeleted,'N')='N'
AND SL.agentId IS NULL
AND SL.tranType IS NOT NULL
AND SL.receivingAgent IS NULL
GROUP BY tranType
UNION ALL
SELECT tranType, MAX(maxLimitAmt) maxLimitAmt
FROM sendTranLimit SL WITH (NOLOCK)
INNER JOIN COUNTRYMASTER CM (NOLOCK) ON CM.COUNTRYID = SL.receivingCountry
WHERE CM.COUNTRYNAME = @country
AND ISNULL(SL.isActive,'N')='Y'
AND ISNULL(SL.isDeleted,'N')='N'
AND receivingAgent IS NULL
AND SL.tranType IS NOT NULL
AND SL.receivingAgent IS NULL
GROUP BY tranType )X ON X.receivingMode = stm.serviceTypeId
WHERE ISNULL(STM.isActive,'N') = 'Y' AND ISNULL(STM.isDeleted,'N') = 'N'
AND (STM.serviceTypeId NOT IN (5))
--AND (STM.serviceTypeId NOT IN (3,5))
GROUP BY serviceTypeId,typetitle
HAVING MIN(X.maxLimitAmt)>0
--ORDER BY serviceTypeId ASC
UPDATE @payoutMethods SET DISORDER = CASE WHEN @country in('Bangladesh','MONGOLIA','THAILAND','INDIA','PAKISTAN') AND [Key]=2 THEN 0 ELSE [Key] END
DELETE FROM @payoutMethods WHERE @country IN ('CAMBODIA') AND [Key] = '2'
--DELETE FROM @payoutMethods WHERE @country='thailand' AND [Key] = '1'
SELECT [Key],[Value] FROM @payoutMethods ORDER BY DISORDER
END
ELSE IF @flag = 'paymentOption'
BEGIN
SELECT depositType AS Text, depositType AS Id
FROM countryWiseExchangeRate
WHERE countryId = @selectedValue1 AND isActive = 'Y'
END
END TRY
BEGIN CATCH
SET @ErrorMsg = 'Internal Server Error: ' + ERROR_MESSAGE()
SELECT errorCode = 1, msg = @ErrorMsg, id = NULL
END CATCH