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.
 
 
 

275 lines
12 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[ws_int_proc_GetStatusByTxnRefId] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ws_proc_GetStatus]') AND TYPE IN (N'P', N'PC'))
DROP PROCEDURE [dbo].ws_proc_GetStatus
GO
*/
/*
EXEC ws_int_proc_GetStatus
@ACCESSCODE = 'MF1986',
@USERNAME = 'imetest',
@PASSWORD = 'ime@1111',
@TXN_REF_ID = '30137052786',
@AGENT_TXN_REF_ID = '3563'
SELECT
id
,tranStatus
,pCountry
,pAgent
,pbranch
FROM remitTran WITH (NOLOCK)
WHERE controlNo = dbo.FNAENcryptString('99991867251')
SELECT
au.agentId
,cm.countryName
FROM applicationUsers au WITH(NOLOCK)
INNER JOIN countryMaster cm WITH(NOLOCK) ON au.countryId = cm.countryId
WHERE userName = 'testdhaka'
SELECT * FROM agentMaster where agentID = 2236 OR agentId = 1023
*/
CREATE PROC [dbo].[ws_int_proc_GetStatusByTxnRefId] (
@ACCESSCODE VARCHAR(50),
@USERNAME VARCHAR(50),
@PASSWORD VARCHAR(50),
@TXN_REF_ID VARCHAR(20),
@AGENT_TXN_REF_ID VARCHAR(150)
)
AS
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRY
DECLARE @apiRequestId BIGINT
INSERT INTO requestApiLogOther(
AGENT_CODE
,USER_ID
,PASSWORD
,AGENT_TXN_REF_ID
,REFNO
,METHOD_NAME
,REQUEST_DATE
)
SELECT
@ACCESSCODE
,@USERNAME
,@PASSWORD
,@AGENT_TXN_REF_ID
,@TXN_REF_ID
,'ws_int_proc_GetStatusByTxnRefId'
,GETDATE()
SET @apiRequestId = SCOPE_IDENTITY()
DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAENcryptString(@TXN_REF_ID)
DECLARE @autMsg VARCHAR(500)
EXEC ws_int_proc_checkAuthntication @USERNAME,@PASSWORD,@ACCESSCODE,@errCode OUT, @autMsg OUT
DECLARE @errorTable TABLE(
AGENT_REFID VARCHAR(150)
,REFID VARCHAR(50)
,SENDER_NAME VARCHAR(100)
,RECEIVER_NAME VARCHAR(100)
,PAYOUTAMT MONEY
,PAYOUTCURRENCY VARCHAR(3)
,STATUS VARCHAR(30)
,STATUS_DATE VARCHAR(20)
,TOKEN_ID INT
)
INSERT INTO @errorTable(AGENT_REFID)
SELECT @AGENT_TXN_REF_ID
IF (@errCode='1' )
BEGIN
SELECT '102' CODE,ISNULL(@autMsg,'Authentication Fail') MESSAGE ,* FROM @errorTable
RETURN
END
IF EXISTS(
SELECT 'x' FROM applicationUsers WITH (NOLOCK)
WHERE userName = @USERNAME
AND forceChangePwd = 'Y'
)
BEGIN
SELECT
'102' CODE,'You logged on first time,must first change your password and try again!' MESSAGE,* FROM @errorTable
RETURN
END
------------------VALIDATION-------------------------------
IF @TXN_REF_ID IS NULL
BEGIN
SELECT
'102' CODE,'REFNO Field is Empty' MESSAGE,* FROM @errorTable
RETURN;
END
IF ISNUMERIC(@TXN_REF_ID) = 0 AND @TXN_REF_ID IS NOT NULL
BEGIN
SELECT
'9001' CODE,'Technical Error: REFNO must be numeric' MESSAGE ,* FROM @errorTable
RETURN;
END
IF @AGENT_TXN_REF_ID IS NULL
BEGIN
SELECT
'102' CODE,'AGENT SESSION ID Field is Empty' MESSAGE,* FROM @errorTable
RETURN;
END
DECLARE
@tranId BIGINT
,@tranStatus VARCHAR(50)
,@status VARCHAR(50)
,@txnBranch INT
,@txnAgent INT
,@sBranch INT
,@sAgent INT
SELECT
@sBranch = sb.agentId,
@sAgent = sb.parentId
FROM applicationUsers au WITH(NOLOCK)
LEFT JOIN agentMaster sb WITH(NOLOCK) ON au.agentId = sb.agentId
WHERE userName = @USERNAME
AND ISNULL(sb.isActive,'N') = 'Y'
--SELECT * INTO #tempAcTrn FROM ime_plus_02.dbo.moneySend WITH(NOLOCK) WHERE refno = @controlNoEnc
--SELECT
-- @tranId = Tranno
-- ,@tranStatus = TransStatus
-- ,@pCountry = ReceiverCountry
-- ,@pAgentTran = receiveAgentID
-- ,@paidBy = paidBy
-- ,@status = STATUS
--FROM #tempAcTrn WITH (NOLOCK)
--WHERE refno = @controlNoEnc
SELECT
@tranId = id
,@tranStatus = tranStatus
,@txnBranch = sBranch
,@txnAgent = sAgent
,@status = payStatus
FROM remitTran WITH (NOLOCK)
WHERE controlNo2 = @controlNoEnc
IF @tranStatus IS NULL
BEGIN
SELECT '203' CODE,'Transaction Not Found RefNo: '+ @TXN_REF_ID MESSAGE,* FROM @errorTable
RETURN
END
IF @sAgent <> @txnAgent
BEGIN
SELECT '100' CODE,'You are not authorized to view this transaction' MESSAGE,* FROM @errorTable
RETURN
END
IF @tranStatus IS NOT NULL
BEGIN
INSERT INTO tranViewHistory(
controlNumber
,tranViewType
,agentId
,createdBy
,createdDate
,tranId
)
SELECT
@controlNoEnc
,'VIEW'
,@sAgent
,@USERNAME
,GETDATE()
,@tranId
END
--SELECT
-- CODE = 0,
-- AGENT_TXN_REF_ID = @AGENT_TXN_REF_ID ,
-- MESSAGE = 'TXN Summary' ,
-- REFNO = @TXN_REF_ID ,
-- SENDER_NAME = RT.SenderName ,
-- RECEIVER_NAME = RT.ReceiverName ,
-- PAYOUTAMT = RT.TotalRoundAmt ,
-- PAYOUTCURRENCY = RT.receiveCType ,
-- STATUS = CASE WHEN RT.lock_status='locked' THEN 'locked'
-- WHEN RT.status='paid' THEN 'paid'
-- ELSE
-- CASE WHEN RT.TransStatus='Payment' THEN 'Un-paid' ELSE RT.TransStatus END
-- END,
-- STATUS_DATE = CASE WHEN RT.status='Paid' THEN RT.paidDate WHEN RT.transStatus='Cancel' THEN RT.cancel_date END,
-- PAY_TOKEN_ID = txn_token_id
-- FROM #tempAcTrn RT WITH (NOLOCK)
-- WHERE RT.Tranno = @tranId
SELECT
Code = '0'
,AGENT_REFID = @AGENT_TXN_REF_ID
,Message = 'TXN Summary'
,REFID = @TXN_REF_ID
,SENDER_NAME = rt.senderName
,RECEIVER_NAME = rt.receiverName
,PAYOUTAMT = pAmt
,PAYOUTCURRENCY = payoutCurr
,[STATUS] = CASE WHEN payStatus='unpaid'THEN 'Un-Paid' ELSE payStatus END
,STATUS_DATE = CASE WHEN payStatus='Paid' THEN paidDate WHEN transtatus='Cancel' THEN cancelapproveddate END
,TOKEN_ID = rt.payTokenId
FROM remitTran rt WITH (NOLOCK)
INNER JOIN tranSenders ts WITH (NOLOCK) ON rt.Id = ts.tranId
INNER JOIN tranReceivers tr WITH (NOLOCK) ON rt.Id = tr.tranId
WHERE controlNo2 = @controlNoEnc
UPDATE requestApiLogOther SET
errorCode = '0'
,errorMsg = 'Success'
WHERE rowId = @apiRequestId
END TRY
BEGIN CATCH
SELECT '9001' CODE, 'Technical Error : ' + ERROR_MESSAGE() MESSAGE, * FROM @errorTable
INSERT INTO Logs (errorPage, errorMsg, errorDetails, createdBy, createdDate)
SELECT 'API SP Error','Technical Error : ' + ERROR_MESSAGE() MESSAGE,'ws_int_proc_GetStatus',@USERNAME, GETDATE()
END CATCH
GO