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.
214 lines
10 KiB
214 lines
10 KiB
USE [FastMoneyPro_Remit]
|
|
GO
|
|
/****** Object: StoredProcedure [dbo].[ws_int_proc_QueryTXNStatus] Script Date: 9/27/2019 1:30:14 PM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
--
|
|
/*
|
|
|
|
EXEC ws_proc_QueryTXNStatus
|
|
@AGENT_CODE = 'IMEARE01',
|
|
@USER_ID = 'testapi', @PASSWORD = 'ime@12345',
|
|
@AGENT_SESSION_ID='11223344',
|
|
@PINNO='90408187599'
|
|
|
|
*/
|
|
|
|
CREATE proc [dbo].[ws_int_proc_QueryTXNStatus](
|
|
@AGENT_CODE VARCHAR(50),
|
|
@USER_ID VARCHAR(50),
|
|
@PASSWORD VARCHAR(50),
|
|
@PINNO VARCHAR(20),
|
|
@AGENT_SESSION_ID VARCHAR(150)
|
|
)
|
|
|
|
AS
|
|
|
|
SET NOCOUNT ON;
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRY
|
|
|
|
DECLARE @apiRequestId BIGINT
|
|
INSERT INTO requestApiLogOther(
|
|
AGENT_CODE
|
|
,USER_ID
|
|
,PASSWORD
|
|
,REFNO
|
|
,AGENT_SESSION_ID
|
|
|
|
,METHOD_NAME
|
|
,REQUEST_DATE
|
|
|
|
|
|
)
|
|
SELECT
|
|
@AGENT_CODE
|
|
,@USER_ID
|
|
,@PASSWORD
|
|
,@PINNO
|
|
,@AGENT_SESSION_ID
|
|
|
|
,'ws_int_proc_QueryTXNStatus'
|
|
,GETDATE()
|
|
|
|
|
|
SET @apiRequestId = SCOPE_IDENTITY()
|
|
|
|
|
|
|
|
|
|
|
|
DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAEncryptString(@PINNO)
|
|
DECLARE @autMsg VARCHAR(500)
|
|
EXEC ws_int_proc_checkAuthntication @USER_ID,@PASSWORD,@AGENT_CODE,@errCode OUT,@autMsg OUT
|
|
|
|
DECLARE @errorTable TABLE(
|
|
AGENT_SESSION_ID VARCHAR(150)
|
|
,PINNO VARCHAR(50)
|
|
,SENDER_NAME VARCHAR(100)
|
|
,RECEIVER_NAME VARCHAR(100)
|
|
,PAYOUTAMT MONEY
|
|
,PAYOUTCURRENCY VARCHAR(3)
|
|
,STATUS VARCHAR(30)
|
|
,STATUS_DATE VARCHAR(20)
|
|
)
|
|
|
|
INSERT INTO @errorTable (AGENT_SESSION_ID,PINNO)
|
|
SELECT @AGENT_SESSION_ID,@PINNO
|
|
|
|
IF (@errCode=1 )
|
|
BEGIN
|
|
SELECT '1002' CODE, ISNULL(@autMsg,'Authentication Fail') MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
|
|
IF EXISTS(SELECT 'X' FROM applicationUsers WITH (NOLOCK) WHERE userName = @USER_ID AND forceChangePwd = 'Y')
|
|
BEGIN
|
|
SELECT '1002' CODE, 'You logged on first time,must first change your password and try again!' MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
|
|
------------------VALIDATION-------------------------------
|
|
IF @PINNO IS NULL
|
|
BEGIN
|
|
SELECT '1001' CODE, 'PINNO Field is Empty' MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
IF ISNUMERIC(@PINNO) = 0 AND @PINNO IS NOT NULL
|
|
BEGIN
|
|
SELECT '9001' CODE, 'Technical Error: PINNO must be numeric' MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
IF @AGENT_SESSION_ID IS NULL
|
|
BEGIN
|
|
SELECT '1001' CODE, 'AGENT SESSION ID Field is Empty' MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
|
|
|
|
DECLARE
|
|
@pAgent VARCHAR(50)
|
|
,@tranId INT
|
|
,@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 = @USER_ID
|
|
AND ISNULL(sb.isActive,'N') = 'Y'
|
|
|
|
SELECT
|
|
@tranId = id,
|
|
@tranStatus = tranStatus,
|
|
@txnAgent = sAgent,
|
|
@txnBranch = sBranch
|
|
FROM remitTran WITH(NOLOCK) WHERE controlNo = @controlNoEnc
|
|
|
|
IF @tranStatus IS NULL
|
|
BEGIN
|
|
SELECT '2003' CODE, 'Transaction Not Found PINNO: ' + @PINNO MESSAGE, * FROM @errorTable
|
|
RETURN
|
|
END
|
|
|
|
IF @txnAgent <> @sAgent
|
|
BEGIN
|
|
SELECT '1003' CODE, 'You are not allow 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
|
|
,@USER_ID
|
|
,GETDATE()
|
|
,@tranId
|
|
END
|
|
|
|
SELECT
|
|
CODE = '0',
|
|
AGENT_SESSION_ID = @AGENT_SESSION_ID,
|
|
MESSAGE = 'TXN Summary',
|
|
PINNO = @PINNO,
|
|
SENDER_NAME = RT.senderName,
|
|
RECEIVER_NAME = RT.receiverName,
|
|
PAYOUTAMT = RT.pAmt,
|
|
PAYOUTCURRENCY = RT.payoutCurr,
|
|
STATUS = CASE WHEN RT.tranStatus='Payment' THEN 'Un-paid' ELSE RT.tranStatus END,
|
|
STATUS_DATE = CASE WHEN RT.payStatus='Paid' THEN RT.paidDate WHEN RT.tranStatus='Cancel' THEN RT.cancelApprovedDate END,
|
|
TOKEN_ID = ''
|
|
FROM remitTran RT WITH(NOLOCK)
|
|
WHERE RT.id = @tranId
|
|
UNION ALL
|
|
SELECT
|
|
CODE = '0' ,
|
|
AGENT_SESSION_ID = @AGENT_SESSION_ID,
|
|
MESSAGE = 'TXN Summary',
|
|
PINNO = @PINNO,
|
|
SENDER_NAME = RT.senderName,
|
|
RECEIVER_NAME = RT.receiverName,
|
|
PAYOUTAMT = RT.pAmt,
|
|
PAYOUTCURRENCY = RT.payoutCurr,
|
|
STATUS = CASE WHEN RT.tranStatus='Payment' THEN 'Un-paid' ELSE RT.tranStatus END,
|
|
STATUS_DATE = CASE WHEN RT.payStatus='Paid' THEN RT.paidDate WHEN RT.tranStatus='Cancel' THEN RT.cancelApprovedDate END,
|
|
TOKEN_ID = ''
|
|
FROM cancelTranHistory RT WITH(NOLOCK)
|
|
WHERE RT.tranId = @tranId
|
|
|
|
UPDATE requestApiLogOther SET
|
|
errorCode = '0'
|
|
,errorMsg = 'Success'
|
|
WHERE rowId = @apiRequestId
|
|
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRAN
|
|
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_QueryTXNStatus', @USER_ID, GETDATE()
|
|
END CATCH
|
|
|
|
|
|
|
|
GO
|