SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO --80521168889 CREATE PROC [dbo].[ws_proc_AccountDepositOutStanding] ( @ACCESSCODE VARCHAR(50), @USERNAME VARCHAR(50), @PASSWORD VARCHAR(50), @AGENT_SESSION_ID VARCHAR(150) ) AS SET NOCOUNT ON SET XACT_ABORT ON BEGIN TRY DECLARE @errCode INT 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) ,CONTROLNO INT ,SENDAGENT INT ,SENDERNAME VARCHAR(200) ,SENDERADDRESS VARCHAR(10) ,SENDER_MOBILE VARCHAR(10) ,SENDERCITY VARCHAR(10) ,SENDERCOUNTRY VARCHAR(10) ,RECEIVERNAME VARCHAR(10) ,RECEIVERADDRESS varchar(10) ,RECEIVERPHONE VARCHAR(10) ,RECEIVERCITY VARCHAR(10) ,RECEIVERCOUNTRY VARCHAR(10) ,TRANSFERAMOUNT MONEY ,SCURRCOSTRATE FLOAT ,RCURRCOSTRATE FLOAT ,PAYOUTAMT MONEY ,PAYOUTCURRENCY VARCHAR(3) ,PAYMENTTYPE VARCHAR(10) ,BANKNAME VARCHAR(10) ,BANKBRANCH VARCHAR(10) ,BANKACCOUNTNO VARCHAR(10) ,BANKCODE VARCHAR(10) ,BANKBRANCHCODE varchar(10) ,TRNDATE varchar(10) ,DOWNLOAD_TOKENID INT ,ISLOCAL VARCHAR(5) ,TRANID VARCHAR(50) ,RECEIVERMOBILE VARCHAR(50) ) 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 are required to change your password!' MESSAGE ,* FROM @errorTable RETURN END ------------------VALIDATION------------------------------- 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) ,@psAgent INT ,@pAgentName VARCHAR(200) -- PICK AGENTID ,COUNTRY FROM USER SELECT @pAgent = agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @USERNAME AND ISNULL(isDeleted, 'N') = 'N' AND isActive = 'Y' SELECT @pAgentName = agentName FROM agentMaster WITH(NOLOCK) WHERE agentId = @pAgent AND isActive = 'Y' AND ISNULL(isDeleted, 'N') = 'N' IF @pAgent IS NULL BEGIN SELECT '1001' CODE, 'Invalid Agent Code' [Message], * FROM @errorTable RETURN END DECLARE @msg VARCHAR(100) ,@lockInMinutes INT ,@payTokenId BIGINT /* SELECT TOP 1 @lockInMinutes = DATEDIFF(MINUTE, lockedDate, GETDATE()) ,@payTokenId = payTokenId FROM remitTran WITH (NOLOCK) WHERE pAgent = @pBranch AND payStatus = 'Unpaid' AND tranStatus = 'Lock' AND paymentMethod = 'BANK DEPOSIT' ORDER BY lockedDate --------------------------------------------------------------------- IF @lockInMinutes IS NOT NULL BEGIN UPDATE remitTran SET tranStatus = 'Payment' ,payTokenId = NULL WHERE pAgent = @pBranch AND payStatus = 'Unpaid' AND tranStatus = 'Lock' AND DATEDIFF(MINUTE, lockedDate, GETDATE()) >= 1 END --------------------------------------------------------------------- */ ---1053 is global bank id ---- DECLARE @controlNoTable TABLE(tranId BIGINT) INSERT INTO @controlNoTable(tranId) SELECT TOP 200 id FROM remitTran WITH(NOLOCK) WHERE pCountry = 'NEPAL' AND payStatus = 'Unpaid' AND tranStatus = 'Payment' AND paymentMethod = 'Bank Deposit' AND pAgent IS NULL UNION ALL SELECT TOP 200 id FROM remitTran WITH(NOLOCK) WHERE pCountry = 'NEPAL' AND payStatus = 'Unpaid' AND tranStatus = 'Payment' AND paymentMethod = 'MOBILE WALLET' AND pAgent = @pAgent --SELECT @pAgent IF NOT EXISTS(SELECT TOP 1 'X' FROM @controlNoTable) BEGIN SELECT '2003' CODE, 'No transaction found to download' [Message], * FROM @errorTable RETURN END SET @payTokenId = LEFT(CAST(ABS(CHECKSUM(NEWID())) AS VARCHAR) + '00000000000', 10) --print @pAgentMapCode UPDATE remitTran SET payTokenId = @payTokenId --,pAgentComm = (SELECT amount FROM dbo.FNAGetPayComm -- (rt.sBranch,(SELECT countryId FROM countryMaster WITH(NOLOCK) WHERE countryName = rt.sCountry), -- NULL, @psAgent, @pCountryId, null, @pBranch, rt.sAgentCommCurrency -- ,(select serviceTypeId from servicetypemaster(nolock) where typeTitle = rt.paymentMethod) -- , rt.cAmt, rt.pAmt, rt.serviceCharge, NULL, NULL -- )) --,pAgentCommCurrency =rt.sAgentCommCurrency ,pAgent = @pAgent ,pAgentName = @pAgentName ,lockStatus = 'locked' ,lockedDate = GETDATE() ,lockedBy = @USERNAME FROM remitTran rt(NOLOCK) INNER JOIN @controlNoTable ct ON rt.id = ct.tranId SELECT CODE = 0, AGENT_SESSION_ID = @AGENT_SESSION_ID, MESSAGE = 'Success', CONTROLNO = dbo.FNADecryptString(RT.controlNo), SENDAGENT = RT.sAgent, SENDERNAME = UPPER(RT.senderName), SENDERADDRESS = ISNULL(TS.address,TS.address2), SENDER_MOBILE = ISNULL(TS.mobile,TS.homePhone), SENDERCITY = TS.city, SENDERCOUNTRY = RT.sCountry, RECEIVERNAME = UPPER(RT.receiverName), RECEIVERADDRESS = ISNULL(TR.address,TR.address2), RECEIVERPHONE = ISNULL(TR.homePhone,TR.mobile), RECEIVERCITY = TR.city, RECEIVERCOUNTRY = UPPER(RT.pCountry), TRANSFERAMOUNT = RT.tAmt, SCURRCOSTRATE = (RT.sCurrCostRate + ISNULL(RT.sCurrHoMargin,0)), RCURRCOSTRATE = (RT.pCurrCostRate + ISNULL(RT.pCurrHoMargin,0)), PAYOUTAMT = RT.pAmt, PAYOUTCURRENCY = RT.payoutCurr, PAYMENTTYPE = UPPER(RT.paymentMethod), BANKNAME = RT.pBankName, BANKBRANCH = RT.pBankBranchName, BANKACCOUNTNO = RT.accountNo, BANKCODE = RT.pBank, BANKBRANCHCODE = AG.extCode, TRNDATE = RT.approvedDate, DOWNLOAD_TOKENID = @payTokenId, RECEIVERMOBILE = TR.mobile, TRANID = RT.id FROM remitTran RT WITH (NOLOCK) LEFT JOIN agentMaster AG WITH (NOLOCK) ON RT.pBankBranch = AG.agentId INNER JOIN tranSenders TS WITH (NOLOCK) ON RT.id = TS.tranId INNER JOIN tranReceivers TR WITH (NOLOCK) ON RT.id = TR.tranId INNER JOIN @controlNoTable cn ON cn.tranId = RT.id END TRY BEGIN CATCH SELECT '9001' CODE, 'Technical Error : ' + ERROR_MESSAGE() MESSAGE INSERT INTO Logs (errorPage, errorMsg, errorDetails, createdBy, createdDate) SELECT 'API SP Error','Technical Error : ' + ERROR_MESSAGE() MESSAGE,'ws_proc_AccountDepositOutStanding',@USERNAME, GETDATE() END CATCH GO