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.
499 lines
19 KiB
499 lines
19 KiB
SET QUOTED_IDENTIFIER ON
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
|
|
/**
|
|
|
|
|
|
exec PROC_REPROCESS_HOLD_TXN @flag= 'list'
|
|
|
|
exec PROC_REPROCESS_HOLD_TXN @flag= 'check_reprocess_req_type', @Agent = '393227', @controlNo = '80579837605'
|
|
|
|
SELECT * FROM Application_Log.dbo.vwTpApilogs(NOLOCK) WHERE controlNo like '%80551679985%'
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
ALTER PROCEDURE [dbo].[PROC_REPROCESS_HOLD_TXN](
|
|
@flag VARCHAR(50) = NULL
|
|
,@User VARCHAR(50) = NULL
|
|
,@controlNo VARCHAR(50) = NULL
|
|
,@controlNo2 VARCHAR(50) = NULL
|
|
,@Agent VARCHAR(50) = NULL
|
|
,@Country VARCHAR(50) = NULL
|
|
,@tranId VARCHAR(50) = NULL
|
|
,@ApproveTxnRequried CHAR(1) = NULL
|
|
,@partnerPin VARCHAR(100) = NULL
|
|
,@PartnerTranId VARCHAR(100) = NULL
|
|
)AS
|
|
BEGIN
|
|
DECLARE @EncryptedControlNo VARCHAR(100)
|
|
|
|
SET @EncryptedControlNo = dbo.FNAEncryptString(@controlNo)
|
|
DECLARE @temptable TABLE ( [ControlNo] varchar(500), [id] bigint, [branch] varchar(500), [country] varchar(500), [senderId] Bigint, [sender] varchar(500), [receiverId] bigint, [receiver] varchar(1000), [amt] Money, [txnDate] datetime, [tranType] varchar(10), [txncreatedBy] varchar(500), [isThirdPartyTran] Bigint, [pAgentName] varchar(500), [Partner] Bigint )
|
|
|
|
|
|
IF @flag = 'list'
|
|
BEGIN
|
|
|
|
INSERT INTO @temptable(
|
|
ControlNo,id,branch,country,senderId,sender,receiverId,receiver,amt,txnDate,tranType,txncreatedBy,isThirdPartyTran,pAgentName,Partner
|
|
)
|
|
SELECT DISTINCT
|
|
ControlNo = dbo.fnaDecryptstring(trn.controlNo)
|
|
,trn.id
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName1, '') + ISNULL( ' ' + sen.lastName2, '')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName1, '') + ISNULL( ' ' + rec.lastName2, '')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,tranType = CASE WHEN sRouteId='w' THEN 'WALLET' WHEN sRouteId='a' THEN 'AUTO-DEBIT' ELSE '-' END
|
|
,txncreatedBy = trn.createdBy
|
|
,CASE WHEN trn.pAgent=1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
|
|
,trn.pSuperAgentName AS pAgentName
|
|
,trn.pSuperAgent AS [Partner]
|
|
FROM remitTranTemp trn WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN ('Hold','Compliance Hold','OFAC Hold','OFAC/Compliance Hold') AND
|
|
trn.payStatus = 'Unpaid' AND
|
|
trn.approvedBy IS NULL
|
|
UNION ALL
|
|
SELECT DISTINCT
|
|
ControlNo = dbo.fnaDecryptstring(trn.controlNo)
|
|
,trn.id
|
|
,branch = am.agentName
|
|
,country = trn.pCountry
|
|
,senderId = sen.customerId
|
|
,sender = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName1, '') + ISNULL( ' ' + sen.lastName2, '')
|
|
,receiverId = rec.customerId
|
|
,receiver = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName1, '') + ISNULL( ' ' + rec.lastName2, '')
|
|
,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
|
|
,txnDate = CAST(trn.createdDate AS DATE)
|
|
,tranType = CASE WHEN sRouteId='w' THEN 'WALLET' WHEN sRouteId='a' THEN 'AUTO-DEBIT' ELSE '-' END
|
|
,txncreatedBy = trn.createdBy
|
|
,CASE WHEN trn.pAgent=1100 OR trn.pAgent = 1043 THEN 1 ELSE 0 END isThirdPartyTran
|
|
,trn.pAgentName
|
|
,trn.pSuperAgent AS [Partner]
|
|
FROM remitTran trn WITH(NOLOCK)
|
|
INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
|
|
INNER JOIN tranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
|
|
INNER JOIN tranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
|
|
WHERE trn.tranStatus IN ('Hold','Compliance Hold','OFAC Hold','OFAC/Compliance Hold') AND
|
|
trn.payStatus = 'Unpaid' AND
|
|
trn.approvedBy IS NOT NULL
|
|
|
|
--601360,392226,
|
|
SELECT * FROM @temptable WHERE country = ISNULL(@Country,country) AND [Partner] = ISNULL(@Agent,[Partner]) AND [Partner] IN (393227,590853)
|
|
|
|
END
|
|
IF @flag ='check_reprocess_req_type'
|
|
BEGIN
|
|
|
|
--DECLARE @PartnerTranId VARCHAR(100), @PartnerPin VARCHAR(100)
|
|
IF @Agent = '601360' --Exim
|
|
BEGIN
|
|
|
|
DECLARE @EximResponse NVARCHAR(MAX) = NULL, @EximResponseXml XML = NULL
|
|
|
|
SELECT TOP(1) @EximResponse = responseXml FROM Application_log.dbo.vwTpApiLogs(NOLOCK) WHERE controlNo = @controlNo AND providerName = 'eximBank' ORDER BY rowId DESC
|
|
|
|
SET @EximResponse = REPLACE(@EximResponse,'<?xml version="1.0" encoding="UTF-8"?>','')
|
|
|
|
SET @EximResponseXml = @EximResponse
|
|
|
|
--No sendTxn, only account valadition method called
|
|
IF @EximResponse IS NULL
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'local' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
|
|
--Send Method is called and some error has occured.
|
|
IF @EximResponse IS NOT NULL AND @EximResponseXml IS NOT NULL
|
|
BEGIN
|
|
DECLARE @eximerrTbl TABLE(ErrorCode VARCHAR(100), Msg NVARCHAR(300))
|
|
|
|
INSERT INTO @eximerrTbl(ErrorCode,Msg)
|
|
SELECT MAX(CASE WHEN sn=1 THEN xx.Error ELSE '' END) ErrorCode ,MAX(CASE WHEN sn= 2 THEN xx.Error ELSE '' END ) Msg FROM (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY x.error ASC) sn, Error FROM(
|
|
SELECT
|
|
Error = T.c.value('(.)[1]', 'varchar(MAX)')
|
|
FROM @EximResponseXml.nodes('/ResponseMessage/Error/*') T(c)
|
|
)x
|
|
)xx
|
|
|
|
IF EXISTS(SELECT 'x' FROM @eximerrTbl WHERE ErrorCode NOT IN ('00','0'))
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'local' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
END
|
|
--txn already post success at exim bank
|
|
SELECT @Agent AS Agent,'none' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
IF @Agent = '392226' --bni
|
|
BEGIN
|
|
|
|
DECLARE @bniResponse NVARCHAR(MAX) = NULL, @bniResponseXml XML = NULL
|
|
|
|
SELECT TOP(1) @bniResponse = responseXml FROM Application_log.dbo.vwTpApiLogs(NOLOCK)
|
|
WHERE controlNo = @controlNo AND providerName = 'BNI' AND methodName = 'processPO' ORDER BY rowId DESC
|
|
|
|
SET @bniResponse = REPLACE(@bniResponse,'<?xml version="1.0" encoding="UTF-8"?>','')
|
|
|
|
SET @bniResponseXml = @bniResponse
|
|
|
|
--No sendTxn api called
|
|
IF @bniResponse IS NULL
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'local' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
|
|
|
|
--Send Method is called and some error has occured.
|
|
IF @bniResponse IS NOT NULL AND @bniResponseXml IS NOT NULL
|
|
BEGIN
|
|
|
|
DECLARE @bnierrTbl TABLE(ErrorCode VARCHAR(100), Msg NVARCHAR(300))
|
|
|
|
INSERT INTO @bnierrTbl(ErrorCode,Msg)
|
|
SELECT MAX(CASE WHEN sn=1 THEN xx.Error ELSE '' END) ErrorCode ,MAX(CASE WHEN sn= 2 THEN xx.Error ELSE '' END ) Msg FROM (
|
|
SELECT ROW_NUMBER() OVER (ORDER BY x.error ASC) sn, Error FROM(
|
|
SELECT
|
|
Error = T.c.value('(.)[1]', 'varchar(MAX)')
|
|
FROM @bniResponseXml.nodes('/DbResponse/*') T(c)
|
|
)x WHERE x.Error <> ''
|
|
)xx
|
|
|
|
|
|
IF EXISTS(SELECT 'x' FROM @bnierrTbl)
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'local' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
SELECT @Agent AS Agent,'none' AS ReprocessType,NULL AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'N' AS ApproveTxnRequried
|
|
RETURN
|
|
END
|
|
IF @Agent = '393227' --contact
|
|
BEGIN
|
|
|
|
DECLARE @newOutGoingResponse NVARCHAR(MAX), @payOutGoingResponse NVARCHAR(MAX)
|
|
DECLARE @newOutGoingResponseXml XML, @payOutGoingResponseXml XML
|
|
|
|
SELECT
|
|
TOP (1) @newOutGoingResponse = responseXml
|
|
FROM Application_Log.dbo.vwTpApilogs(NOLOCK)
|
|
WHERE controlNo = @controlNo AND methodName = 'NewOutgoing' ORDER BY rowId DESC
|
|
|
|
SET @newOutGoingResponseXml = @newOutGoingResponse
|
|
|
|
SELECT
|
|
TOP(1) @payOutGoingResponse = responseXml
|
|
FROM Application_Log.dbo.vwTpApilogs(NOLOCK)
|
|
WHERE controlNo = @controlNo AND methodName = 'PayOutgoing' ORDER BY rowId DESC
|
|
|
|
SET @payOutGoingResponseXml = @payOutGoingResponse
|
|
|
|
|
|
DECLARE @NewOutGoingErr VARCHAR(MAX) = NULL, @NewGoingErrCode VARCHAR(200) = NULL
|
|
|
|
SELECT @PartnerPin = DocId, @PartnerTranId = DocId, @NewOutGoingErr= x.Error, @NewGoingErrCode = x.ErrorCode FROM (
|
|
SELECT
|
|
T.c.value('@ERR_TEXT', 'varchar(MAX)') AS Error
|
|
,T.c.value('@RE', 'varchar(MAX)') AS ErrorCode
|
|
,T.c.value('@ID', 'varchar(MAX)') AS DocId
|
|
,T.c.value('@trnReference', 'varchar(MAX)') AS ControlNo
|
|
FROM @newOutGoingResponseXml.nodes('/RESPONSE') T(c)
|
|
)x --WHERE x.ControlNo = @controlNo
|
|
|
|
--Remote call for reprocess when payoutgoing is called
|
|
PRINT 'Remote call for reprocess when payoutgoing is called'
|
|
IF @payOutGoingResponse IS NOT NULL AND @newOutGoingResponse IS NOT NULL
|
|
BEGIN
|
|
DECLARE @PayOutGoingErr VARCHAR(MAX) = NULL, @PayoutGoingErrCode VARCHAR(200) = NULL
|
|
|
|
--Get payoutgoing error
|
|
SELECT
|
|
@PayOutGoingErr = T.c.value('@ERR_TEXT', 'varchar(MAX)')
|
|
,@PayoutGoingErrCode= T.c.value('@RE', 'varchar(MAX)')
|
|
FROM @payOutGoingResponseXml.nodes('/RESPONSE') T(c)
|
|
|
|
--If Error is null ie. No valid xml in PayoutGoing response
|
|
PRINT 'If Error is null ie. No valid xml in PayoutGoing response'
|
|
IF @PayOutGoingErr IS NULL AND @PayoutGoingErrCode IS NULL
|
|
BEGIN
|
|
--Can reporcess the txn
|
|
PRINT 'Can reporcess the txn'
|
|
IF @PartnerPin IS NOT NULL
|
|
BEGIN
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'remote' AS ReprocessType
|
|
,'reprocess' AS NextMethod
|
|
,@PartnerPin AS PartnerPin
|
|
,@PartnerTranId AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
, @EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried
|
|
,'http://contact.gmeremit.com.kr:7006/Contact' AS BaseUrl, '0D9FB8DC-DCA6-44D5-A1C0-01F4531936B2' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo --AND id = @TranId
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
--Ther is error and valid xml response in payOutGoing response
|
|
PRINT 'Ther is error and valid xml response in payOutGoing response'
|
|
IF @PayOutGoingErr IS NOT NULL AND (@PayoutGoingErrCode IS NOT NULL AND @PayoutGoingErrCode <> '0')
|
|
BEGIN
|
|
IF @PartnerPin IS NOT NULL
|
|
BEGIN
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'remote' AS ReprocessType
|
|
,'reprocess' AS NextMethod
|
|
,@PartnerPin AS PartnerPin
|
|
,@PartnerTranId AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
, @EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried
|
|
,'http://contact.gmeremit.com.kr:7006/Contact' AS BaseUrl, '0D9FB8DC-DCA6-44D5-A1C0-01F4531936B2' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo --AND id = @TranId
|
|
RETURN
|
|
END
|
|
END
|
|
END
|
|
|
|
--Remote call for reprocess when newOutGoing only is called
|
|
PRINT 'Remote call for reprocess when newOutGoing only is called'
|
|
IF @payOutGoingResponse IS NULL AND @newOutGoingResponse IS NOT NULL
|
|
BEGIN
|
|
--DocId is available go reprocess the txn
|
|
PRINT 'DocId is available go reprocess the txn'
|
|
IF @PartnerPin IS NOT NULL
|
|
BEGIN
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'remote' AS ReprocessType
|
|
,'reprocess' AS NextMethod
|
|
,@PartnerPin AS PartnerPin
|
|
,@PartnerTranId AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
,@EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried
|
|
,'http://contact.gmeremit.com.kr:7006/Contact' AS BaseUrl, '0D9FB8DC-DCA6-44D5-A1C0-01F4531936B2' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo --AND id = @TranId
|
|
RETURN
|
|
END
|
|
|
|
PRINT @NewGoingErrCode
|
|
PRINT @TranId
|
|
PRINT @EncryptedControlNo
|
|
|
|
IF @PartnerPin IS NULL AND @NewGoingErrCode IN ('-6121')
|
|
BEGIN
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'local' AS ReprocessType
|
|
,'cancelLocal' AS NextMethod
|
|
,'' AS PartnerPin
|
|
,'' AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
,@EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried
|
|
,'' AS BaseUrl, '' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo --AND id = @TranId
|
|
RETURN
|
|
END
|
|
|
|
---Only new out going has been called with error on response
|
|
IF @PartnerPin IS NULL
|
|
BEGIN
|
|
PRINT 'Only new out going has been called with error on response'
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'local' AS ReprocessType
|
|
,'sendTransaction' AS NextMethod
|
|
,'' AS PartnerPin
|
|
,'' AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
,@EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried,'' AS BaseUrl, '' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo --AND id = @TranId
|
|
RETURN
|
|
END
|
|
END
|
|
|
|
IF @newOutGoingResponse IS NULL AND @payOutGoingResponse IS NULL
|
|
BEGIN
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'local' AS ReprocessType
|
|
,'SendTransaction' AS NextMethod
|
|
,@PartnerPin AS PartnerPin
|
|
,@PartnerTranId AS PartnerTranId
|
|
,id AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
,@EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried ,'' AS BaseUrl, '' AS [Authorization],@controlNo AS ControlNo
|
|
FROM dbo.remitTran(NOLOCK) WHERE controlNo = @EncryptedControlNo
|
|
RETURN
|
|
END
|
|
|
|
SELECT
|
|
@Agent AS Agent
|
|
,'none' AS ReprocessType
|
|
,'sendTransaction' AS NextMethod
|
|
,'' AS PartnerPin
|
|
,'' AS PartnerTranId
|
|
,'' AS TranId
|
|
,@Agent AS payOutPartnerId
|
|
,'Contact' AS [Partner]
|
|
,@EncryptedControlNo AS EncryptControlNo
|
|
, 'N' AS ApproveTxnRequried ,'' AS BaseUrl, '' AS [Authorization],@controlNo AS ControlNo
|
|
RETURN
|
|
|
|
END
|
|
IF @Agent = '590853' --lyhour
|
|
BEGIN
|
|
|
|
DECLARE @LyhourResponse NVARCHAR(MAX) = NULL, @LyhourResponseJson NVARCHAR(MAX) = NULL
|
|
|
|
SELECT TOP(1) @LyhourResponse = responseXml FROM Application_log.dbo.vwTpApiLogs(NOLOCK) WHERE controlNo = @controlNo AND providerName = 'Lyhour' ORDER BY rowId DESC
|
|
|
|
|
|
IF @LyhourResponse IS NOT NULL AND @LyhourResponse = 'Null response from Api during placing send money'
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'remote' AS ReprocessType,'SendTransaction' AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'Y' AS ApproveTxnRequried, 'http://lyhour.gmeremit.com.kr:3443/lyhour' AS BaseUrl, '122F15BE-030D-4FA2-98B9-E9FCB581AAA6' AS [Authorization]
|
|
RETURN
|
|
END
|
|
|
|
SET @LyhourResponseJson = @LyhourResponse
|
|
|
|
-- PRINT (@LyhourResponse)
|
|
|
|
--No sendTxn, process to send to partner via api call
|
|
IF @LyhourResponse IS NULL
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'remote' AS ReprocessType,'SendTransaction' AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'Y' AS ApproveTxnRequried, 'http://lyhour.gmeremit.com.kr:3443/lyhour' AS BaseUrl, '122F15BE-030D-4FA2-98B9-E9FCB581AAA6' AS [Authorization]
|
|
RETURN
|
|
END
|
|
|
|
IF @LyhourResponse IS NOT NULL
|
|
BEGIN
|
|
|
|
DECLARE @lyErrTbl TABLE(httpStatusCode VARCHAR(100),source VARCHAR(100), [message] VARCHAR(200), innerException VARCHAR(200))
|
|
INSERT INTO @lyErrTbl(httpStatusCode,source, [message], innerException)
|
|
SELECT
|
|
JSON_VALUE(@LyhourResponseJson,'$.httpStatusCode') AS httpStatusCode
|
|
,JSON_VALUE(@LyhourResponseJson,'$.source') AS source
|
|
,JSON_VALUE(@LyhourResponseJson,'$.message[0]') AS [message]
|
|
,JSON_VALUE(@LyhourResponseJson,'$.innerException[0]') AS innerException
|
|
|
|
IF EXISTS(SELECT 'x' FROM @lyErrTbl WHERE httpStatusCode IS NOT NULL)
|
|
BEGIN
|
|
SELECT @Agent AS Agent,'remote' AS ReprocessType,'SendTransaction' AS NextMethod, '' AS PartnerPin, '' AS PartnerTranId, '' AS TranId, @Agent AS payOutPartnerId, @EncryptedControlNo AS EncryptControlNo, 'Y' AS ApproveTxnRequried, 'http://lyhour.gmeremit.com.kr:3443/lyhour' AS BaseUrl, '122F15BE-030D-4FA2-98B9-E9FCB581AAA6' AS [Authorization]
|
|
RETURN
|
|
END
|
|
END
|
|
END
|
|
END
|
|
IF @flag = 'reprocess-local'
|
|
BEGIN
|
|
BEGIN TRAN
|
|
UPDATE Application_Log.dbo.ApplicationLogger SET controlNo = controlNo + 'A' WHERE controlNo = @controlNo
|
|
UPDATE dbo.remitTran SET tranStatus = 'Payment' WHERE controlNo = @EncryptedControlNo
|
|
COMMIT TRAN
|
|
|
|
IF @@TRANCOUNT = 0
|
|
BEGIN
|
|
SELECT '0' ErrorCode, 'Reprocessed completed. Please monitor the transaction.' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
|
|
SELECT '1' ErrorCode, 'Reprocessed failed.' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
IF @flag = 'reprocess-remote'
|
|
BEGIN
|
|
|
|
IF @ApproveTxnRequried IS NOT NULL AND @ApproveTxnRequried = 'Y'
|
|
BEGIN
|
|
BEGIN TRAN
|
|
|
|
DECLARE @holdTranId BIGINT
|
|
|
|
SELECT @holdTranId = id FROM remitTranTemp(nolock) WHERE controlNo = @EncryptedControlNo
|
|
|
|
--Put approve logic here
|
|
exec [proc_ApproveHoldedTXN] @flag='approve',@user='admin',@id = @holdTranId
|
|
|
|
UPDATE dbo.remitTran SET
|
|
tranStatus = 'Payment',
|
|
payStatus='Post',
|
|
controlNo2 = dbo.FNAEncryptString(@controlNo),
|
|
controlNo = dbo.FNAEncryptString(@partnerPin),
|
|
ContNo = @PartnerTranId
|
|
WHERE holdTranId = @holdTranId
|
|
|
|
COMMIT TRAN
|
|
|
|
IF @@TRANCOUNT = 0
|
|
BEGIN
|
|
SELECT '0' ErrorCode, 'Reprocessed completed. Please monitor the transaction.' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
BEGIN TRAN
|
|
UPDATE dbo.remitTran SET
|
|
tranStatus = 'Payment',
|
|
payStatus='Post',
|
|
postedBy=@User,
|
|
postedDate= GETDATE(),
|
|
postedDateLocal=GETDATE(),
|
|
ContNo = ISNULL(@PartnerTranId,'')
|
|
WHERE controlNo = @EncryptedControlNo
|
|
COMMIT TRAN
|
|
|
|
IF @@TRANCOUNT = 0
|
|
BEGIN
|
|
SELECT '0' ErrorCode, 'Reprocessed completed. Please monitor the transaction.' Msg, NULL Id
|
|
RETURN
|
|
END
|
|
END
|
|
END
|
|
IF @flag = 'country'
|
|
BEGIN
|
|
SELECT countryId,countryName,* FROM dbo.countryMaster(NOLOCK) WHERE isOperativeCountry= 'Y' AND ISNULL(isActive,'Y') = 'Y'
|
|
END
|
|
IF @flag = 'partner'
|
|
BEGIN
|
|
SELECT agentId,agentName FROM dbo.agentMaster(NOLOCK) WHERE parentId= '0' AND isActive = 'Y' AND agentId NOT IN (1001,1008,1009)
|
|
END
|
|
END
|
|
GO
|
|
|