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.

239 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_thrasholdTransIntlReport] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_thrasholdTransIntlReport]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_thrasholdTransIntlReport] 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_thrasholdTransIntlReport]
  12. @flag CHAR(1),
  13. @user VARCHAR(50),
  14. @fromDate VARCHAR(50),
  15. @toDate VARCHAR(50),
  16. @rptNature VARCHAR(1),
  17. @txnAmt VARCHAR(50) = NULL
  18. AS
  19. SET NOCOUNT ON
  20. SET @toDate = @toDate +' 23:59:59'
  21. DECLARE @sql VARCHAR(MAX)
  22. IF @rptNature ='t'
  23. BEGIN
  24. IF @flag = 's'
  25. BEGIN
  26. DECLARE @tblTemp TABLE (txnDate VARCHAR(20),senderName VARCHAR(200),idType VARCHAR(50),idNumber VARCHAR(100))
  27. INSERT INTO @tblTemp(txnDate,senderName,idType,idNumber)
  28. SELECT
  29. txnDate = CONVERT(VARCHAR,rt.createdDate,101),
  30. senderName = rt.senderName,
  31. idType = ts.idType,
  32. idNumber = ts.idNumber
  33. FROM remitTran rt WITH(NOLOCK)
  34. INNER JOIN tranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId
  35. INNER JOIN tranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId
  36. WHERE rt.createdDate BETWEEN @fromDate AND @toDate
  37. AND rt.tranType ='I'
  38. AND rt.tranStatus <> 'Cancel'
  39. GROUP BY rt.senderName,CONVERT(VARCHAR,rt.createdDate,101),ts.idType,ts.idNumber
  40. HAVING SUM(pAmt) >= @txnAmt
  41. ORDER BY rt.senderName,CONVERT(VARCHAR,rt.createdDate,101)
  42. SELECT
  43. [S.N.] = ROW_NUMBER()OVER(PARTITION BY CONVERT(VARCHAR,rt.createdDate,101),rt.senderName ORDER BY CONVERT(VARCHAR,rt.createdDate,101),rt.senderName),
  44. [Txn Date] = CONVERT(VARCHAR,rt.createdDate,101),
  45. [ICN] = '<a href = "#" onclick="OpenInNewWindow('''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?tranId='+ CAST(rt.id AS VARCHAR) +''')">'+dbo.FNADecryptString(rt.controlNo)+'</a>',
  46. [Sender Information] = '<b>Name: '+UPPER(rt.senderName)+
  47. '<br>Address: '+UPPER(ISNULL(sen.address,''))+
  48. '<br>'+UPPER(ISNULL(sen.idType,''))+': '+UPPER(ISNULL(sen.idNumber,''))+'</b>',
  49. [Receiver Information] = '<b>Name: '+UPPER(rt.receiverName)+
  50. CASE WHEN rt.paymentMethod = 'Bank Deposit' THEN '<br>A/C No.: '+ISNULL(rt.accountNo,'') ELSE '<br>Address: '+ISNULL(rec.address,'')+
  51. '<br>'+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idType,'') ELSE ISNULL(rec.idType2,'') END+
  52. ': '+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idNumber,'') ELSE ISNULL(rec.idNumber2,'') END END+'</b>',
  53. [Sender- Agent Name <br> & Place] = ISNULL(rt.sAgentName,'') + '<br><i>'+ ISNULL(rt.sCountry,'')+'</i>',
  54. [Receiver- Agent Name <br> & Place] = ISNULL(rt.pBranchName,'') + '<br><i>'+ ISNULL(pb.agentAddress,'')+'</i>',
  55. [Relationship <br>With Sender] = rt.relWithSender,
  56. [Source Of Fund] = rt.sourceOfFund,
  57. [Amount Involved<br> NPR] = rt.pAmt,
  58. [Remarks] = rt.paymentMethod
  59. FROM remitTran rt WITH(NOLOCK)
  60. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  61. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  62. INNER JOIN @tblTemp t ON t.senderName = rt.senderName
  63. AND t.txnDate = CONVERT(VARCHAR,rt.createdDate,101)
  64. AND ISNULL(t.idNumber,'') = isnull(sen.idNumber,'')
  65. AND ISNULL(t.idType,'') = isnull(sen.idType,'')
  66. INNER JOIN agentMaster sb WITH(NOLOCK) ON rt.sBranch = sb.agentId
  67. LEFT JOIN agentMaster pb WITH(NOLOCK) ON rt.pBranch = pb.agentId
  68. WHERE rt.createdDate BETWEEN @fromDate AND @toDate
  69. AND rt.tranType ='I'
  70. AND rt.tranStatus <>'Cancel'
  71. ORDER BY CONVERT(VARCHAR,rt.createdDate,101),rt.senderName
  72. END
  73. IF @flag = 'r'
  74. BEGIN
  75. DECLARE @tblTemp1 TABLE (txnDate VARCHAR(20),receiverName VARCHAR(200),idType VARCHAR(50),idNumber VARCHAR(100))
  76. INSERT INTO @tblTemp1(txnDate,receiverName,idType,idNumber)
  77. SELECT CONVERT(VARCHAR,rt.paidDate,101),rt.receiverName,rec.idType2,rec.idNumber2
  78. FROM remitTran rt WITH(NOLOCK)
  79. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  80. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  81. WHERE rt.paidDate BETWEEN @fromDate AND @toDate
  82. AND rt.tranType ='I'
  83. GROUP BY rt.receiverName,CONVERT(VARCHAR,rt.paidDate,101),rec.idType2,rec.idNumber2
  84. HAVING SUM(pAmt) >= @txnAmt
  85. ORDER BY rt.receiverName,CONVERT(VARCHAR,rt.paidDate,101)
  86. SELECT
  87. [S.N.] = ROW_NUMBER()OVER(PARTITION BY CONVERT(VARCHAR,rt.paidDate,101),rt.receiverName ORDER BY CONVERT(VARCHAR,rt.paidDate,101),rt.receiverName),
  88. [Paid Date] = CONVERT(VARCHAR,rt.paidDate,101),
  89. [ICN] = '<a href = "#" onclick="OpenInNewWindow('''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?tranId='+ CAST(rt.id AS VARCHAR) +''')">'+dbo.FNADecryptString(rt.controlNo)+'</a>',
  90. [Receiver Information] = '<b>Name: '+UPPER(rt.receiverName)+
  91. CASE WHEN rt.paymentMethod = 'Bank Deposit' THEN '<br>A/C No.: '+ISNULL(rt.accountNo,'') ELSE '<br>Address: '+UPPER(ISNULL(rec.address,''))+
  92. '<br>'+CASE WHEN rec.idNumber2 IS NULL THEN UPPER(ISNULL(rec.idType,'')) ELSE UPPER(ISNULL(rec.idType2,'')) END+
  93. ': '+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idNumber,'') ELSE ISNULL(rec.idNumber2,'') END END+'</b>',
  94. [Sender Information] = '<b>Name: '+UPPER(rt.senderName)+'<br>Address: '+ISNULL(sen.address,'')+'<br>'+ISNULL(sen.idType,'')+': '+ISNULL(sen.idNumber,'')+'</b>',
  95. [Sender- Agent Name <br> & Place] = ISNULL(rt.sAgentName,'') + '<br><i>'+ ISNULL(rt.sCountry,'')+'</i>',
  96. [Receiver- Agent Name <br> & Place] = ISNULL(rt.pBranchName,'') + '<br><i>'+ ISNULL(pb.agentAddress,'')+'</i>',
  97. [Relationship <br>With Sender] = rt.relWithSender,
  98. [Source Of Fund] = rt.sourceOfFund,
  99. [Amount Involved<br> NPR] = rt.pAmt,
  100. [Remarks] = rt.paymentMethod
  101. FROM remitTran rt WITH(NOLOCK)
  102. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  103. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  104. INNER JOIN @tblTemp1 t ON t.receiverName = rt.receiverName
  105. AND t.txnDate = CONVERT(VARCHAR,rt.paidDate,101)
  106. AND t.idNumber = rec.idNumber2
  107. AND t.idType = rec.idType2
  108. INNER JOIN agentMaster sb WITH(NOLOCK) ON rt.sBranch = sb.agentId
  109. INNER JOIN agentMaster pb WITH(NOLOCK) ON rt.pBranch = pb.agentId
  110. WHERE rt.paidDate BETWEEN @fromDate AND @toDate
  111. AND rt.tranType ='I'
  112. AND rt.tranStatus <> 'Cancel'
  113. ORDER BY CONVERT(VARCHAR,rt.paidDate,101),rt.receiverName
  114. END
  115. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  116. SELECT 'Date Range' head, 'From '+CONVERT(VARCHAR,@fromDate,101)+' to '+CONVERT(VARCHAR,@toDate,101) value UNION ALL
  117. SELECT 'Txn Amount' head, 'Above '+dbo.ShowDecimal(@txnAmt) value UNION ALL
  118. SELECT 'Report Nature' head, CASE WHEN @rptNature ='s' THEN 'Suspicious Transaciton' WHEN @rptNature ='t' THEN 'Threshold Transaciton' END value UNION ALL
  119. SELECT 'Report Type' head, CASE WHEN @flag ='s' THEN 'Sender Wise' WHEN @flag ='r' THEN 'Receiver Wise' END
  120. SELECT 'Threshold Transaction Report (International)' title
  121. RETURN;
  122. END
  123. IF @rptNature ='s'
  124. BEGIN
  125. IF @flag = 's'
  126. BEGIN
  127. DECLARE @s_tblTemp TABLE(senderName VARCHAR(200),idType VARCHAR(50),idNumber VARCHAR(100))
  128. INSERT INTO @s_tblTemp(senderName,idType,idNumber)
  129. SELECT rt.senderName,sen.idType,sen.idNumber
  130. FROM remitTran rt WITH(NOLOCK)
  131. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  132. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  133. WHERE rt.createdDate BETWEEN @fromDate AND @toDate
  134. AND rt.tranType ='I'
  135. AND rt.tranStatus <> 'Cancel'
  136. GROUP BY rt.senderName,sen.idType,sen.idNumber
  137. HAVING SUM(pAmt) >= @txnAmt
  138. ORDER BY rt.senderName
  139. SELECT
  140. [S.N.] = ROW_NUMBER()OVER(PARTITION BY rt.senderName ORDER BY rt.senderName),
  141. [Txn Date] = CONVERT(VARCHAR,rt.createdDate,101),
  142. [ICN] = '<a href = "#" onclick="OpenInNewWindow('''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?tranId='+ CAST(rt.id AS VARCHAR) +''')">'+dbo.FNADecryptString(rt.controlNo)+'</a>',
  143. [Sender Information] = '<b>Name: '+UPPER(rt.senderName)+'<br>Address: '+UPPER(ISNULL(sen.address,''))+'<br>'+UPPER(ISNULL(sen.idType,''))+': '+UPPER(ISNULL(sen.idNumber,''))+'</b>',
  144. [Receiver Information] = '<b>Name: '+UPPER(rt.receiverName)+
  145. CASE WHEN rt.paymentMethod = 'Bank Deposit' THEN '<br>A/C No.: '+ISNULL(rt.accountNo,'') ELSE '<br>Address: '+ISNULL(rec.address,'')+
  146. '<br>'+CASE WHEN rec.idNumber2 IS NULL THEN UPPER(ISNULL(rec.idType,'')) ELSE UPPER(ISNULL(rec.idType2,'')) END+
  147. ': '+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idNumber,'') ELSE ISNULL(rec.idNumber2,'') END END+'</b>',
  148. [Sender- Agent Name <br> & Place] = ISNULL(rt.sAgentName,'') + '<br><i>'+ ISNULL(rt.sCountry,'')+'</i>',
  149. [Receiver- Agent Name <br> & Place] = ISNULL(rt.pBranchName,'') + '<br><i>'+ ISNULL(pb.agentAddress,'')+'</i>',
  150. [Relationship <br>With Sender] = rt.relWithSender,
  151. [Source Of Fund] = rt.sourceOfFund,
  152. [Amount Involved<br> NPR] = rt.pAmt,
  153. [Remarks] = rt.paymentMethod
  154. FROM remitTran rt WITH(NOLOCK)
  155. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  156. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  157. INNER JOIN @s_tblTemp t ON t.senderName = rt.senderName
  158. AND ISNULL(t.idNumber,'') = ISNULL(sen.idNumber,'')
  159. AND ISNULL(t.idType,'') = ISNULL(sen.idType,'')
  160. INNER JOIN agentMaster sb WITH(NOLOCK) ON rt.sBranch = sb.agentId
  161. LEFT JOIN agentMaster pb WITH(NOLOCK) ON rt.pBranch = pb.agentId
  162. WHERE rt.createdDate BETWEEN @fromDate AND @toDate
  163. AND rt.tranType ='I'
  164. AND rt.tranStatus <>'Cancel'
  165. ORDER BY rt.senderName,CONVERT(VARCHAR,rt.createdDate,101)
  166. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  167. SELECT 'Date Range' head, 'From '+CONVERT(VARCHAR,@fromDate,101)+' to '+CONVERT(VARCHAR,@toDate,101) value UNION ALL
  168. SELECT 'Txn Amount' head, 'Above '+dbo.ShowDecimal(@txnAmt) value UNION ALL
  169. SELECT 'Report Type' head, CASE WHEN @flag ='s' THEN 'Sender Wise' WHEN @flag ='r' THEN 'Receiver Wise' END
  170. SELECT 'Suspicious Transaction Report (International)' title
  171. RETURN;
  172. END
  173. IF @flag = 'r'
  174. BEGIN
  175. DECLARE @r_tblTemp TABLE(receiverName VARCHAR(200),idType VARCHAR(50),idNumber VARCHAR(100))
  176. INSERT INTO @r_tblTemp(receiverName,idType,idNumber)
  177. SELECT rt.receiverName,rec.idType2,rec.idNumber2
  178. FROM remitTran rt WITH(NOLOCK)
  179. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  180. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  181. WHERE rt.paidDate BETWEEN @fromDate AND @toDate
  182. AND rt.tranType ='I'
  183. GROUP BY rt.receiverName,rec.idType2,rec.idNumber2
  184. HAVING SUM(pAmt) >= @txnAmt
  185. ORDER BY rt.receiverName
  186. SELECT
  187. [S.N.] = ROW_NUMBER()OVER(PARTITION BY rt.receiverName ORDER BY rt.receiverName),
  188. [Paid Date] = CONVERT(VARCHAR,rt.paidDate,101),
  189. [ICN] = '<a href = "#" onclick="OpenInNewWindow('''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?tranId='+ CAST(rt.id AS VARCHAR) +''')">'+dbo.FNADecryptString(rt.controlNo)+'</a>',
  190. [Receiver Information] = '<b>Name: '+UPPER(rt.receiverName)+
  191. CASE WHEN rt.paymentMethod = 'Bank Deposit' THEN '<br>A/C No.: '+ISNULL(rt.accountNo,'') ELSE '<br>Address: '+UPPER(ISNULL(rec.address,''))+
  192. '<br>'+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idType,'') ELSE ISNULL(rec.idType2,'') END+
  193. ': '+CASE WHEN rec.idNumber2 IS NULL THEN ISNULL(rec.idNumber,'') ELSE ISNULL(rec.idNumber2,'') END END+'</b>',
  194. [Sender Information] = '<b>Name: '+UPPER(rt.senderName)+'<br>Address: '+ISNULL(sen.address,'')+'<br>'+ISNULL(sen.idType,'')+': '+ISNULL(sen.idNumber,'')+'</b>',
  195. [Sender- Agent Name <br> & Place] = ISNULL(rt.sAgentName,'') + '<br><i>'+ ISNULL(rt.sCountry,'')+'</i>',
  196. [Receiver- Agent Name <br> & Place] = ISNULL(rt.pBranchName,'') + '<br><i>'+ ISNULL(pb.agentAddress,'')+'</i>',
  197. [Relationship <br>With Sender] = rt.relWithSender,
  198. [Source Of Fund] = rt.sourceOfFund,
  199. [Amount Involved<br> NPR] = rt.pAmt,
  200. [Remarks] = rt.paymentMethod
  201. FROM remitTran rt WITH(NOLOCK)
  202. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  203. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  204. INNER JOIN @r_tblTemp t ON t.receiverName = rt.receiverName
  205. AND isnull(t.idType,'') = isnull(rec.idType2,'')
  206. AND isnull(t.idNumber,'') = isnull(rec.idNumber2,'')
  207. INNER JOIN agentMaster sb WITH(NOLOCK) ON rt.sBranch = sb.agentId
  208. INNER JOIN agentMaster pb WITH(NOLOCK) ON rt.pBranch = pb.agentId
  209. WHERE rt.paidDate BETWEEN @fromDate AND @toDate
  210. AND rt.tranType ='I'
  211. AND rt.tranStatus <>'Cancel'
  212. ORDER BY rt.receiverName,CONVERT(VARCHAR,rt.paidDate,101)
  213. END
  214. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  215. SELECT 'Date Range' head, 'From '+CONVERT(VARCHAR,@fromDate,101)+' to '+CONVERT(VARCHAR,@toDate,101) value UNION ALL
  216. SELECT 'Txn Amount' head, 'Above '+dbo.ShowDecimal(@txnAmt) value UNION ALL
  217. SELECT 'Report Nature' head, CASE WHEN @rptNature ='s' THEN 'Suspicious Transaciton' WHEN @rptNature ='t' THEN 'Threshold Transaciton' END value UNION ALL
  218. SELECT 'Report Type' head, CASE WHEN @flag ='s' THEN 'Sender Wise' WHEN @flag ='r' THEN 'Receiver Wise' END
  219. SELECT 'Suspicious Transaction Report (International)' title
  220. RETURN;
  221. END
  222. GO