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.

275 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_int_proc_GetStatusByTxnRefId] 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 = 'MF1986',
  16. @USERNAME = 'imetest',
  17. @PASSWORD = 'ime@1111',
  18. @TXN_REF_ID = '30137052786',
  19. @AGENT_TXN_REF_ID = '3563'
  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_GetStatusByTxnRefId] (
  37. @ACCESSCODE VARCHAR(50),
  38. @USERNAME VARCHAR(50),
  39. @PASSWORD VARCHAR(50),
  40. @TXN_REF_ID 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. ,@TXN_REF_ID
  63. ,'ws_int_proc_GetStatusByTxnRefId'
  64. ,GETDATE()
  65. SET @apiRequestId = SCOPE_IDENTITY()
  66. DECLARE @errCode INT,@controlNoEnc VARCHAR(50) = dbo.FNAENcryptString(@TXN_REF_ID)
  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. )
  80. INSERT INTO @errorTable(AGENT_REFID)
  81. SELECT @AGENT_TXN_REF_ID
  82. IF (@errCode='1' )
  83. BEGIN
  84. SELECT '102' CODE,ISNULL(@autMsg,'Authentication Fail') MESSAGE ,* FROM @errorTable
  85. RETURN
  86. END
  87. IF EXISTS(
  88. SELECT 'x' FROM applicationUsers WITH (NOLOCK)
  89. WHERE userName = @USERNAME
  90. AND forceChangePwd = 'Y'
  91. )
  92. BEGIN
  93. SELECT
  94. '102' CODE,'You logged on first time,must first change your password and try again!' MESSAGE,* FROM @errorTable
  95. RETURN
  96. END
  97. ------------------VALIDATION-------------------------------
  98. IF @TXN_REF_ID IS NULL
  99. BEGIN
  100. SELECT
  101. '102' CODE,'REFNO Field is Empty' MESSAGE,* FROM @errorTable
  102. RETURN;
  103. END
  104. IF ISNUMERIC(@TXN_REF_ID) = 0 AND @TXN_REF_ID IS NOT NULL
  105. BEGIN
  106. SELECT
  107. '9001' CODE,'Technical Error: REFNO must be numeric' MESSAGE ,* FROM @errorTable
  108. RETURN;
  109. END
  110. IF @AGENT_TXN_REF_ID IS NULL
  111. BEGIN
  112. SELECT
  113. '102' CODE,'AGENT SESSION ID Field is Empty' MESSAGE,* FROM @errorTable
  114. RETURN;
  115. END
  116. DECLARE
  117. @tranId BIGINT
  118. ,@tranStatus VARCHAR(50)
  119. ,@status VARCHAR(50)
  120. ,@txnBranch INT
  121. ,@txnAgent INT
  122. ,@sBranch INT
  123. ,@sAgent INT
  124. SELECT
  125. @sBranch = sb.agentId,
  126. @sAgent = sb.parentId
  127. FROM applicationUsers au WITH(NOLOCK)
  128. LEFT JOIN agentMaster sb WITH(NOLOCK) ON au.agentId = sb.agentId
  129. WHERE userName = @USERNAME
  130. AND ISNULL(sb.isActive,'N') = 'Y'
  131. --SELECT * INTO #tempAcTrn FROM ime_plus_02.dbo.moneySend WITH(NOLOCK) WHERE refno = @controlNoEnc
  132. --SELECT
  133. -- @tranId = Tranno
  134. -- ,@tranStatus = TransStatus
  135. -- ,@pCountry = ReceiverCountry
  136. -- ,@pAgentTran = receiveAgentID
  137. -- ,@paidBy = paidBy
  138. -- ,@status = STATUS
  139. --FROM #tempAcTrn WITH (NOLOCK)
  140. --WHERE refno = @controlNoEnc
  141. SELECT
  142. @tranId = id
  143. ,@tranStatus = tranStatus
  144. ,@txnBranch = sBranch
  145. ,@txnAgent = sAgent
  146. ,@status = payStatus
  147. FROM remitTran WITH (NOLOCK)
  148. WHERE controlNo2 = @controlNoEnc
  149. IF @tranStatus IS NULL
  150. BEGIN
  151. SELECT '203' CODE,'Transaction Not Found RefNo: '+ @TXN_REF_ID MESSAGE,* FROM @errorTable
  152. RETURN
  153. END
  154. IF @sAgent <> @txnAgent
  155. BEGIN
  156. SELECT '100' CODE,'You are not authorized to view this transaction' MESSAGE,* FROM @errorTable
  157. RETURN
  158. END
  159. IF @tranStatus IS NOT NULL
  160. BEGIN
  161. INSERT INTO tranViewHistory(
  162. controlNumber
  163. ,tranViewType
  164. ,agentId
  165. ,createdBy
  166. ,createdDate
  167. ,tranId
  168. )
  169. SELECT
  170. @controlNoEnc
  171. ,'VIEW'
  172. ,@sAgent
  173. ,@USERNAME
  174. ,GETDATE()
  175. ,@tranId
  176. END
  177. --SELECT
  178. -- CODE = 0,
  179. -- AGENT_TXN_REF_ID = @AGENT_TXN_REF_ID ,
  180. -- MESSAGE = 'TXN Summary' ,
  181. -- REFNO = @TXN_REF_ID ,
  182. -- SENDER_NAME = RT.SenderName ,
  183. -- RECEIVER_NAME = RT.ReceiverName ,
  184. -- PAYOUTAMT = RT.TotalRoundAmt ,
  185. -- PAYOUTCURRENCY = RT.receiveCType ,
  186. -- STATUS = CASE WHEN RT.lock_status='locked' THEN 'locked'
  187. -- WHEN RT.status='paid' THEN 'paid'
  188. -- ELSE
  189. -- CASE WHEN RT.TransStatus='Payment' THEN 'Un-paid' ELSE RT.TransStatus END
  190. -- END,
  191. -- STATUS_DATE = CASE WHEN RT.status='Paid' THEN RT.paidDate WHEN RT.transStatus='Cancel' THEN RT.cancel_date END,
  192. -- PAY_TOKEN_ID = txn_token_id
  193. -- FROM #tempAcTrn RT WITH (NOLOCK)
  194. -- WHERE RT.Tranno = @tranId
  195. SELECT
  196. Code = '0'
  197. ,AGENT_REFID = @AGENT_TXN_REF_ID
  198. ,Message = 'TXN Summary'
  199. ,REFID = @TXN_REF_ID
  200. ,SENDER_NAME = rt.senderName
  201. ,RECEIVER_NAME = rt.receiverName
  202. ,PAYOUTAMT = pAmt
  203. ,PAYOUTCURRENCY = payoutCurr
  204. ,[STATUS] = CASE WHEN payStatus='unpaid'THEN 'Un-Paid' ELSE payStatus END
  205. ,STATUS_DATE = CASE WHEN payStatus='Paid' THEN paidDate WHEN transtatus='Cancel' THEN cancelapproveddate END
  206. ,TOKEN_ID = rt.payTokenId
  207. FROM remitTran rt WITH (NOLOCK)
  208. INNER JOIN tranSenders ts WITH (NOLOCK) ON rt.Id = ts.tranId
  209. INNER JOIN tranReceivers tr WITH (NOLOCK) ON rt.Id = tr.tranId
  210. WHERE controlNo2 = @controlNoEnc
  211. UPDATE requestApiLogOther SET
  212. errorCode = '0'
  213. ,errorMsg = 'Success'
  214. WHERE rowId = @apiRequestId
  215. END TRY
  216. BEGIN CATCH
  217. SELECT '9001' CODE, 'Technical Error : ' + ERROR_MESSAGE() MESSAGE, * FROM @errorTable
  218. INSERT INTO Logs (errorPage, errorMsg, errorDetails, createdBy, createdDate)
  219. SELECT 'API SP Error','Technical Error : ' + ERROR_MESSAGE() MESSAGE,'ws_int_proc_GetStatus',@USERNAME, GETDATE()
  220. END CATCH
  221. GO