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.

212 lines
6.2 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_tranComplainRpt] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_tranComplainRpt]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_tranComplainRpt] 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 proc [dbo].[proc_tranComplainRpt]
  12. @flag VARCHAR(50)
  13. ,@tranId VARCHAR(50) = NULL
  14. ,@controlNo VARCHAR(50) = NULL
  15. ,@complainUser VARCHAR(200) = NULL
  16. ,@fromDate VARCHAR(50) = NULL
  17. ,@toDate VARCHAR(50) = NULL
  18. ,@searchBy VARCHAR(100) = NULL
  19. ,@msgType VARCHAR(100) = NULL
  20. ,@txnType VARCHAR(100) = NULL
  21. ,@paymentMethod VARCHAR(100) = NULL
  22. ,@status VARCHAR(50) = NULL
  23. ,@reportType VARCHAR(50) = NULL
  24. ,@user VARCHAR(30) = NULL
  25. ,@sortBy VARCHAR(50) = NULL
  26. ,@sortOrder VARCHAR(5) = NULL
  27. ,@pageSize INT = NULL
  28. ,@pageNumber INT = NULL
  29. AS
  30. SET NOCOUNT ON
  31. SET XACT_ABORT ON
  32. DECLARE @controlNoEncrypted VARCHAR(100)
  33. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  34. SELECT @pageSize = 10, @pageNumber = 1
  35. declare @sql as varchar(max),@rptBy as varchar(50)
  36. DECLARE
  37. @select_field_list VARCHAR(MAX)
  38. ,@extra_field_list VARCHAR(MAX)
  39. ,@table VARCHAR(MAX)
  40. ,@sql_filter VARCHAR(MAX)
  41. IF @flag = 'a'
  42. BEGIN
  43. SET @SQL='SELECT
  44. RT.sCountry [COUNTRY],
  45. RT.sBranchName [AGENT],
  46. TM.tranId [TRAN ID],
  47. [CONTROL NO]=''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(RT.controlNo) + '''''')">'' + dbo.FNADecryptString(RT.controlNo) + ''</a>'',
  48. [COMPLAIN] = TM.MESSAGE,
  49. TM.status [STATUS],
  50. RT.paymentMethod [TRAN TYPE],
  51. TM.createdBy [USER],
  52. CONVERT(VARCHAR,TM.createdDate,107) [DATE]
  53. FROM tranModifyLog TM WITH(NOLOCK)
  54. INNER JOIN remitTran RT WITH(NOLOCK) ON TM.tranId=RT.id
  55. INNER JOIN applicationUsers AU WITH(NOLOCK) ON AU.userName=TM.createdBy
  56. INNER JOIN agentMaster AM WITH(NOLOCK) ON AM.agentId = AU.agentId'
  57. SET @sql=@sql+ ' WHERE TM.createdDate BETWEEN '''+ @fromDate +''' AND '''+ @toDate +' 23:59:59'+''''
  58. IF @msgType ='O'
  59. SET @sql=@sql+ ' AND ISNULL(MsgType,''O'') NOT IN (''C'',''M'',''MODIFY'')'
  60. IF @msgType ='M'
  61. SET @sql=@sql+ ' AND MsgType IN (''M'',''MODIFY'')'
  62. IF @msgType = 'C'
  63. SET @sql=@sql+ ' AND MsgType ='''+@msgType+''''
  64. IF @paymentMethod IS NOT NULL
  65. SET @sql=@sql+ ' AND RT.paymentMethod='''+@paymentMethod+''''
  66. IF @status IS NOT NULL
  67. SET @sql=@sql+ ' AND status='''+@status+''''
  68. IF @searchBy ='Head Office'
  69. SET @sql=@sql+ ' AND au.agentId = 1001'
  70. IF @searchBy ='Agent'
  71. SET @sql=@sql+ ' AND au.agentId<>1001'
  72. IF @txnType = 'D'
  73. SET @sql=@sql+ ' AND RT.sCountry = ''Nepal'''
  74. IF @txnType = 'I'
  75. SET @sql=@sql+ ' AND RT.sCountry <> ''Nepal'''
  76. SET @sql=@sql+ ' ORDER BY TM.createdDate DESC'
  77. PRINT (@SQL)
  78. EXEC(@sql)
  79. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  80. SELECT 'From Date' head, CONVERT(VARCHAR(10), @fromDate, 101) VALUE
  81. UNION ALL
  82. SELECT 'To Date' head, CONVERT(VARCHAR(10), @toDate, 101) VALUE
  83. UNION ALL
  84. SELECT 'TXN Type' head, case when @txnType ='D' then 'Domestic' else 'International' end VALUE
  85. UNION ALL
  86. SELECT 'Payment Method' head,ISNULL(@paymentMethod,'All') VALUE
  87. UNION ALL
  88. SELECT 'Ticket By' head,ISNULL(@searchBy,'All') VALUE
  89. UNION ALL
  90. SELECT 'Msg Type' head, case when @msgType = 'C' then 'Complain' when @msgType in ('M','Modify') then 'Modify' when @msgType = 'O' then 'Other' else 'All' end VALUE
  91. UNION ALL
  92. SELECT 'Msg Status' head,ISNULL(@status,'All') VALUE
  93. SELECT 'Transaction Complain (Trouble Ticket) View Log' title
  94. END
  95. IF @flag = 's'
  96. BEGIN
  97. SET @table = '(
  98. select
  99. id=TM.rowid,
  100. tranId=TM.tranId,
  101. controlNo=''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + dbo.FNADecryptString(RT.controlNo) + '''''')">'' + dbo.FNADecryptString(RT.controlNo) + ''</a>'',
  102. complainType=isnull(TM.MsgType,''Others''),
  103. userAgent=AM.agentName,
  104. complainUser=TM.createdBy,
  105. complainDate=TM.createdDate,
  106. remarks=message
  107. from tranModifyLog TM WITH(NOLOCK)
  108. inner join remitTran RT WITH(NOLOCK) ON TM.tranId = RT.id-- or rt.controlNo = tm.controlNo)
  109. left join applicationUsers AU WITH(NOLOCK) on AU.userName=TM.createdBy
  110. left join agentMaster AM WITH(NOLOCK) ON AM.agentId=AU.agentId
  111. where [status] =''Not Resolved''
  112. AND TM.MsgType = ''c''
  113. '
  114. SET @sql_filter = ''
  115. IF @controlNo IS NOT NULL
  116. SET @table = @table + ' AND RT.controlNo = ''' + @controlNoEncrypted + ''''
  117. IF @complainUser IS NOT NULL
  118. SET @table = @table + ' AND TM.createdBy LIKE ''%' + @complainUser + '%'''
  119. SET @select_field_list ='
  120. id
  121. ,tranId
  122. ,controlNo
  123. ,complainType
  124. ,userAgent
  125. ,complainUser
  126. ,complainDate
  127. ,remarks
  128. '
  129. SET @table = @table + ') x'
  130. --select @table
  131. --return;
  132. EXEC dbo.proc_paging
  133. @table
  134. ,@sql_filter
  135. ,@select_field_list
  136. ,@extra_field_list
  137. ,@sortBy
  138. ,@sortOrder
  139. ,@pageSize
  140. ,@pageNumber
  141. END
  142. IF @flag='rc'
  143. BEGIN
  144. SET @sql = 'UPDATE tranModifyLog SET
  145. status = ''Resolved''
  146. ,resolvedBy='''+@user+'''
  147. ,resolvedDate='''+cast(GETDATE() as varchar)+'''
  148. WHERE rowId IN (' + @tranId + ')
  149. '
  150. EXEC(@sql)
  151. EXEC proc_errorHandler 0, 'Complain (Trouble Ticket) Solved Successfully.', NULL
  152. END
  153. IF @flag='tranAccessRpt'
  154. BEGIN
  155. SELECT id,tranViewType,agentId,createdBy,createdDate,tranId,remarks FROM tranViewHistory A WITH(NOLOCK)
  156. WHERE A.createdDate BETWEEN @fromDate AND @toDate+' 23:59:59' AND
  157. ISNULL(tranViewType,'A')=ISNULL(@reportType,ISNULL(tranViewType,'A'))
  158. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  159. SELECT 'From Date' head, CONVERT(VARCHAR(10), @fromDate, 101) value
  160. UNION ALL
  161. SELECT 'To Date' head, CONVERT(VARCHAR(10), @toDate, 101) value
  162. UNION ALL
  163. SELECT 'Report Type' head, ISNULL(@reportType,'All') value
  164. SELECT 'Transaction Access Report' title
  165. END
  166. GO