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.
113 lines
4.5 KiB
113 lines
4.5 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[proc_payQueue] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
CREATE proc [dbo].[proc_payQueue] (
|
|
@flag VARCHAR(50)
|
|
,@routeId VARCHAR(50) = NULL
|
|
,@xml XML = NULL
|
|
,@processId VARCHAR(50) = NULL
|
|
)
|
|
AS
|
|
BEGIN TRY
|
|
IF @flag = 's'
|
|
BEGIN
|
|
|
|
DECLARE @recordSize INT = 10
|
|
DECLARE @qSize INT
|
|
SELECT
|
|
@qSize = COUNT(*)
|
|
FROM payQueue
|
|
WHERE routeId = @routeId
|
|
|
|
DECLARE @txnList TABLE(
|
|
controlNo VARCHAR(50)
|
|
,paidBy VARCHAR(30)
|
|
,paidLocation VARCHAR(100)
|
|
,paidDate DATETIME
|
|
,paidDateUSDRate VARCHAR(50)
|
|
,paidBeneficiaryIDtype VARCHAR(50)
|
|
,paidBeneficiaryIDNumber VARCHAR(50)
|
|
,rAgentID VARCHAR(50)
|
|
,rBankBranch VARCHAR(300)
|
|
)
|
|
|
|
INSERT @txnList
|
|
SELECT TOP (@recordSize)
|
|
controlNo
|
|
,paidBy
|
|
,paidLocation
|
|
,paidDate
|
|
,paidDateUSDRate
|
|
,paidBeneficiaryIDtype
|
|
,paidBeneficiaryIDNumber
|
|
,rAgentID
|
|
,rBankBranch
|
|
FROM payQueue WITH(NOLOCK)
|
|
WHERE routeId = @routeId
|
|
|
|
UPDATE p SET
|
|
processId = @processId
|
|
,qStatus = 'Processing'
|
|
FROM payQueue p
|
|
INNER JOIN @txnList tl ON p.controlNo = tl.controlNo
|
|
|
|
SELECT
|
|
*
|
|
FROM @txnList
|
|
|
|
SELECT 'N' ReProcess
|
|
RETURN
|
|
|
|
END
|
|
|
|
IF @flag = 'rlist'
|
|
BEGIN
|
|
SELECT
|
|
NEWID() Pid
|
|
,routeId
|
|
FROM payQueue WHERE routeId <> @routeId
|
|
GROUP BY routeId
|
|
RETURN
|
|
|
|
END
|
|
|
|
IF @flag = 'syn'
|
|
BEGIN
|
|
SELECT
|
|
controlNo = p.value('@controlNo','VARCHAR(50)')
|
|
INTO #syn
|
|
FROM @xml.nodes('/root/row') AS tmp(p)
|
|
|
|
BEGIN TRANSACTION
|
|
|
|
INSERT payQueueHistory(controlNo, routeId, processId, qStatus, completedAt)
|
|
SELECT
|
|
s.controlNo, routeId, @processId,'Success',GETDATE()
|
|
FROM payQueue p
|
|
INNER JOIN #syn s ON p.controlNo = s.controlNo
|
|
|
|
DELETE p
|
|
FROM payQueue p
|
|
INNER JOIN #syn s ON p.controlNo = s.controlNo
|
|
|
|
IF @@TRANCOUNT>0
|
|
COMMIT TRANSACTION
|
|
|
|
SELECT 0 errorCode, 'Processd sync logs successfully.' Msg, @processId Id
|
|
RETURN
|
|
END
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT>0
|
|
ROLLBACK TRANSACTION
|
|
SELECT 1 errorCode, ERROR_MESSAGE() Msg, NULL Id
|
|
SELECT 1 errorCode, ERROR_MESSAGE() Msg, NULL Id
|
|
END CATCH
|
|
|
|
|
|
GO
|