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.

149 lines
6.8 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ws_proc_ReconcileReport] 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_ReconcileReport] (
  9. @ACCESSCODE VARCHAR(50),
  10. @USERNAME VARCHAR(50),
  11. @PASSWORD VARCHAR(50),
  12. @AGENT_SESSION_ID VARCHAR(150),
  13. @PAID_DATE VARCHAR(20)
  14. )
  15. AS
  16. SET NOCOUNT ON
  17. SET XACT_ABORT ON
  18. BEGIN TRY
  19. DECLARE @errCode INT
  20. DECLARE @autMsg VARCHAR(500)
  21. DECLARE @pAgent INT
  22. EXEC ws_proc_checkAuthntication @USERNAME,@PASSWORD,@ACCESSCODE,@errCode OUT, @autMsg OUT
  23. DECLARE @errorTable TABLE (
  24. CODE VARCHAR(150)
  25. ,MESSAGE VARCHAR(200)
  26. ,AGENT_SESSION_ID VARCHAR(50)
  27. ,PAID_DATE VARCHAR(10)
  28. ,PAYOUT_AMT MONEY
  29. ,PAYOUT_CCY VARCHAR(20)
  30. ,RECEIVER_NAME VARCHAR(10)
  31. ,REFNO VARCHAR(10)
  32. ,SENDER_NAME VARCHAR(10)
  33. ,TRAN_TYPE VARCHAR(10)
  34. )
  35. INSERT INTO @errorTable(AGENT_SESSION_ID) SELECT @AGENT_SESSION_ID
  36. IF (@errCode = 1)
  37. BEGIN
  38. SELECT
  39. '1002' CODE
  40. ,ISNULL(@autMsg,'Authentication Fail') MESSAGE
  41. ,*
  42. FROM @errorTable
  43. RETURN
  44. END
  45. IF EXISTS(
  46. SELECT 'x' FROM applicationUsers WITH (NOLOCK)
  47. WHERE userName = @USERNAME AND forceChangePwd = 'Y')
  48. BEGIN
  49. SELECT
  50. '1002' CODE
  51. ,'You are required to change your password!' MESSAGE
  52. ,*
  53. FROM @errorTable
  54. RETURN
  55. END
  56. ------------------VALIDATION-------------------------------
  57. IF @AGENT_SESSION_ID IS NULL
  58. BEGIN
  59. SELECT
  60. '1001' CODE
  61. ,'AGENT SESSION ID Field is Required' MESSAGE
  62. ,*
  63. FROM @errorTable
  64. RETURN;
  65. END
  66. IF @PAID_DATE IS NULL
  67. BEGIN
  68. SELECT
  69. '1001' CODE
  70. ,'PAID DATE Field is Required' MESSAGE
  71. ,*
  72. FROM @errorTable
  73. RETURN;
  74. END
  75. IF ISDATE(@PAID_DATE) = 0
  76. BEGIN
  77. SELECT
  78. '1001' CODE
  79. ,'PAID DATE Field is Invalid' MESSAGE
  80. ,*
  81. FROM @errorTable
  82. RETURN;
  83. END
  84. -- PICK AGENTID ,COUNTRY FROM USER
  85. SELECT
  86. @pAgent = agentId
  87. FROM applicationUsers WITH(NOLOCK)
  88. WHERE userName = @USERNAME AND ISNULL(isDeleted, 'N') = 'N' AND ISNULL(isActive, 'N') = 'Y'
  89. DECLARE @controlNoTable TABLE(id BIGINT)
  90. INSERT INTO @controlNoTable(id)
  91. SELECT id FROM remitTran WITH(NOLOCK)
  92. WHERE pAgent = @pAgent AND payStatus = 'Paid' AND tranStatus = 'Paid'
  93. AND paidDate BETWEEN @PAID_DATE AND @PAID_DATE + ' 23:59:59.99'
  94. ---@pAgent replace by @pBranch change by manoj
  95. --AND paymentMethod = 'Bank Deposit'
  96. IF NOT EXISTS(SELECT TOP 1 'X' FROM @controlNoTable)
  97. BEGIN
  98. SELECT '2003' CODE, 'No transaction found to download' [Message], * FROM @errorTable
  99. RETURN
  100. END
  101. SELECT
  102. CODE = 0,
  103. AGENT_SESSION_ID = @AGENT_SESSION_ID,
  104. MESSAGE = 'Success',
  105. PAID_DATE = RT.paidDateLocal,
  106. PAYOUT_AMT = RT.pAmt,
  107. PAYOUT_CCY = RT.payoutCurr,
  108. RECEIVER_NAME = RT.receiverName,
  109. REFNO = dbo.FNADecryptString(RT.controlNo),
  110. SENDER_NAME = RT.senderName,
  111. TRAN_TYPE = RT.paymentMethod
  112. FROM remitTran RT WITH (NOLOCK)
  113. INNER JOIN @controlNoTable cn ON cn.id = RT.id
  114. END TRY
  115. BEGIN CATCH
  116. SELECT '9001' CODE, 'Technical Error : ' + ERROR_MESSAGE() MESSAGE
  117. INSERT INTO Logs (errorPage, errorMsg, errorDetails, createdBy, createdDate)
  118. SELECT 'API SP Error','Technical Error : ' + ERROR_MESSAGE() MESSAGE,'[ws_proc_ReconcileReport]',@USERNAME, GETDATE()
  119. END CATCH
  120. /*
  121. EXEC ws_proc_ReconcileReport @ACCESSCODE='IMENPADB001',@USERNAME='adbramshah123',@PASSWORD='adbramshah1231',@AGENT_SESSION_ID='4397693869386',@PAID_DATE='2015-09-24'
  122. */
  123. GO