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.
239 lines
6.2 KiB
239 lines
6.2 KiB
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
|