USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[ws_proc_GetStatus] Script Date: 9/27/2019 1:30:14 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /* EXEC [ws_proc_GetStatus] @ACCESSCODE='BRNNP1112' ,@USERNAME='testeverest' ,@PASSWORD='testeverest@123' ,@REFNO='77715967714B' ,@AGENT_SESSION_ID='12310023' */ CREATE PROC [dbo].[ws_proc_GetStatus] ( @ACCESSCODE VARCHAR(50), @USERNAME VARCHAR(50), @PASSWORD VARCHAR(50), @REFNO VARCHAR(20), @AGENT_SESSION_ID VARCHAR(150) ) AS SET NOCOUNT ON SET XACT_ABORT ON DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAENcryptString(@REFNO) DECLARE @autMsg VARCHAR(500) EXEC ws_proc_checkAuthntication @USERNAME,@PASSWORD,@ACCESSCODE,@errCode OUT, @autMsg OUT --EXEC ws_proc_checkAuthntication @USERNAME, @PASSWORD, @ACCESSCODE, @errCode OUT DECLARE @errorTable TABLE( AGENT_SESSION_ID VARCHAR(150) ,REFNO VARCHAR(50) ,SENDER_NAME VARCHAR(100) ,RECEIVER_NAME VARCHAR(100) ,PAYOUTAMT MONEY ,PAYOUTCURRENCY VARCHAR(3) ,STATUS VARCHAR(30) ,STATUS_DATE VARCHAR(20) ,PAY_TOKEN_ID INT ) --INSERT INTO @errorTable(AGENT_SESSION_ID) --SELECT @AGENT_SESSION_ID 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 = @USERNAME 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 @REFNO IS NULL BEGIN SELECT '1001' CODE,'REFNO Field is Required' MESSAGE,* FROM @errorTable RETURN; END --IF ISNUMERIC(@REFNO) = 0 AND @REFNO IS NOT NULL --BEGIN -- SELECT '2003' CODE,'Technical Error: REFNO must be numeric' MESSAGE ,* FROM @errorTable -- RETURN; --END IF @AGENT_SESSION_ID IS NULL BEGIN SELECT '1001' CODE,'AGENT SESSION ID Field is Required' MESSAGE,* FROM @errorTable RETURN; END DECLARE @pAgent INT ,@tranId INT ,@tranStatus VARCHAR(50) --PICK AGENTID ,COUNTRY FROM USER SELECT @pAgent = au.agentId FROM applicationUsers au WITH(NOLOCK) WHERE userName = @USERNAME and isnull(au.isActive,'')='Y' SELECT @tranId = id ,@tranStatus = tranStatus FROM RemitTran WITH(NOLOCK) WHERE controlNo = @controlNoEnc AND pAgent = @pAgent IF @tranStatus IS NULL BEGIN SELECT '2003' CODE,'Transaction Not Found RefNo : ' + @REFNO MESSAGE, * FROM @errorTable RETURN END --IF @pCountry <> @userCountry --BEGIN -- SELECT '2005' CODE,'You are not authorized to view this transaction' MESSAGE, * FROM @errorTable -- RETURN --END --IF (@pAgentTran IS NOT NULL AND @pAgentTran <> @pAgent) --BEGIN -- SELECT '2005' CODE ,'You are not authorized to view this transaction' MESSAGE, * FROM @errorTable -- RETURN --END --IF @status = 'paid' --BEGIN -- SELECT '2001' CODE ,'Transaction is already paid' MESSAGE, * FROM @errorTable -- RETURN --END IF @tranStatus IS NOT NULL BEGIN INSERT INTO tranViewHistory( controlNumber ,tranViewType ,agentId ,createdBy ,createdDate ,tranId ,dcInfo ) SELECT @controlNoEnc ,'Search' ,@pAgent ,@USERNAME ,GETDATE() ,@tranId ,'API : ' + @USERNAME END SELECT CODE = 0 ,AGENT_SESSION_ID = @AGENT_SESSION_ID ,MESSAGE = 'TXN Summary' ,REFNO = @REFNO ,SENDER_NAME = RT.SenderName ,RECEIVER_NAME = RT.ReceiverName ,PAYOUTAMT = RT.pAmt ,PAYOUTCURRENCY = RT.payoutCurr ,STATUS = CASE WHEN RT.lockStatus = 'locked' THEN 'Locked' WHEN RT.tranStatus LIKE '%Hold%' THEN 'Hold' WHEN RT.tranStatus IN ('OFAC', 'Compliance', 'OFAC/Compliance') THEN 'Compliance' WHEN RT.tranStatus = 'Payment' AND RT.payStatus = 'Post' THEN 'Post' WHEN RT.tranStatus = 'Payment' AND RT.payStatus = 'Unpaid' THEN 'Unpaid' ELSE RT.tranStatus END ,STATUS_DATE = CASE WHEN RT.tranStatus = 'Paid' THEN RT.paidDate WHEN RT.tranStatus = 'Cancel' THEN RT.cancelApprovedDate END ,PAY_TOKEN_ID = payTokenId FROM vwRemitTran RT WITH (NOLOCK) WHERE id = @tranId /* EXEC ws_proc_GetStatus @ACCESSCODE = 'MF1986', @USERNAME = 'imetest', @PASSWORD = 'ime@1111', @REFNO = '30137052786', @AGENT_SESSION_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 */ GO