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.

127 lines
7.0 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_proc_FindTXNStatus] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE PROC [dbo].[ws_proc_FindTXNStatus](
  9. @AGENT_CODE VARCHAR(50)
  10. ,@USER_ID VARCHAR(50)
  11. ,@PASSWORD VARCHAR(50)
  12. ,@AGENT_SESSION_ID VARCHAR(50)
  13. ,@PIN_NO VARCHAR(20)
  14. ,@SENDING_COUNTRY VARCHAR(100)
  15. ,@PAYOUT_COUNTRY VARCHAR(100)
  16. )
  17. AS
  18. SET NOCOUNT ON;
  19. SET XACT_ABORT ON;
  20. IF @USER_ID IS NULL
  21. BEGIN
  22. SELECT '1001' CODE, 'USER_ID Field is Empty' MESSAGE, NULL id
  23. RETURN
  24. END
  25. IF @AGENT_CODE IS NULL
  26. BEGIN
  27. SELECT '1001' CODE, 'AGENT_CODE Field is Empty' MESSAGE, NULL id
  28. RETURN
  29. END
  30. IF @PASSWORD IS NULL
  31. BEGIN
  32. SELECT '1001' CODE, 'PASSWORD Field is Empty' MESSAGE, NULL id
  33. RETURN
  34. END
  35. IF NOT EXISTS(select 'A' from applicationUsers(nolock) where username=@USER_ID and userType ='i'
  36. AND agentCode = @AGENT_CODE AND pwd = @PASSWORD)
  37. BEGIN
  38. SELECT '1002' CODE,'Authentication Failed' MESSAGE, NULL id
  39. RETURN
  40. END
  41. DECLARE @controlNoEnc VARCHAR(50) = dbo.FNAEncryptString(@PIN_NO)
  42. DECLARE @errorTable TABLE(
  43. AGENT_REFID VARCHAR(150)
  44. ,REFID VARCHAR(50)
  45. ,SENDER_NAME VARCHAR(100)
  46. ,RECEIVER_NAME VARCHAR(100)
  47. ,PAYOUT_AMT MONEY
  48. ,PAYOUT_CURRENCY VARCHAR(3)
  49. ,[STATUS] VARCHAR(30)
  50. ,STATUS_DATE VARCHAR(20)
  51. )
  52. INSERT INTO @errorTable (AGENT_REFID,REFID)
  53. SELECT @AGENT_SESSION_ID,@PIN_NO
  54. DECLARE
  55. @sCountry VARCHAR(150),
  56. @pCountry VARCHAR(150),
  57. @agentId INT,
  58. @branchId INT,
  59. @tranId INT,
  60. @tranStatus VARCHAR(50),
  61. @txnSAgent INT,
  62. @txnPAgent INT
  63. SELECT @pCountry = countryName FROM countryMaster WITH(NOLOCK) WHERE countryCode = @PAYOUT_COUNTRY AND ISNULL(isDeleted,'N')='N'
  64. SELECT @sCountry = countryName FROM countryMaster WITH(NOLOCK) WHERE countryCode = @SENDING_COUNTRY AND ISNULL(isDeleted,'N')='N'
  65. SELECT
  66. @tranId = id
  67. ,@tranStatus = tranStatus
  68. ,@txnSAgent = sAgent
  69. ,@txnPAgent = pAgent
  70. FROM remitTran WITH(NOLOCK)
  71. WHERE controlNo = @controlNoEnc
  72. AND sCountry = @sCountry
  73. AND pCountry = @pCountry
  74. IF @tranStatus IS NULL
  75. BEGIN
  76. SELECT '1003' CODE, 'Invalid Transaction' MESSAGE, * FROM @errorTable
  77. RETURN
  78. END
  79. IF @txnSAgent <> @agentId AND @txnPAgent <> @agentId
  80. BEGIN
  81. SELECT '1003' CODE, 'You are not allow to view this transaction' MESSAGE, * FROM @errorTable
  82. RETURN
  83. END
  84. SELECT
  85. CODE = '0',
  86. AGENT_REFID = @AGENT_SESSION_ID,
  87. MESSAGE = 'TXN Summary',
  88. REFID = @PIN_NO,
  89. SENDER_NAME = RT.senderName,
  90. RECEIVER_NAME = RT.receiverName,
  91. PAYOUT_AMT = RT.pAmt,
  92. PAYOUT_CURRENCY = RT.payoutCurr,
  93. [STATUS] = CASE WHEN RT.tranStatus='Payment' THEN 'Un-paid' ELSE RT.tranStatus END,
  94. STATUS_DATE = CASE WHEN RT.payStatus='Paid' THEN RT.paidDate WHEN RT.tranStatus='Cancel' THEN RT.cancelApprovedDate END,
  95. TOKEN_ID = ''
  96. FROM remitTran RT WITH(NOLOCK)
  97. WHERE RT.id = @tranId
  98. UNION ALL
  99. SELECT
  100. CODE = '0' ,
  101. AGENT_REFID = @AGENT_SESSION_ID,
  102. MESSAGE = 'TXN Summary',
  103. REFID = @PIN_NO,
  104. SENDER_NAME = RT.senderName,
  105. RECEIVER_NAME = RT.receiverName,
  106. PAYOUT_AMT = RT.pAmt,
  107. PAYOUT_CURRENCY = RT.payoutCurr,
  108. [STATUS] = CASE WHEN RT.tranStatus='Payment' THEN 'Un-paid' ELSE RT.tranStatus END,
  109. STATUS_DATE = CASE WHEN RT.payStatus='Paid' THEN RT.paidDate WHEN RT.tranStatus='Cancel' THEN RT.cancelApprovedDate END,
  110. TOKEN_ID = ''
  111. FROM cancelTranHistory RT WITH(NOLOCK)
  112. WHERE RT.tranId = @tranId
  113. GO