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.

238 lines
11 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_int_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. IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ws_proc_GetStatus]') AND TYPE IN (N'P', N'PC'))
  10. DROP PROCEDURE [dbo].ws_proc_GetStatus
  11. GO
  12. */
  13. /*
  14. EXEC ws_int_proc_GetStatus
  15. @ACCESSCODE = 'BRNNP1087',
  16. @USERNAME = 'dhan321',
  17. @PASSWORD = 'dhan123',
  18. @REFNO = '90801703625',
  19. @AGENT_TXN_REF_ID = '356113'
  20. SELECT
  21. id
  22. ,tranStatus
  23. ,pCountry
  24. ,pAgent
  25. ,pbranch
  26. FROM remitTran WITH (NOLOCK)
  27. WHERE controlNo = dbo.FNAENcryptString('99991867251')
  28. SELECT
  29. au.agentId
  30. ,cm.countryName
  31. FROM applicationUsers au WITH(NOLOCK)
  32. INNER JOIN countryMaster cm WITH(NOLOCK) ON au.countryId = cm.countryId
  33. WHERE userName = 'testdhaka'
  34. SELECT * FROM agentMaster where agentID = 2236 OR agentId = 1023
  35. */
  36. CREATE PROC [dbo].[ws_int_proc_GetStatus] (
  37. @ACCESSCODE VARCHAR(50),
  38. @USERNAME VARCHAR(50),
  39. @PASSWORD VARCHAR(50),
  40. @REFNO VARCHAR(20),
  41. @AGENT_TXN_REF_ID VARCHAR(150)
  42. )
  43. AS
  44. SET NOCOUNT ON
  45. SET XACT_ABORT ON
  46. BEGIN TRY
  47. DECLARE @apiRequestId BIGINT
  48. INSERT INTO requestApiLogOther(
  49. AGENT_CODE
  50. ,USER_ID
  51. ,PASSWORD
  52. ,AGENT_TXN_REF_ID
  53. ,REFNO
  54. ,METHOD_NAME
  55. ,REQUEST_DATE
  56. )
  57. SELECT
  58. @ACCESSCODE
  59. ,@USERNAME
  60. ,@PASSWORD
  61. ,@AGENT_TXN_REF_ID
  62. ,@REFNO
  63. ,'ws_int_proc_GetStatus'
  64. ,GETDATE()
  65. SET @apiRequestId = SCOPE_IDENTITY()
  66. DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAENcryptString(@REFNO)
  67. DECLARE @autMsg VARCHAR(500)
  68. EXEC ws_int_proc_checkAuthntication @USERNAME,@PASSWORD,@ACCESSCODE,@errCode OUT, @autMsg OUT
  69. DECLARE @errorTable TABLE(
  70. AGENT_REFID VARCHAR(150)
  71. ,REFID VARCHAR(50)
  72. ,SENDER_NAME VARCHAR(100)
  73. ,RECEIVER_NAME VARCHAR(100)
  74. ,PAYOUTAMT MONEY
  75. ,PAYOUTCURRENCY VARCHAR(3)
  76. ,STATUS VARCHAR(30)
  77. ,STATUS_DATE VARCHAR(20)
  78. ,TOKEN_ID INT
  79. ,EXCHANGE_RATE FLOAT
  80. ,localAmount MONEY
  81. ,settlementAmt MONEY
  82. ,usdRate MONEY
  83. ,settlementRate MONEY
  84. )
  85. INSERT INTO @errorTable(AGENT_REFID)
  86. SELECT @AGENT_TXN_REF_ID
  87. IF (@errCode='1' )
  88. BEGIN
  89. SELECT '1002' CODE,ISNULL(@autMsg,'Authentication Fail') MESSAGE ,* FROM @errorTable
  90. RETURN
  91. END
  92. IF EXISTS(
  93. SELECT 'x' FROM applicationUsers WITH (NOLOCK)
  94. WHERE userName = @USERNAME
  95. AND forceChangePwd = 'Y'
  96. )
  97. BEGIN
  98. SELECT
  99. '1002' CODE,'You logged on first time,must first change your password and try again!' MESSAGE,* FROM @errorTable
  100. RETURN
  101. END
  102. IF @REFNO IS NULL
  103. BEGIN
  104. SELECT
  105. '1001' CODE,'REFNO Field is Empty' MESSAGE,* FROM @errorTable
  106. RETURN;
  107. END
  108. --IF ISNUMERIC(@REFNO) = 0 AND @REFNO IS NOT NULL
  109. --BEGIN
  110. -- SELECT
  111. -- '9001' CODE,'Technical Error: REFNO must be numeric' MESSAGE ,* FROM @errorTable
  112. -- RETURN;
  113. --END
  114. IF @AGENT_TXN_REF_ID IS NULL
  115. BEGIN
  116. SELECT
  117. '1001' CODE,'AGENT SESSION ID Field is Empty' MESSAGE,* FROM @errorTable
  118. RETURN;
  119. END
  120. DECLARE
  121. @tranId BIGINT
  122. ,@tranStatus VARCHAR(50)
  123. ,@status VARCHAR(50)
  124. ,@txnBranch INT
  125. ,@txnAgent INT
  126. ,@sBranch INT
  127. ,@sAgent INT
  128. SELECT
  129. @sBranch = sb.agentId,
  130. @sAgent = sb.parentId
  131. FROM applicationUsers au WITH(NOLOCK)
  132. LEFT JOIN agentMaster sb WITH(NOLOCK) ON au.agentId = sb.agentId
  133. WHERE userName = @USERNAME
  134. AND ISNULL(sb.isActive,'N') = 'Y'
  135. SELECT
  136. @tranId = id
  137. ,@tranStatus = tranStatus
  138. ,@txnBranch = sBranch
  139. ,@txnAgent = sAgent
  140. ,@status = payStatus
  141. FROM remitTran WITH (NOLOCK)
  142. WHERE controlNo = @controlNoEnc
  143. IF @tranStatus IS NULL
  144. BEGIN
  145. SELECT '2001' CODE,'Transaction Not Found RefNo: '+ @REFNO MESSAGE,* FROM @errorTable
  146. RETURN
  147. END
  148. IF @sAgent <> @txnAgent
  149. BEGIN
  150. SELECT '2002' CODE,'You are not authorized to view this transaction' MESSAGE,* FROM @errorTable
  151. RETURN
  152. END
  153. IF @tranStatus IS NOT NULL
  154. BEGIN
  155. INSERT INTO tranViewHistory(
  156. controlNumber
  157. ,tranViewType
  158. ,agentId
  159. ,createdBy
  160. ,createdDate
  161. ,tranId
  162. )
  163. SELECT
  164. @controlNoEnc
  165. ,'VIEW'
  166. ,@sAgent
  167. ,@USERNAME
  168. ,GETDATE()
  169. ,@tranId
  170. END
  171. SELECT
  172. Code = '0'
  173. ,AGENT_REFID = @AGENT_TXN_REF_ID
  174. ,Message = 'TXN Summary'
  175. ,REFID = @REFNO
  176. ,SENDER_NAME = rt.senderName
  177. ,RECEIVER_NAME = rt.receiverName
  178. ,PAYOUTAMT = pAmt
  179. ,PAYOUTCURRENCY = payoutCurr
  180. ,[STATUS] = CASE WHEN transtatus='Cancel' THEN 'Cancel' WHEN payStatus='unpaid'THEN 'Un-Paid' ELSE payStatus END
  181. ,STATUS_DATE = CASE WHEN payStatus='Paid' THEN paidDate WHEN transtatus='Cancel' THEN cancelapproveddate END
  182. ,TOKEN_ID = rt.payTokenId
  183. ,EXCHANGE_RATE = rt.customerRate
  184. ,localAmount = rt.cAmt
  185. ,settlementAmt = rt.pAmt/rt.pCurrCostRate
  186. ,usdRate = rt.pCurrCostRate
  187. ,settlementRate = rt.pAmt/rt.cAmt
  188. FROM remitTran rt WITH (NOLOCK)
  189. INNER JOIN tranSenders ts WITH (NOLOCK) ON rt.Id = ts.tranId
  190. INNER JOIN tranReceivers tr WITH (NOLOCK) ON rt.Id = tr.tranId
  191. WHERE controlno=@controlNoEnc
  192. UPDATE requestApiLogOther SET
  193. errorCode = '0'
  194. ,errorMsg = 'Success'
  195. WHERE rowId = @apiRequestId
  196. END TRY
  197. BEGIN CATCH
  198. SELECT '9001' CODE, 'Technical Error : ' + ERROR_MESSAGE() MESSAGE, * FROM @errorTable
  199. INSERT INTO Logs (errorPage, errorMsg, errorDetails, createdBy, createdDate)
  200. SELECT 'API SP Error','Technical Error : ' + ERROR_MESSAGE() MESSAGE,'ws_int_proc_GetStatus',@USERNAME, GETDATE()
  201. END CATCH
  202. GO