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
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
|
|
|
|
|