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.
 
 
 
 
 

288 lines
8.1 KiB

ALTER PROC PROC_DYNAMIC_TABLE
(
@Flag VARCHAR(20)
,@UserEmail VARCHAR(150) = NULL
,@User VARCHAR(150) = NULL
,@ShowAll VARCHAR(5) = NULL
,@selectedValue1 VARCHAR(20) = NULL
,@CountryId INT = NULL
,@PaymentMethod INT = NULL
,@Password VARCHAR(40) = NULL
,@ConfirmPassword VARCHAR(40) = NULL
,@ipAddress VARCHAR(20) = NULL
,@id BIGINT = NULL
,@SchemeId VARCHAR(30) = NULL
)
AS;
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
DECLARE @ErrorMsg VARCHAR(MAX)
DECLARE @agentid INT = 394395
IF @Flag = 'CustomerTxn'
BEGIN
SELECT TOP 3 Id
, Amount = pAmt
, Status = CASE WHEN payStatus = 'Paid' THEN 'Paid' WHEN tranStatus = 'Cancel' OR payStatus = 'Cancel' THEN 'Cancel' ELSE 'Processing' END
, TransactionDay = DATEPART(DAY, createdDate)
, TransactionMonth = DATENAME(MONTH, createdDate)
, PaymentMethod
, PBankName
, PCurrency = payoutCurr
, errorCode = 0
, msg = 'Success'
FROM remitTranTemp (NOLOCK)
END
ELSE IF @Flag = 'ForceChange'
BEGIN
DECLARE @OldPassword VARCHAR(40) = NULL
SELECT @OldPassword = DBO.DECRYPTDB(customerPassword)
FROM CUSTOMERMASTER (NOLOCK)
WHERE EMAIL = @UserEmail
AND isForcedPwdChange = 1
IF ISNULL(@OldPassword, '') = ''
BEGIN
SELECT errorCode = 1, msg = 'Invalid customer!', id = NULL
RETURN;
END
IF @OldPassword = @Password
BEGIN
SELECT errorCode = 1, msg = 'Old password and new password can not be same!', id = NULL
RETURN;
END
UPDATE CUSTOMERMASTER
SET isForcedPwdChange = 0
, customerPassword = dbo.fnaencryptstring(@Password)
WHERE EMAIL = @UserEmail
SELECT errorCode = 0, msg = 'Password changed successfully!', id = NULL
RETURN;
END
ELSE IF @Flag = 'PayoutMethod'
BEGIN
DECLARE @PayoutCurrency VARCHAR(5), @tpExRate MONEY
SELECT @tpExRate = detailDesc
FROM staticDataValue (NOLOCK)
WHERE typeId = '8109'
AND detailTitle = @SchemeId
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
,tpExRate = @tpExRate
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
,tpExRate = @tpExRate
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
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 = 'ONLINE', Text = 'Online Banking(Best Rate)', extra = 0, errorCode = 0, msg = 'Success' UNION ALL
SELECT Id = 'EBANKING', Text = 'E-Banking/ (Good rate)', extra = 0, errorCode = 0, msg = 'Success' UNION ALL
SELECT Id = 'DEBIT_CARD', Text = 'DEBIT CARD', extra = 0.15, errorCode = 0, msg = 'Success'
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 = 'Txn-Detail'
BEGIN
SELECT ControlNo = dbo.decryptdb(rt.controlNo), rt.receivername, rt.camt, rt.id, rt.collCurr, tr.address, rt.createdDate, rt.paymentMethod
, collMode = rt.depositType, rt.pbankname, rt.pbankBranchName, rt.accountNo, rt.purposeofremit
, status = CASE WHEN payStatus = 'Paid' THEN 'Paid' WHEN tranStatus = 'Cancel' OR payStatus = 'Cancel' THEN 'Cancel' ELSE 'Processing' END
, rt.pamt, rt.payoutCurr, rt.customerRate
, PromotionPremiumRate = 0
, rt.tamt, rt.collCurr, rt.servicecharge
, PromotionDiscount = 0
, rt.camt, rt.pCountry
FROM remitTranTemp rt(NOLOCK)
INNER JOIN tranReceiversTemp tr(NOLOCK) on tr.tranid = rt.id
WHERE rt.id = @id
END
END TRY
BEGIN CATCH
SET @ErrorMsg = 'Internal Server Error: ' + ERROR_MESSAGE()
SELECT errorCode = 1, msg = @ErrorMsg, id = NULL
END CATCH