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.

135 lines
5.2 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_cancelRpt] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_cancelRpt]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_cancelRpt] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE procEDURE [dbo].[proc_cancelRpt]
  12. @user VARCHAR(50),
  13. @pCountry VARCHAR(50) = NULL,
  14. @sBranch INT ,
  15. @fromDate VARCHAR(10) ,
  16. @toDate VARCHAR(20) ,
  17. @cancelType VARCHAR(10) = NULL
  18. AS
  19. SET NOCOUNT ON;
  20. IF(DATEDIFF(D,@fromDate,GETDATE())>90 )
  21. BEGIN
  22. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  23. EXEC proc_errorHandler '1', '<font color="red"><b>Date Range is not valid, You can only view transaction upto 90 days.</b></font>', NULL
  24. RETURN;
  25. END
  26. IF(DATEDIFF(D,@fromDate,@toDate))>32
  27. BEGIN
  28. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  29. EXEC proc_errorHandler '1', '<font color="red"><b>Date Range is not valid, Please select date range of 32 days.</b></font>', NULL
  30. RETURN;
  31. END
  32. DECLARE @SQL VARCHAR(MAX)
  33. DECLARE @sAgent INT
  34. SELECT @sAgent = parentId FROM applicationUsers au WITH(NOLOCK)
  35. INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
  36. WHERE userName = @user
  37. SET @SQL='SELECT [SN] = ROW_NUMBER() over (ORDER BY [Branch] ),* FROM (
  38. SELECT [Cancel Date] = '+CASE WHEN @cancelType ='Refunded' THEN ' RC.refundDate ' ELSE ' RC.approvedDate' END +'
  39. ,[Branch] = ISNULL(sBranchName,''-'')
  40. ,[BRN] =''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'AgentPanel/SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(RT.controlNo)+''</a>''
  41. ,[Sender/Receiver] = rt.senderName+''/''+rt.receiverName
  42. ,[Receiving Country] = RT.pCountry
  43. ,[TXN Date] = RT.createdDate
  44. ,[Deposit Amt] = RT.cAmt
  45. ,[Payout Amt] = RT.pAmt
  46. ,[Requested By] = RC.createdBy
  47. ,'+CASE WHEN @cancelType = 'Refunded' THEN '[Refunded By]' ELSE '[Cancelled By]' END +' = RC.ApprovedBy
  48. ,[Reason] = ISNULL(''Request :''+RC.cancelReason,'''')+''<br/>''+ISNULL(''Approve :''+RC.approvedRemarks,'''')
  49. ,[Txn <br/>Generated By] = RT.createdBy
  50. FROM remitTran RT WITH (NOLOCK)
  51. INNER JOIN tranCancelrequest RC WITH (NOLOCK) ON RT.id=RC.tranId
  52. WHERE 1=1 '
  53. IF @sAgent IS NOT NULL
  54. SET @SQL = @SQL + ' AND RT.sAgent = ''' + CAST(@sAgent AS VARCHAR) + ''''
  55. IF @sBranch IS NOT NULL
  56. SET @SQL = @SQL +' AND RT.sBranch =''' +CAST(@sBranch AS VARCHAR)+ ''''
  57. IF @pCountry IS NOT NULL
  58. SET @SQL = @SQL +' AND pCountry ='''+@pCountry+''''
  59. IF @cancelType ='Approved'
  60. SET @SQL = @SQL +' AND RC.cancelStatus =''Approved'' AND RC.approvedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
  61. IF @cancelType ='Rejected'
  62. SET @SQL = @SQL +' AND RC.cancelStatus =''Rejected'' AND RC.approvedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
  63. IF @cancelType ='deny'
  64. SET @SQL = @SQL +' AND 1=2 '
  65. IF @cancelType IS NULL
  66. SET @SQL = @SQL +' AND RC.cancelStatus =''Approved'' AND RT.cancelapprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
  67. IF @cancelType ='deny' OR @cancelType IS NULL
  68. BEGIN
  69. SET @SQL=@SQL + '
  70. UNION ALL
  71. SELECT
  72. [Cancel Date] = RT.cancelapprovedDate
  73. ,[Branch] = ISNULL(RT.sBranchName,''-'')
  74. ,[BRN] = ''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'AgentPanel/SearchTxnReport/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(RT.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(RT.controlNo)+''</a>''
  75. ,[Sender/Receiver] = rt.senderName+''/''+rt.receiverName
  76. ,[Receiving Country] = RT.pCountry
  77. ,[TXN Date] = RT.createdDate
  78. ,[Deposit Amt] = RT.cAmt
  79. ,[Payout Amt] = RT.pAmt
  80. ,[Cancel Requested By] = RT.cancelRequestBy
  81. ,[Cancel Cancelled By] = RT.cancelApprovedBy
  82. ,[Cancel Reason] = ISNULL(''Request :''+RT.cancelReason,'''')+''<br/>''+ISNULL(''Approve :''+RC.approvedRemarks,'''')
  83. ,[Txn Generated By] = RT.createdBy
  84. FROM cancelTranHistory RT WITH (NOLOCK)
  85. LEFT JOIN tranCancelrequest RC WITH (NOLOCK) ON RT.tranId=RC.tranId
  86. WHERE cancelapprovedDate BETWEEN '''+@fromDate+''' AND '''+@toDate+' 23:59:59'''
  87. IF @pCountry IS NOT NULL
  88. SET @SQL = @SQL +' AND pCountry ='''+@pCountry+''''
  89. IF @sAgent IS NOT NULL
  90. SET @SQL = @SQL + ' AND RT.sAgent = ''' + CAST(@sAgent AS VARCHAR) + ''''
  91. IF @sBranch IS NOT NULL
  92. SET @SQL = @SQL +' AND RT.sBranch =''' +CAST(@sBranch AS VARCHAR)+ ''''
  93. END
  94. SET @SQL = @SQL +')x'
  95. PRINT @SQL
  96. EXEC(@SQL)
  97. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  98. SELECT 'Beneficiary' head,isnull(@pCountry,'All') VALUE
  99. UNION ALL
  100. SELECT 'Branch' head,(SELECT agentName FROM agentMaster WITH(NOLOCK) WHERE agentid=@sBranch) VALUE
  101. UNION ALL
  102. SELECT 'From Date' head,@fromDate value
  103. UNION ALL
  104. SELECT 'To Date' head, @toDate
  105. UNION ALL
  106. SELECT 'Cancel Type' head, ISNULL(CASE WHEN @cancelType ='deny' THEN 'Deny' WHEN @cancelType ='Approved' THEN 'Approve Cancel'
  107. WHEN @cancelType ='Refunded' THEN 'Refund' END,'ALL')
  108. SELECT 'Cancel Report' title
  109. GO