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.

107 lines
3.9 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[mobile_proc_WalletStatement] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[mobile_proc_WalletStatement]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[mobile_proc_WalletStatement] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. --EXEC [mobile_proc_WalletStatement] @UserID = 'mary@yopmail.com',@startDate='2011-01-01',@endDate='2022-01-01'
  12. CREATE PROC [dbo].[mobile_proc_WalletStatement]
  13. @startDate VARCHAR(10) = NULL,
  14. @endDate VARCHAR(10) = NULL,
  15. @UserID VARCHAR(50)
  16. AS
  17. SET NOCOUNT ON;
  18. DECLARE @acnum VARCHAR(20)
  19. SELECT @acnum = walletAccountNo FROM customerMaster(nolock)
  20. WHERE userName = @UserID
  21. ----OR mobile =@UserID FUTURE USE
  22. DECLARE @SQL VARCHAR(MAX)
  23. IF @endDate IS NULL
  24. SELECT @endDate = CAST(GETDATE() AS DATE), @startDate= CAST(DATEADD(M,-3,GETDATE()) AS DATE)
  25. DECLARE @RESULT TABLE(ID INT IDENTITY(1,1),TRNDate VARCHAR(10),tran_rmks VARCHAR(MAX),DRTotal DECIMAL(18,2),cRTotal DECIMAL(18,2),end_clr_balance DECIMAL(18,2),ref_num VARCHAR(20))
  26. --INSERT INTO @RESULT
  27. --Exec FastMoneyPro_Account.dbo.spa_branchstatement @flag='S' ,@acnum=@acnum,@startDate=@startDate,@endDate=@endDate,@company_id='1'
  28. --UPDATE @RESULT SET tran_rmks = CASE
  29. -- WHEN field2='Send Voucher' THEN 'Control No :'+field1
  30. -- WHEN field2='Fund Deposit' THEN 'Amount Deposited'
  31. -- ELSE tran_rmks
  32. -- END
  33. --SELECT * FROM @RESULT
  34. SET @SQL = '
  35. SELECT CONVERT(VARCHAR,TRNDATE,102) AS TRNDATE,TRAN_RMKS,DRTOTAL,CRTOTAL,END_CLR_BALANCE,ref_num
  36. FROM (
  37. SELECT 0 SN, '''+@startDate+''' TRNDATE, ''BALANCE BROUGHT FORWARD'' TRAN_RMKS, 0 DRTOTAL,0 CRTOTAL,ISNULL(END_CLR_BALANCE,0) END_CLR_BALANCE,'''' ref_num
  38. FROM (
  39. SELECT SUM (CASE WHEN PART_TRAN_TYPE=''DR'' THEN TRAN_AMT*-1 ELSE TRAN_AMT END) END_CLR_BALANCE
  40. FROM FastMoneyPro_Account.DBO.VW_PostedAccountDetail WITH (NOLOCK)
  41. WHERE ACC_NUM = '''+@acnum+''' AND TRAN_DATE < '''+@startDate+'''
  42. GROUP BY ACC_NUM
  43. ) CA '
  44. IF @endDate IS NOT NULL
  45. BEGIN
  46. SET @SQL = @SQL+' UNION ALL
  47. SELECT TOP(1000) 1 SN,TRAN_DATE AS TRNDATE
  48. ,TRAN_RMKS = CASE
  49. WHEN field2=''Send Voucher'' THEN CASE WHEN acct_type_code IS NULL THEN ''Control No :''+field1 ELSE '' Cancellation of Control No :''+field1 END
  50. WHEN field2=''Customer Deposit'' THEN ''Amount Deposited''
  51. WHEN field2=''Withdraw Voucher'' THEN ''Wallet Withdraw''
  52. WHEN field2=''Paid Voucher'' THEN ''Wallet Redeem''
  53. WHEN field2=''Refund Voucher'' THEN ''Amount Refunded''
  54. ELSE field2
  55. END
  56. ,CASE WHEN PART_TRAN_TYPE = ''DR'' THEN TRAN_AMT ELSE 0 END AS DRTOTAL
  57. ,CASE WHEN PART_TRAN_TYPE = ''CR'' THEN TRAN_AMT ELSE 0 END AS CRTOTAL
  58. ,0 BALANCE,ref_num
  59. FROM FastMoneyPro_Account.DBO.VW_PostedAccountDetail T WITH (NOLOCK)
  60. WHERE ACC_NUM = '''+@acnum +'''
  61. AND T.COMPANY_ID=1
  62. AND TRAN_DATE BETWEEN '''+@startDate+''' AND '''+@endDate+' 23:59:59''
  63. ORDER BY CREATED_DATE
  64. )
  65. A ORDER BY TRNDATE'
  66. END
  67. ELSE
  68. BEGIN
  69. SET @SQL = @SQL+' UNION ALL
  70. SELECT TOP(7) 1 SN,TRAN_DATE AS TRNDATE
  71. ,TRAN_RMKS = CASE
  72. WHEN field2=''Send Voucher'' THEN CASE WHEN acct_type_code IS NULL THEN ''Control No :''+field1 ELSE '' Cancellation of Control No :''+field1 END
  73. WHEN field2=''Customer Deposit'' THEN ''Amount Deposited''
  74. WHEN field2=''Withdraw Voucher'' THEN ''Wallet Withdraw''
  75. WHEN field2=''Paid Voucher'' THEN ''Wallet Redeem''
  76. WHEN field2=''Refund Voucher'' THEN ''Amount Refunded''
  77. ELSE field2
  78. END
  79. ,CASE WHEN PART_TRAN_TYPE = ''DR'' THEN TRAN_AMT ELSE 0 END AS DRTOTAL
  80. ,CASE WHEN PART_TRAN_TYPE = ''CR'' THEN TRAN_AMT ELSE 0 END AS CRTOTAL
  81. ,0 BALANCE,ref_num
  82. FROM FastMoneyPro_Account.DBO.VW_PostedAccountDetail T WITH (NOLOCK)
  83. WHERE ACC_NUM = '''+@acnum +'''
  84. AND T.COMPANY_ID=1
  85. AND TRAN_DATE BETWEEN '''+@startDate+''' AND '''+@endDate+' 23:59:59''
  86. ORDER BY CREATED_DATE
  87. )
  88. A ORDER BY TRNDATE desc'
  89. END
  90. PRINT @SQL
  91. INSERT INTO @RESULT
  92. EXEC(@SQL)
  93. SELECT * FROM @RESULT