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.

199 lines
9.5 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_proc_GetStatus] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. EXEC [ws_proc_GetStatus]
  10. @ACCESSCODE='BRNNP1112'
  11. ,@USERNAME='testeverest'
  12. ,@PASSWORD='testeverest@123'
  13. ,@REFNO='77715967714B'
  14. ,@AGENT_SESSION_ID='12310023'
  15. */
  16. CREATE PROC [dbo].[ws_proc_GetStatus] (
  17. @ACCESSCODE VARCHAR(50),
  18. @USERNAME VARCHAR(50),
  19. @PASSWORD VARCHAR(50),
  20. @REFNO VARCHAR(20),
  21. @AGENT_SESSION_ID VARCHAR(150)
  22. )
  23. AS
  24. SET NOCOUNT ON
  25. SET XACT_ABORT ON
  26. DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAENcryptString(@REFNO)
  27. DECLARE @autMsg VARCHAR(500)
  28. EXEC ws_proc_checkAuthntication @USERNAME,@PASSWORD,@ACCESSCODE,@errCode OUT, @autMsg OUT
  29. --EXEC ws_proc_checkAuthntication @USERNAME, @PASSWORD, @ACCESSCODE, @errCode OUT
  30. DECLARE @errorTable TABLE(
  31. AGENT_SESSION_ID VARCHAR(150)
  32. ,REFNO VARCHAR(50)
  33. ,SENDER_NAME VARCHAR(100)
  34. ,RECEIVER_NAME VARCHAR(100)
  35. ,PAYOUTAMT MONEY
  36. ,PAYOUTCURRENCY VARCHAR(3)
  37. ,STATUS VARCHAR(30)
  38. ,STATUS_DATE VARCHAR(20)
  39. ,PAY_TOKEN_ID INT
  40. )
  41. --INSERT INTO @errorTable(AGENT_SESSION_ID)
  42. --SELECT @AGENT_SESSION_ID
  43. IF(@errCode = '1')
  44. BEGIN
  45. SELECT '1002' CODE, ISNULL(@autMsg,'Authentication Fail') MESSAGE, * FROM @errorTable
  46. RETURN
  47. END
  48. IF EXISTS(SELECT 'X' FROM applicationUsers WITH(NOLOCK) WHERE userName = @USERNAME AND forceChangePwd = 'Y')
  49. BEGIN
  50. SELECT '1002' CODE, 'You logged on first time,must first change your password and try again!' MESSAGE, * FROM @errorTable
  51. RETURN
  52. END
  53. ------------------VALIDATION-------------------------------
  54. IF @REFNO IS NULL
  55. BEGIN
  56. SELECT '1001' CODE,'REFNO Field is Required' MESSAGE,* FROM @errorTable
  57. RETURN;
  58. END
  59. --IF ISNUMERIC(@REFNO) = 0 AND @REFNO IS NOT NULL
  60. --BEGIN
  61. -- SELECT '2003' CODE,'Technical Error: REFNO must be numeric' MESSAGE ,* FROM @errorTable
  62. -- RETURN;
  63. --END
  64. IF @AGENT_SESSION_ID IS NULL
  65. BEGIN
  66. SELECT '1001' CODE,'AGENT SESSION ID Field is Required' MESSAGE,* FROM @errorTable
  67. RETURN;
  68. END
  69. DECLARE
  70. @pAgent INT
  71. ,@tranId INT
  72. ,@tranStatus VARCHAR(50)
  73. --PICK AGENTID ,COUNTRY FROM USER
  74. SELECT
  75. @pAgent = au.agentId
  76. FROM applicationUsers au WITH(NOLOCK)
  77. WHERE userName = @USERNAME and isnull(au.isActive,'')='Y'
  78. SELECT
  79. @tranId = id
  80. ,@tranStatus = tranStatus
  81. FROM RemitTran WITH(NOLOCK)
  82. WHERE controlNo = @controlNoEnc
  83. AND pAgent = @pAgent
  84. IF @tranStatus IS NULL
  85. BEGIN
  86. SELECT '2003' CODE,'Transaction Not Found RefNo : ' + @REFNO MESSAGE, * FROM @errorTable
  87. RETURN
  88. END
  89. --IF @pCountry <> @userCountry
  90. --BEGIN
  91. -- SELECT '2005' CODE,'You are not authorized to view this transaction' MESSAGE, * FROM @errorTable
  92. -- RETURN
  93. --END
  94. --IF (@pAgentTran IS NOT NULL AND @pAgentTran <> @pAgent)
  95. --BEGIN
  96. -- SELECT '2005' CODE ,'You are not authorized to view this transaction' MESSAGE, * FROM @errorTable
  97. -- RETURN
  98. --END
  99. --IF @status = 'paid'
  100. --BEGIN
  101. -- SELECT '2001' CODE ,'Transaction is already paid' MESSAGE, * FROM @errorTable
  102. -- RETURN
  103. --END
  104. IF @tranStatus IS NOT NULL
  105. BEGIN
  106. INSERT INTO tranViewHistory(
  107. controlNumber
  108. ,tranViewType
  109. ,agentId
  110. ,createdBy
  111. ,createdDate
  112. ,tranId
  113. ,dcInfo
  114. )
  115. SELECT
  116. @controlNoEnc
  117. ,'Search'
  118. ,@pAgent
  119. ,@USERNAME
  120. ,GETDATE()
  121. ,@tranId
  122. ,'API : ' + @USERNAME
  123. END
  124. SELECT
  125. CODE = 0
  126. ,AGENT_SESSION_ID = @AGENT_SESSION_ID
  127. ,MESSAGE = 'TXN Summary'
  128. ,REFNO = @REFNO
  129. ,SENDER_NAME = RT.SenderName
  130. ,RECEIVER_NAME = RT.ReceiverName
  131. ,PAYOUTAMT = RT.pAmt
  132. ,PAYOUTCURRENCY = RT.payoutCurr
  133. ,STATUS = CASE WHEN RT.lockStatus = 'locked' THEN 'Locked'
  134. WHEN RT.tranStatus LIKE '%Hold%' THEN 'Hold'
  135. WHEN RT.tranStatus IN ('OFAC', 'Compliance', 'OFAC/Compliance') THEN 'Compliance'
  136. WHEN RT.tranStatus = 'Payment' AND RT.payStatus = 'Post' THEN 'Post'
  137. WHEN RT.tranStatus = 'Payment' AND RT.payStatus = 'Unpaid' THEN 'Unpaid'
  138. ELSE RT.tranStatus END
  139. ,STATUS_DATE = CASE WHEN RT.tranStatus = 'Paid' THEN RT.paidDate WHEN RT.tranStatus = 'Cancel' THEN RT.cancelApprovedDate END
  140. ,PAY_TOKEN_ID = payTokenId
  141. FROM vwRemitTran RT WITH (NOLOCK)
  142. WHERE id = @tranId
  143. /*
  144. EXEC ws_proc_GetStatus
  145. @ACCESSCODE = 'MF1986',
  146. @USERNAME = 'imetest',
  147. @PASSWORD = 'ime@1111',
  148. @REFNO = '30137052786',
  149. @AGENT_SESSION_ID = '3563'
  150. SELECT
  151. id
  152. ,tranStatus
  153. ,pCountry
  154. ,pAgent
  155. ,pbranch
  156. FROM remitTran WITH (NOLOCK)
  157. WHERE controlNo = dbo.FNAENcryptString('99991867251')
  158. SELECT
  159. au.agentId
  160. ,cm.countryName
  161. FROM applicationUsers au WITH(NOLOCK)
  162. INNER JOIN countryMaster cm WITH(NOLOCK) ON au.countryId = cm.countryId
  163. WHERE userName = 'testdhaka'
  164. SELECT * FROM agentMaster where agentID = 2236 OR agentId = 1023
  165. */
  166. GO