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.
128 lines
10 KiB
128 lines
10 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_SCHEDULAR_PUSH_TXN_AGRANI] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
ALTER PROCEDURE [dbo].[PROC_SCHEDULAR_PUSH_TXN_AGRANI](
|
|
@flag VARCHAR(100)
|
|
,@id VARCHAR(100) = NULL
|
|
,@ControlNo VARCHAR(100) = NULL
|
|
)AS
|
|
BEGIN
|
|
DECLARE @pAgent BIGINT = 404526
|
|
IF @flag='push-list-Agrani'
|
|
BEGIN
|
|
SELECT TOP 10
|
|
ratevalue = CONVERT(VARCHAR(20),rt.pCurrCostRate)
|
|
,tranno = DBO.FNADecryptString(rt.controlNo)
|
|
,traninfosl = 0
|
|
,trmode = CASE WHEN rt.paymentMethod ='CASH PAYMENT' THEN '5' WHEN rt.paymentMethod='BANK DEPOSIT' THEN '15' WHEN rt.paymentMethod = 'Mobile Wallet' THEN '17' ELSE '05' END
|
|
,purpose = CASE WHEN rt.purposeOfRemit='Business travel' THEN '13'
|
|
WHEN rt.purposeOfRemit='Personal travels and tours' THEN '08'
|
|
WHEN rt.purposeOfRemit='Educational expenses' THEN '06'
|
|
WHEN rt.purposeOfRemit='Medical Expenses' THEN '07'
|
|
WHEN rt.purposeOfRemit='Household expenses' THEN ''
|
|
WHEN rt.purposeOfRemit='Family maintenance' THEN '02'
|
|
WHEN rt.purposeOfRemit='Savings' THEN '01'
|
|
WHEN rt.purposeOfRemit='Loan payment / Interest' THEN '01'
|
|
WHEN rt.purposeOfRemit='Salary / Commission' THEN '01'
|
|
WHEN rt.purposeOfRemit='Utility payment' THEN '01'
|
|
WHEN rt.purposeOfRemit='Purchase of land / property' THEN '10'
|
|
WHEN rt.purposeOfRemit='Rent' THEN '01'
|
|
WHEN rt.purposeOfRemit='Commission' THEN '01' ELSE '01' END
|
|
,remamountdest = rt.pAmt
|
|
,remid = '0'
|
|
,remfname = rt.senderName
|
|
,remaddress1 = ISNULL(tsen.address,'')
|
|
,remcountry = (SELECT countryCode FROM dbo.countryMaster(NOLOCK) WHERE countryName = tsen.country)
|
|
,beneid = '0'
|
|
,benename = rt.receiverName
|
|
,benemname = '' --ISNULL(trec.middleName,'')
|
|
,benelname = '' --trec.lastName1 + ISNULL(' '+trec.lastName2,'')
|
|
,beneaccountno = ISNULL(rt.accountNo,'')
|
|
,benetel = REPLACE(trec.mobile,'+','')
|
|
,branchcode = CASE
|
|
WHEN rt.paymentMethod='CASH PAYMENT' THEN '' ELSE
|
|
CASE WHEN LEN(am.agentCode) = 8 THEN '0'+am.agentCode ELSE am.agentCode END
|
|
END
|
|
,benebeftncode = ''
|
|
,beneaddress = trec.address
|
|
,benecountry = (SELECT countryCode FROM dbo.countryMaster(NOLOCK) WHERE countryName=trec.country)
|
|
,excode = '7095'
|
|
,entereddatetime= FORMAT(rt.approvedDate,'yyyy-MM-ddThh:mm:ss.fff')
|
|
,counttr = '0'
|
|
,rt.controlNo
|
|
,remit_tel=tsen.mobile
|
|
INTO #TEMPLIST
|
|
FROM dbo.remitTran(NOLOCK) rt
|
|
INNER JOIN dbo.tranSenders(NOLOCK) tsen ON tsen.tranId = rt.id
|
|
INNER JOIN dbo.tranReceivers(NOLOCK) trec ON trec.tranId = rt.id
|
|
LEFT JOIN agentMaster(NOLOCK) am ON am.agentId = rt.pBankBranch
|
|
WHERE rt.approvedBy IS NOT NULL AND rt.payStatus = 'Unpaid'
|
|
AND rt.tranStatus = 'payment' AND rt.pAgent = 404526 --need to change the pAgent acc to the set up for the payoutPartner
|
|
AND rt.payoutCurr = 'BDT'
|
|
ORDER BY rt.id DESC
|
|
|
|
ALTER TABLE #TEMPLIST ADD IsAlreadyProcessed BIT
|
|
|
|
UPDATE T SET IsAlreadyProcessed=1 FROM #TEMPLIST T
|
|
INNER JOIN (SELECT CONTROLNO FROM Application_Log.DBO.vwTpApilogs(NOLOCK)
|
|
WHERE providerName='Agrani' AND methodName='https://fex.agranibank.org/remapi/gmesigncreate'
|
|
GROUP BY controlNo HAVING COUNT(1) >= 1 ) V ON V.controlNo = T.tranno
|
|
|
|
UPDATE rt SET rt.tranStatus='Hold' FROM remitTran rt (NOLOCK)
|
|
INNER JOIN #TEMPLIST T ON T.controlNo = rt.controlNo
|
|
WHERE rt.approvedBy IS NOT NULL AND rt.payStatus = 'Unpaid'
|
|
AND rt.tranStatus = 'payment' AND rt.pAgent = 404526 --need to change the pAgent acc to the set up for the payoutPartner
|
|
AND rt.payoutCurr = 'BDT' AND IsAlreadyProcessed=1
|
|
|
|
UPDATE #TEMPLIST SET trmode = CASE WHEN trmode = '15' THEN
|
|
CASE WHEN LEFT(beneaccountno,2)='02' AND LEN(beneaccountno)=13 THEN '16' ELSE '15' END
|
|
ELSE trmode END
|
|
|
|
ALTER TABLE #TEMPLIST DROP COLUMN controlNo,IsAlreadyProcessed
|
|
|
|
SELECT * FROM #TEMPLIST
|
|
|
|
RETURN
|
|
END
|
|
|
|
ELSE IF @flag='sync-list-Agrani'
|
|
BEGIN
|
|
SELECT RT.id AS TranId,DBO.FNADecryptString( RT.controlNo) AS PartnerTxnId --PartnerTxnId used for transationinquiry call which is controlno generated in our side
|
|
FROM dbo.remitTran AS RT(NOLOCK)
|
|
WHERE RT.pAgent = @pAgent
|
|
AND RT.tranStatus='Payment' AND RT.payStatus='Post'
|
|
END
|
|
|
|
ELSE IF @flag='mark-paid-Agrani'
|
|
BEGIN
|
|
UPDATE remitTran
|
|
SET payStatus = 'Paid'
|
|
,tranStatus = 'Paid'
|
|
,paidDate = getdate()
|
|
,paidDateLocal = GETUTCDATE()
|
|
,paidBy = 'Scheduler'
|
|
WHERE id = @id AND payStatus = 'Post'
|
|
AND tranStatus = 'payment' AND pAgent = @pAgent
|
|
|
|
SELECT '0' ErrorCode,'Update success' Msg, NULL Id
|
|
END
|
|
|
|
ELSE IF @flag='mark-post-Agrani'
|
|
BEGIN
|
|
UPDATE remitTran SET
|
|
payStatus = 'Post'
|
|
,postedBy = 'system'
|
|
,postedDate = GETDATE()
|
|
,postedDateLocal= GETUTCDATE()
|
|
WHERE controlNo = dbo.FNAEncryptString(@id)
|
|
AND pAgent = @pAgent
|
|
|
|
SELECT '0' ErrorCode,'Update success' Msg, NULL Id
|
|
END
|
|
END
|
|
GO
|