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.
146 lines
11 KiB
146 lines
11 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[PROC_SCHEDULAR_PUSH_TXN_IBBL] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
--EXEC PROC_SCHEDULAR_PUSH_TXN_IBBL @flag='push-list'
|
|
|
|
CREATE PROCEDURE [dbo].[PROC_SCHEDULAR_PUSH_TXN_IBBL](
|
|
@flag VARCHAR(20)
|
|
,@ControlNo VARCHAR(20) = NULL
|
|
,@TRANID BIGINT = NULL
|
|
)
|
|
AS
|
|
SET NOCOUNT ON
|
|
BEGIN
|
|
DECLARE @IBBLBANK BIGINT = 566989
|
|
|
|
IF @flag='push-list'
|
|
BEGIN
|
|
SELECT TOP 10
|
|
amount = rt.pAmt
|
|
,amountSpecified = 1
|
|
,issueDateSpecified = 1
|
|
,beneficiaryAccNo = rt.accountNo
|
|
,beneficiaryAccType = CASE WHEN rt.paymentMethod IN ('CASH PAYMENT','MOBILE WALLET') THEN ''
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pbank,'0') = @IBBLBANK THEN (SUBSTRING(rt.accountNo,8,2))
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pbank,'0') != @IBBLBANK THEN ''
|
|
WHEN rt.paymentMethod = 'CARD PAYMENT' THEN '71'
|
|
ELSE ''
|
|
END
|
|
,beneficiaryAddress = trec.address
|
|
,beneficiaryBankCode = CASE WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pbank,'0') != @IBBLBANK THEN
|
|
(SELECT TOP 1 agentCode FROM agentmaster(NOLOCK) WHERE agentId = rt.pbank AND isActive='Y' AND agentType='2903' AND agentCountryId='16')
|
|
ELSE '42'
|
|
END
|
|
,beneficiaryBankName = rt.pBankName
|
|
,beneficiaryBranchCode = CASE WHEN rt.paymentMethod IN ('CASH PAYMENT','CARD PAYMENT') THEN '123' --Remittance Card=4
|
|
WHEN rt.paymentMethod = 'MOBILE WALLET' THEN '358'
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pbank,'0') = @IBBLBANK THEN (SUBSTRING(rt.accountNo,5,3))
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pbank,'0') != @IBBLBANK THEN ''
|
|
ELSE ''
|
|
END
|
|
|
|
,beneficiaryBranchName = CASE WHEN rt.paymentMethod IN ('CASH PAYMENT','CARD PAYMENT') THEN 'FRSD Branch'
|
|
WHEN rt.paymentMethod = 'MOBILE WALLET' THEN 'Mobile Banking Br.'
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' THEN
|
|
BM.agentName
|
|
ELSE ''
|
|
END
|
|
,beneficiaryName = rt.receiverName
|
|
,beneficiaryPhoneNo = trec.mobile
|
|
,beneficiaryRoutingNo = BM.agentCode
|
|
|
|
,isoCode = payoutCurr
|
|
,issueDate = rt.approvedDate
|
|
,paymentType = CASE WHEN rt.paymentMethod = 'CASH PAYMENT' THEN '1'
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pBank,'0') = @IBBLBANK THEN '2'
|
|
WHEN rt.paymentMethod = 'BANK DEPOSIT' AND ISNULL(rt.pBank,'0') != @IBBLBANK THEN '3'
|
|
WHEN rt.paymentMethod = 'CARD PAYMENT' THEN '4'
|
|
WHEN rt.paymentMethod = 'MOBILE WALLET' THEN '5'
|
|
ELSE '0'
|
|
END
|
|
,remittancePurpose = rt.purposeOfRemit
|
|
,remitterAddress = ISNULL(tsen.address,'Korea')
|
|
,remitterName = rt.senderName
|
|
,remitterPhoneNo = tsen.mobile
|
|
,secretKey = dbo.FNADecryptString(rt.controlNo)
|
|
,transReferenceNo = 'GM' + CAST(rt.id AS VARCHAR(50))
|
|
,controlNo
|
|
INTO #TEMPLIST
|
|
FROM dbo.remitTran(NOLOCK) rt
|
|
INNER JOIN dbo.tranSenders(NOLOCK) tsen ON rt.id = tsen.tranId
|
|
INNER JOIN dbo.tranReceivers(NOLOCK) trec ON rt.id = trec.tranId
|
|
LEFT JOIN agentMaster(NOLOCK) BM ON BM.agentId = RT.pBankBranch
|
|
WHERE rt.approvedBy IS NOT NULL AND rt.payStatus = 'Unpaid'
|
|
AND rt.tranStatus = 'payment' AND rt.pAgent = 566853
|
|
AND rt.pCountry = 'Bangladesh'
|
|
ORDER BY rt.id DESC
|
|
|
|
DELETE FROM #TEMPLIST WHERE paymentType in ('2','3') AND LEN(beneficiaryAccNo) < 8
|
|
|
|
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='islamibank' AND methodName='DirectCreditWSMessage'
|
|
GROUP BY controlNo HAVING COUNT(1) >= 1 ) V ON V.controlNo = T.secretKey
|
|
|
|
UPDATE rt SET rt.tranStatus='Hold' FROM remitTran rt (NOLOCK)
|
|
INNER JOIN #TEMPLIST T ON T.controlNo = rt.controlNo
|
|
WHERE RT.pCountry = 'Bangladesh'
|
|
AND RT.payStatus = 'Unpaid' AND RT.tranStatus = 'Payment'
|
|
AND RT.pAgent = 566853 AND IsAlreadyProcessed = 1
|
|
|
|
DELETE FROM #TEMPLIST WHERE IsAlreadyProcessed = 1
|
|
|
|
ALTER TABLE #TEMPLIST DROP COLUMN controlNo,IsAlreadyProcessed
|
|
|
|
SELECT * FROM #TEMPLIST
|
|
|
|
RETURN
|
|
END
|
|
ELSE IF @flag='mark-post'
|
|
BEGIN
|
|
UPDATE remitTran SET
|
|
payStatus = 'Post'
|
|
,postedBy = 'system'
|
|
,postedDate = GETDATE()
|
|
,postedDateLocal= GETUTCDATE()
|
|
,controlNo2 = Dbo.FNAEncryptString(@ControlNo)
|
|
,ContNo = @ControlNo
|
|
WHERE controlNo = dbo.FNAEncryptString(@ControlNo)
|
|
AND pAgent = 566853
|
|
|
|
SELECT '0' ErrorCode,'Update success' Msg, NULL Id
|
|
END
|
|
ELSE IF @Flag='sync-list'
|
|
BEGIN
|
|
SELECT TOP 10
|
|
id AS TranId
|
|
,dbo.FNADecryptString(controlNo) AS ControlNo
|
|
,'GM' + CAST(id AS VARCHAR(50)) AS ControlNo2
|
|
FROM dbo.remitTran(NOLOCK)
|
|
WHERE pAgent = 566853
|
|
AND payStatus='POST' AND tranStatus= 'PAYMENT'
|
|
END
|
|
ELSE IF @Flag='mark-paid'
|
|
BEGIN
|
|
UPDATE remitTran SET
|
|
payStatus = 'Paid',
|
|
tranStatus = 'Paid',
|
|
paidBy = 'system',
|
|
paidDate = GETDATE(),
|
|
paidDateLocal = GETUTCDATE()
|
|
WHERE id = @TRANID AND pAgent = 566853
|
|
AND payStatus='POST' AND tranStatus= 'PAYMENT'
|
|
END
|
|
END
|
|
|
|
|
|
|
|
|
|
GO
|