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.
 
 
 

188 lines
4.8 KiB

SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[ws_proc_AccountDepositMarkeDownloaded] (
@ACCESSCODE VARCHAR(50),
@USERNAME VARCHAR(50),
@PASSWORD VARCHAR(50),
@AGENT_SESSION_ID VARCHAR(50),
@DOWNLOAD_TOKENID VARCHAR(50)
)
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
DECLARE @errCode INT
DECLARE @count 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 (@errCode = 1)
--BEGIN
-- SELECT '1002' CODE, 'Authentication Fail' MESSAGE,@AGENT_SESSION_ID AGENT_SESSION_ID
-- RETURN
--END
IF EXISTS(SELECT 'A' 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
,@AGENT_SESSION_ID AGENT_SESSION_ID
RETURN
END
------------------VALIDATION-------------------------------
IF @AGENT_SESSION_ID IS NULL
BEGIN
SELECT
'1001' CODE
,'AGENT SESSION ID Field is Required' MESSAGE
,@AGENT_SESSION_ID AGENT_SESSION_ID
RETURN;
END
IF @DOWNLOAD_TOKENID IS NULL
BEGIN
SELECT
'1001' CODE
,'DOWNLOAD TOKENID Field is Required' MESSAGE
,@AGENT_SESSION_ID AGENT_SESSION_ID
RETURN;
END
DECLARE
@pAgent INT
,@tranId INT
,@tranStatus VARCHAR(50)
,@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'
DECLARE @controlNoTable TABLE(controlNo VARCHAR(50))
INSERT INTO @controlNoTable(controlNo)
SELECT controlNo FROM remitTran WITH(NOLOCK)
WHERE pAgent = @pAgent
AND payTokenId = @DOWNLOAD_TOKENID
AND payStatus = 'Unpaid'
AND tranStatus = 'Payment'
AND paymentMethod = 'Bank Deposit'
AND lockedBy = @USERNAME
INSERT INTO @controlNoTable(controlNo)
SELECT controlNo FROM remitTran WITH(NOLOCK)
WHERE pAgent = @pAgent
AND payTokenId = @DOWNLOAD_TOKENID
AND payStatus = 'Unpaid'
AND tranStatus = 'Payment'
AND paymentMethod = 'MOBILE WALLET'
AND lockedBy = @USERNAME
IF NOT EXISTS(SELECT TOP 1 'X' FROM @controlNoTable)
BEGIN
SELECT
'1004' CODE
,'There are no Transaction with the given Token ID to be set as Downloaded' MESSAGE
,@AGENT_SESSION_ID AGENT_SESSION_ID
RETURN
END
UPDATE remitTran SET
payStatus = 'Post',
postedBy = @USERNAME,
postedDate = GETDATE(),
postedDateLocal = GETDATE()
-- ,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
FROM remitTran rt
INNER JOIN @controlNoTable cn ON rt.controlNo = cn.controlNo
SET @count = @@ROWCOUNT
SELECT
0 CODE
,@AGENT_SESSION_ID AGENT_SESSION_ID
,CAST(@count AS VARCHAR(10)) + ' transaction(s) downloaded' MESSAGE
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_AccountDepositMarkeDownloaded',@USERNAME, GETDATE()
END CATCH
/*
EXEC ws_proc_AccountDepositMarkeDownloaded @ACCESSCODE='GMKOR393965',@USERNAME='IMENepal',@PASSWORD='123456',@AGENT_SESSION_ID='1231'
,@DOWNLOAD_TOKENID='11'
*/
GO