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.

724 lines
23 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_amlMisRpt] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_amlMisRpt]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_amlMisRpt] 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_amlMisRpt]
  12. @flag VARCHAR(10)
  13. ,@user VARCHAR(30)
  14. -------------------------------------------
  15. ,@sCountry VARCHAR(50) = NULL
  16. ,@rCountry VARCHAR(50) = NULL
  17. ,@sAgent VARCHAR(50) = NULL
  18. ,@rAgent VARCHAR(50) = NULL
  19. ,@rMode VARCHAR(50) = NULL
  20. ,@dateType VARCHAR(50) = NULL
  21. ,@frmDate VARCHAR(50) = NULL
  22. ,@toDate VARCHAR(50) = NULL
  23. -------------------------------------------
  24. ,@mrType VARCHAR(10) = NULL
  25. -------------------------------------------
  26. ,@pageNumber INT = 1
  27. ,@pageSize INT = 50
  28. ,@isExportFull VARCHAR(1) = NULL
  29. AS
  30. SET NOCOUNT ON
  31. BEGIN TRY
  32. DECLARE @table VARCHAR(MAX)
  33. DECLARE @sql VARCHAR(MAX)
  34. DECLARE @globalFilter VARCHAR(MAX) = ''
  35. DECLARE @URL VARCHAR(MAX) = ''
  36. DECLARE @reportHead VARCHAR(100) = ''
  37. SET @rMode = REPLACE(@rMode,'__',' ')
  38. DECLARE @FilterList TABLE(head VARCHAR(50), value VARCHAR(5000))
  39. SET @pageNumber = ISNULL(@pageNumber, 1)
  40. SET @pageSize = ISNULL(@pageSize, 100)
  41. SET @globalFilter = ' AND rt.tranStatus <> ''Cancel'' and rt.tranType <> ''B'' '
  42. IF @sCountry is not null and @sCountry <> '3rd Party Agent'
  43. BEGIN
  44. INSERT @FilterList
  45. SELECT 'Sender Country', @sCountry
  46. SET @globalFilter = @globalFilter + ' AND rt.sCountry = ''' + @sCountry + ''''
  47. END
  48. IF @rCountry is not null and @rCountry <> '3rd Party Agent'
  49. BEGIN
  50. INSERT @FilterList
  51. SELECT 'Receiver Country', @rCountry
  52. SET @globalFilter = @globalFilter + ' AND rt.pCountry = ''' + @rCountry + ''''
  53. END
  54. IF @sAgent IS NOT NULL
  55. BEGIN
  56. INSERT @FilterList
  57. SELECT 'Sender Agent', am.agentName
  58. FROM agentMaster am WITH(NOLOCK) WHERE agentId = @sAgent
  59. SET @globalFilter = @globalFilter + ' AND rt.sAgent = ''' + @sAgent + ''''
  60. END
  61. IF @rAgent IS NOT NULL
  62. BEGIN
  63. INSERT @FilterList
  64. SELECT 'Receiver Agent', am.agentName
  65. FROM agentMaster am WITH(NOLOCK) WHERE agentId = @rAgent
  66. SET @globalFilter = @globalFilter + ' AND rt.pAgent = ''' + @rAgent + ''''
  67. END
  68. IF @rMode IS NOT NULL
  69. BEGIN
  70. INSERT @FilterList
  71. SELECT 'Receiving Mode', @rMode
  72. SET @globalFilter = @globalFilter + ' AND rt.paymentMethod = ''' + @rMode + ''''
  73. END
  74. INSERT @FilterList
  75. SELECT 'Date Type',
  76. case when @dateType = 'txnDate' then 'TXN Date'
  77. when @dateType = 'confirmDate' then 'Confirm Date'
  78. when @dateType = 'paidDate' then 'Paid Date' end
  79. IF @dateType = 'txnDate'
  80. BEGIN
  81. INSERT @FilterList
  82. SELECT 'From Date', @frmDate
  83. SET @globalFilter = @globalFilter + ' AND rt.createdDate >= ''' + @frmDate + ''''
  84. INSERT @FilterList
  85. SELECT 'To Date', @toDate
  86. SET @globalFilter = @globalFilter + ' AND rt.createdDate <= ''' + @toDate + ' 23:59:59'''
  87. END
  88. IF @dateType = 'confirmDate'
  89. BEGIN
  90. INSERT @FilterList
  91. SELECT 'From Date', @frmDate
  92. SET @globalFilter = @globalFilter + ' AND rt.approvedDate >= ''' + @frmDate + ''''
  93. INSERT @FilterList
  94. SELECT 'To Date', @toDate
  95. SET @globalFilter = @globalFilter + ' AND rt.approvedDate <= ''' + @toDate + ' 23:59:59'''
  96. END
  97. IF @dateType = 'paidDate'
  98. BEGIN
  99. INSERT @FilterList
  100. SELECT 'From Date', @frmDate
  101. SET @globalFilter = @globalFilter + ' AND rt.paidDate >= ''' + @frmDate + ''''
  102. INSERT @FilterList
  103. SELECT 'To Date', @toDate
  104. SET @globalFilter = @globalFilter + ' AND rt.paidDate <= ''' + @toDate + ' 23:59:59'''
  105. END
  106. IF @flag = 'mr'
  107. BEGIN
  108. SET @reportHead ='MIS Report'
  109. IF @mrType = 'ssmt' -->> Same Sender Multiple Txns
  110. BEGIN
  111. SET @URL='"Reports.aspx?dateType='+@dateType+'&frmDate='+@frmDate+'&toDate='+@toDate+'&sCountry='+ISNULL(replace(@sCountry,' ','__'),'')+'&sAgent='+ISNULL(@sAgent,'')
  112. +'&rMode='+ISNULL(REPLACE(@rMode,' ','__'),'')+'&rCountry='+ISNULL(replace(@rCountry,' ','__'),'')
  113. +'&rAgent='+ISNULL(@rAgent,'')
  114. +'&reportName=amlddlreport&flag=ssmt_ddl&senderName=''+ISNULL(REPLACE([Sender_Name],'' '',''__''),'''')+''&country=''+ISNULL(REPLACE(ts.nativecountry,'' '',''__''),'''')+''&idType=''+ISNULL(ts.idType,'''') +''&idNumber=''+ISNULL(ts.idNumber,'''') +''"'
  115. INSERT @FilterList
  116. SELECT 'Search By', 'Same Sender Multiple TXNS Summary'
  117. SET @table = '
  118. SELECT
  119. --[Sender_Member ID]
  120. [Sender_Name] = ''<span class = "link" onclick =ViewAMLDDLReport('+@URL+');>'' + [Sender_Name] + ''</span>''
  121. ,[Sender_Nationality]
  122. ,[Sender_Id type]
  123. ,[Sender_ID Number]
  124. ,[Number of TXN]
  125. ,[Transaction_Amount]
  126. ,[Transaction_Currency]
  127. ,[Transaction_Payout Amount]
  128. ,senderName = [Sender_Name]
  129. FROM
  130. (SELECT
  131. --[Sender_Member ID] = ts.membershipId
  132. [Sender_Name] = rt.SenderName
  133. ,[Sender_Nationality] = ts.nativecountry
  134. ,[Sender_Id type] = ts.idType
  135. ,[Sender_ID Number] = ts.idNumber
  136. ,[Number of TXN] = COUNT(*)
  137. ,[Transaction_Amount] = SUM(rt.cAmt)
  138. ,[Transaction_Currency] = rt.collCurr
  139. ,[Transaction_Payout Amount] = SUM(rt.pAmt)
  140. ,ts.nativecountry
  141. ,ts.idType
  142. ,ts.idNumber
  143. FROM vwremitTran rt WITH(NOLOCK)
  144. LEFT JOIN agentMaster ams WITH(NOLOCK) ON rt.sBranch = ams.agentId
  145. LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId
  146. WHERE 1 = 1 and rt.tranStatus <>''cancel''
  147. '
  148. SET @table = @table + @globalFilter + '
  149. GROUP BY
  150. --ts.membershipId
  151. rt.SenderName
  152. ,ts.nativecountry
  153. ,ts.idType
  154. ,ts.idNumber
  155. ,rt.collCurr
  156. HAVING COUNT(1) > 1
  157. )ts'
  158. IF @isExportFull = 'Y'
  159. BEGIN
  160. SET @sql = '
  161. SELECT
  162. [SN] = [S.N]
  163. --,[Sender_Member ID]
  164. ,[Sender_Name]
  165. ,[Sender_Nationality]
  166. ,[Sender_Id type]
  167. ,[Sender_ID Number]
  168. ,[Number of TXN]
  169. ,[Transaction_Amount]
  170. ,[Transaction_Currency]
  171. ,[Transaction_Payout Amount]
  172. FROM (
  173. SELECT
  174. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC,senderName ) AS [S.N],*
  175. FROM (' + @table + ') x
  176. ) AS tmp'
  177. PRINT @sql
  178. EXEC (@sql)
  179. END
  180. ELSE
  181. BEGIN
  182. SET @sql = 'SELECT
  183. COUNT(*) AS TXNCOUNT
  184. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  185. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  186. FROM (' + @table + ') x'
  187. EXEC (@sql)
  188. SET @sql = '
  189. SELECT
  190. [SN] = [S.N]
  191. --,[Sender_Member ID]
  192. ,[Sender_Name]
  193. ,[Sender_Nationality]
  194. ,[Sender_Id type]
  195. ,[Sender_ID Number]
  196. ,[Number of TXN]
  197. ,[Transaction_Amount]
  198. ,[Transaction_Currency]
  199. ,[Transaction_Payout Amount]
  200. FROM (
  201. SELECT
  202. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC,senderName ) AS [S.N],*
  203. FROM (' + @table + ') x
  204. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  205. PRINT @sql
  206. EXEC (@sql)
  207. END
  208. END
  209. IF @mrType = 'sbmt' -->> Same Beneficiary Multiple TXNS
  210. BEGIN
  211. SET @URL='"Reports.aspx?dateType='+@dateType+'&frmDate='+@frmDate+'&toDate='+@toDate+'&sCountry='+ISNULL(replace(@sCountry,' ','__'),'')+'&sAgent='+ISNULL(@sAgent,'')
  212. +'&rMode='+ISNULL(REPLACE(@rMode,' ','__'),'')+'&rCountry='+ISNULL(replace(@rCountry,' ','__'),'')+'&rAgent='+ISNULL(@rAgent,'')
  213. +'&reportName=amlddlreport&isAdmin=Y&flag=sbmt_ddl&recName=''+ISNULL(REPLACE(rt.receiverName,'' '',''__''),'''')+''&country=''+ISNULL(rt.pCountry,'''')+''"'
  214. INSERT @FilterList
  215. SELECT 'Search By', 'Same Beneficiary Multiple TXNS Summary'
  216. SET @table = '
  217. SELECT
  218. [Receiver''s_Name] = rt.receiverName
  219. ,[Receiver''s_Payout Country] = ''<span class = "link" onclick =ViewAMLDDLReport('+@URL+');>'' +rt.pCountry + ''</span>''
  220. ,[Number of TXN] = COUNT(*)
  221. ,[Payout_USD AMT] = SUM(ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0))
  222. ,[Payout_Currency] = rt.payoutCurr
  223. ,[Payout_Amount] = SUM(rt.pAmt)
  224. FROM vwremitTran rt WITH(NOLOCK)
  225. LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId
  226. WHERE 1 = 1
  227. '
  228. SET @table = @table + @globalFilter + '
  229. GROUP BY
  230. rt.receiverName
  231. ,rt.pCountry
  232. ,rt.payoutCurr
  233. HAVING COUNT(*) > 1
  234. '
  235. IF @isExportFull = 'Y'
  236. BEGIN
  237. SET @sql = '
  238. SELECT
  239. [Sno.] = [S.N]
  240. ,[Receiver''s_Name]
  241. ,[Receiver''s_Payout Country]
  242. ,[Number of TXN]
  243. ,[Payout_USD AMT]
  244. ,[Payout_Currency]
  245. ,[Payout_Amount]
  246. FROM (
  247. SELECT
  248. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],*
  249. FROM (' + @table + ') x
  250. ) AS tmp '
  251. PRINT @sql
  252. EXEC (@sql)
  253. END
  254. ELSE
  255. BEGIN
  256. SET @sql = 'SELECT
  257. COUNT(*) AS TXNCOUNT
  258. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  259. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  260. FROM (' + @table + ') x'
  261. EXEC (@sql)
  262. SET @sql = '
  263. SELECT
  264. [Sno.] = [S.N]
  265. ,[Receiver''s_Name]
  266. ,[Receiver''s_Payout Country]
  267. ,[Number of TXN]
  268. ,[Payout_USD AMT]
  269. ,[Payout_Currency]
  270. ,[Payout_Amount]
  271. FROM (
  272. SELECT
  273. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],*
  274. FROM (' + @table + ') x
  275. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  276. PRINT @sql
  277. EXEC (@sql)
  278. END
  279. END
  280. IF @mrType = 'sssb' -->> Same Sender to Same Beneficiary
  281. BEGIN
  282. INSERT @FilterList
  283. SELECT 'Search By', 'Same Sender to Same Beneficiary'
  284. SET @table = '
  285. SELECT
  286. [TXN No.] = rt.id
  287. ,[TXN Date] = rt.createdDate
  288. ,[Sender''s_Membership ID] = ts.membershipId
  289. ,[Sender''s_Name] = rt.senderName
  290. ,[Sender''s_Nationality] = ts.nativeCountry
  291. ,[Sender''s_ID Type] = ts.idType
  292. ,[Sender''s_ID Number] = ts.idNumber
  293. ,[Number of TXN] = 1
  294. ,[Receiver''s_Name] = rt.receiverName
  295. ,[Receiver''s_Payout Country] = rt.pCountry
  296. ,[Collection_USD AMT] = SUM(ISNULL(rt.cAmt / (NULLIF(rt.sCurrCostRate, 0)+ISNULL(RT.scurrhomargin,0)), 0))
  297. ,[Collection_Currency] = rt.collCurr
  298. ,[Collection_Amount] = rt.cAmt
  299. ,[Payout_USD AMT] = (ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0))
  300. ,[Payout_Currency] = rt.payoutCurr
  301. ,[Payout_Amount] = (rt.pAmt)
  302. ,[Payout_Branch] = rt.pBranchName
  303. ,[Posted By] = rt.createdBy
  304. FROM vwremitTran rt WITH(NOLOCK)
  305. LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId
  306. LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId
  307. WHERE 1 = 1 AND rt.senderName = rt.receiverName
  308. '
  309. SET @table = @table + @globalFilter
  310. IF @isExportFull = 'Y'
  311. BEGIN
  312. SET @sql = '
  313. SELECT
  314. [Sno.] = [S.N]
  315. ,[TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST([TXN No.] AS VARCHAR(50)) + '');">'' + CAST([TXN No.] AS VARCHAR(50)) + ''</span>''
  316. ,[TXN Date]
  317. ,[Sender''s_Membership ID]
  318. ,[Sender''s_Name]
  319. ,[Sender''s_Nationality]
  320. ,[Sender''s_Id type]
  321. ,[Sender''s_ID Number]
  322. ,[Receiver''s_Name]
  323. ,[Receiver''s_Payout Country]
  324. ,[Collection_USD AMT]
  325. ,[Collection_Currency]
  326. ,[Collection_Amount]
  327. ,[Payout_USD AMT]
  328. ,[Payout_Currency]
  329. ,[Payout_Amount]
  330. ,[Payout_Branch]
  331. ,[Posted By]
  332. FROM (
  333. SELECT
  334. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],*
  335. FROM (' + @table + ') x
  336. ) AS tmp '
  337. PRINT @sql
  338. EXEC (@sql)
  339. END
  340. ELSE
  341. BEGIN
  342. SET @sql = 'SELECT
  343. COUNT(*) AS TXNCOUNT
  344. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  345. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  346. FROM (' + @table + ') x'
  347. PRINT @sql
  348. EXEC (@sql)
  349. SET @sql = '
  350. SELECT
  351. [Sno.] = [S.N]
  352. ,[TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST([TXN No.] AS VARCHAR(50)) + '');">'' + CAST([TXN No.] AS VARCHAR(50)) + ''</span>''
  353. ,[TXN Date]
  354. ,[Sender''s_Membership ID]
  355. ,[Sender''s_Name]
  356. ,[Sender''s_Nationality]
  357. ,[Sender''s_Id type]
  358. ,[Sender''s_ID Number]
  359. ,[Receiver''s_Name]
  360. ,[Receiver''s_Payout Country]
  361. ,[Collection_USD AMT]
  362. ,[Collection_Currency]
  363. ,[Collection_Amount]
  364. ,[Payout_USD AMT]
  365. ,[Payout_Currency]
  366. ,[Payout_Amount]
  367. ,[Payout_Branch]
  368. ,[Posted By]
  369. FROM (
  370. SELECT
  371. ROW_NUMBER() OVER (ORDER BY [Number of TXN] DESC) AS [S.N],*
  372. FROM (' + @table + ') x
  373. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  374. PRINT @sql
  375. EXEC (@sql)
  376. END
  377. END
  378. IF @mrType = 'sncrc' -->> Sender's Native Country and Receiver's Country differs
  379. BEGIN
  380. INSERT @FilterList
  381. SELECT 'Search By', 'Sender''s Native Country and Receiver''s Country differs'
  382. SET @table = '
  383. SELECT
  384. [TXN No.] = rt.id
  385. ,[TXN Date] = rt.createdDate
  386. ,[Sender''s_Name] = rt.senderName
  387. ,[Sender''s_Nationality] = ts.nativeCountry
  388. ,[Sender''s_Id type] = isnull(ts.idType,'''')+''-''+ isnull(ts.idNumber,'''')
  389. ,[Number of TXN] = 1
  390. ,[Receiver''s_Name] = rt.receiverName
  391. ,[Receiver''s_Id type] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber)
  392. ,[Receiver''s_Payout Country] = rt.pCountry
  393. ,[Collection_USD AMT] = (ISNULL(rt.cAmt / NULLIF(rt.sCurrCostRate, 0), 0))
  394. ,[Collection_Currency] = rt.collCurr
  395. ,[Collection_Amount] = rt.cAmt
  396. ,[Payout_USD AMT] = (ISNULL(rt.tAmt / NULLIF(rt.sCurrCostRate, 0), 0))
  397. ,[Payout_Currency] = rt.payoutCurr
  398. ,[Payout_Amount] = (rt.pAmt)
  399. ,[Receiver''s_Payout Branch] = rt.pBranchName
  400. ,[Posted By] = rt.createdBy
  401. FROM vwremitTran rt WITH(NOLOCK)
  402. LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId
  403. LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId
  404. WHERE REPLACE(ts.nativeCountry,''NPL'',''Nepal'') <> rt.pCountry
  405. '
  406. SET @table = @table + @globalFilter
  407. IF @isExportFull = 'Y'
  408. BEGIN
  409. SET @sql = '
  410. SELECT
  411. [Sno.] = [S.N]
  412. ,[TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST([TXN No.] AS VARCHAR(50)) + '');">'' + CAST([TXN No.] AS VARCHAR(50)) + ''</span>''
  413. ,[TXN Date]
  414. ,[Sender''s_Name]
  415. ,[Sender''s_Nationality]
  416. ,[Sender''s_Id type]
  417. ,[Receiver''s_Name]
  418. ,[Receiver''s_Id type]
  419. ,[Receiver''s_Payout Country]
  420. ,[Receiver''s_Payout Branch]
  421. ,[Collection_USD AMT]
  422. ,[Collection_Currency]
  423. ,[Collection_Amount]
  424. ,[Payout_USD AMT]
  425. ,[Payout_Currency]
  426. ,[Payout_Amount]
  427. ,[Posted By]
  428. FROM (
  429. SELECT
  430. ROW_NUMBER() OVER (ORDER BY [Sender''s_Name]) AS [S.N],*
  431. FROM (' + @table + ') x
  432. ) AS tmp'
  433. PRINT @sql
  434. EXEC (@sql)
  435. END
  436. ELSE
  437. BEGIN
  438. SET @sql = 'SELECT
  439. COUNT(*) AS TXNCOUNT
  440. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  441. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  442. FROM (' + @table + ') x'
  443. PRINT @sql
  444. EXEC (@sql)
  445. SET @sql = '
  446. SELECT
  447. [Sno.] = [S.N]
  448. ,[TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST([TXN No.] AS VARCHAR(50)) + '');">'' + CAST([TXN No.] AS VARCHAR(50)) + ''</span>''
  449. ,[TXN Date]
  450. ,[Sender''s_Name]
  451. ,[Sender''s_Nationality]
  452. ,[Sender''s_Id type]
  453. ,[Receiver''s_Name]
  454. ,[Receiver''s_Id type]
  455. ,[Receiver''s_Payout Country]
  456. ,[Receiver''s_Payout Branch]
  457. ,[Collection_USD AMT]
  458. ,[Collection_Currency]
  459. ,[Collection_Amount]
  460. ,[Payout_USD AMT]
  461. ,[Payout_Currency]
  462. ,[Payout_Amount]
  463. ,[Posted By]
  464. FROM (
  465. SELECT
  466. ROW_NUMBER() OVER (ORDER BY [Sender''s_Name]) AS [S.N],*
  467. FROM (' + @table + ') x
  468. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  469. PRINT @sql
  470. EXEC (@sql)
  471. END
  472. END
  473. IF @mrType = 'ssmtd' -->> Same Sender Multiple Txns
  474. BEGIN
  475. INSERT @FilterList
  476. SELECT 'Search By', 'Same Sender Multiple TXN Detail'
  477. CREATE TABLE #SameSenderMultipleTxn(membershipId VARCHAR(50) ,senderName VARCHAR(200), nativeCountry VARCHAR(100), idType varchar(50),idNumber varchar(50))
  478. DECLARE @SUMMARYTBL VARCHAR(MAX)
  479. SET @SUMMARYTBL ='SELECT
  480. membershipId = ts.membershipId
  481. ,rt.SenderName
  482. ,ts.nativecountry
  483. ,ts.idType
  484. ,ts.idNumber
  485. FROM vwremitTran rt WITH(NOLOCK)
  486. LEFT JOIN agentMaster ams WITH(NOLOCK) ON rt.sBranch = ams.agentId
  487. LEFT JOIN vwtranSenders ts WITH(NOLOCK) ON rt.id = ts.tranId
  488. WHERE 1 = 1'
  489. SET @SUMMARYTBL = @SUMMARYTBL + @globalFilter + '
  490. GROUP BY
  491. ts.membershipId
  492. ,rt.SenderName
  493. ,ts.nativecountry
  494. ,ts.idType
  495. ,ts.idNumber
  496. HAVING COUNT(*) > 1'
  497. INSERT INTO #SameSenderMultipleTxn(membershipId,senderName,nativeCountry,idType,idNumber)
  498. EXEC (@SUMMARYTBL)
  499. SET @table ='
  500. SELECT
  501. [S.N] = ROW_NUMBER() OVER (ORDER BY RT.senderName),
  502. [TXN Date] = RT.createdDate,
  503. [TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST(RT.id AS VARCHAR(50)) + '');">'' + CAST(RT.id AS VARCHAR) + ''</span>'',
  504. [Sender Name] = upper(RT.senderName),
  505. [Sender ID] = isnull(ts.idType,'''')+''-''+ isnull(ts.idNumber,''''),
  506. [Receiver Name] = RT.receiverName,
  507. [Receiver ID] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber),
  508. [Receiving_Country] = RT.pCountry,
  509. [Receiving_Branch] = RT.pBranchName,
  510. [Receiving_Currency] = RT.payoutCurr,
  511. [Receiving_Amount] = RT.pAmt,
  512. [Collection_Currency] = RT.collCurr,
  513. [Collection_Amount] = '+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+',
  514. [Sending_Country] = RT.sCountry,
  515. [Sending_USD Amount] = ('+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+'/RT.sCurrCostRate),
  516. [Sending_Agent] = RT.sAgentName,
  517. [Sending_Branch] = RT.sBranchName,
  518. [Sending_User] = RT.createdBy
  519. FROM vwremitTran RT WITH (NOLOCK)
  520. inner JOIN vwtranSenders TS WITH (NOLOCK) ON RT.id=TS.tranId
  521. inner JOIN vwtranReceivers TR WITH (NOLOCK) ON RT.id=TR.tranId
  522. inner JOIN
  523. (
  524. select * from #SameSenderMultipleTxn
  525. ) temp1 on isnull(temp1.nativeCountry,'''') = isnull(TS.nativecountry,'''')
  526. and isnull(temp1.idType,'''') = isnull(TS.idType,'''')
  527. and isnull(temp1.idNumber,'''') = isnull(TS.idNUmber,'''')
  528. and isnull(temp1.senderName,'''') = RT.senderName
  529. WHERE 1=1 '
  530. SET @table = @table + @globalFilter;
  531. IF @isExportFull = 'Y'
  532. BEGIN
  533. SET @sql = '
  534. SELECT *
  535. FROM (
  536. SELECT *
  537. FROM (' + @table + ') x
  538. ) AS tmp '
  539. PRINT @sql
  540. EXEC (@sql)
  541. END
  542. ELSE
  543. BEGIN
  544. SET @sql = 'SELECT
  545. COUNT(*) AS TXNCOUNT
  546. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  547. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  548. FROM (' + @table + ') x'
  549. PRINT @sql
  550. EXEC (@sql)
  551. SET @sql = '
  552. SELECT *
  553. FROM (
  554. SELECT *
  555. FROM (' + @table + ') x
  556. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  557. PRINT @sql
  558. EXEC (@sql)
  559. END
  560. END
  561. IF @mrType = 'sbmtd' -->> Same Beneficiary Multiple TXNS
  562. BEGIN
  563. INSERT @FilterList
  564. SELECT 'Search By', 'Same Beneficiary Multiple TXN Detail'
  565. CREATE TABLE #SameBeneficiaryMultipleTxn(receiverName VARCHAR(50) ,pCountry VARCHAR(200))
  566. DECLARE @SUMMARYTBL1 VARCHAR(MAX)
  567. SET @SUMMARYTBL1 ='SELECT
  568. rt.receiverName
  569. ,rt.pCountry
  570. FROM vwremitTran rt WITH(NOLOCK)
  571. LEFT JOIN vwtranReceivers tr WITH(NOLOCK) ON rt.id = tr.tranId
  572. WHERE 1 = 1'
  573. SET @SUMMARYTBL1 = @SUMMARYTBL1 + @globalFilter + '
  574. GROUP BY
  575. rt.receiverName
  576. ,rt.pCountry
  577. HAVING COUNT(*) > 1'
  578. INSERT INTO #SameBeneficiaryMultipleTxn(receiverName,pCountry)
  579. EXEC (@SUMMARYTBL1)
  580. SET @table ='
  581. SELECT
  582. [S.N] = ROW_NUMBER() OVER (ORDER BY RT.receiverName),
  583. [TXN Date] = RT.createdDate,
  584. [TXN No.] = ''<span class = "link" onclick ="ViewTranDetail('' + CAST(RT.id AS VARCHAR(50)) + '');">'' + CAST(RT.id AS VARCHAR) + ''</span>'',
  585. [Receiver Name] = UPPER(RT.receiverName),
  586. [Sender Name] = UPPER(RT.senderName),
  587. [Receiver ID] = isnull(tr.idType2,tr.idType)+''-''+ isnull(tr.idNumber2,tr.idNumber),
  588. [Sending_Country] = RT.sCountry,
  589. [Sending_Agent] = RT.sAgentName,
  590. [Sending_Branch] = RT.sBranchName,
  591. [Sending_User] = RT.createdBy,
  592. [USD Amount] = ('+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+'/RT.sCurrCostRate),
  593. [Collection_Currency] = RT.collCurr,
  594. [Collection_Amount] = '+CASE WHEN @flag='sbc_ddl' THEN 'RT.tAmt' ELSE 'RT.cAmt' END+',
  595. [Receiving_Currency] = RT.payoutCurr,
  596. [Receiving_Amount] = RT.pAmt,
  597. [Receiving_Branch] = RT.pBranchName,
  598. [Receiving_Country] = RT.pCountry
  599. FROM vwremitTran RT WITH (NOLOCK)
  600. INNER JOIN vwtranSenders TS WITH (NOLOCK) ON RT.id=TS.tranId
  601. INNER JOIN vwtranReceivers TR WITH (NOLOCK) ON RT.id=TR.tranId
  602. INNER JOIN
  603. (
  604. SELECT * FROM #SameBeneficiaryMultipleTxn
  605. ) temp1 on isnull(temp1.receiverName,'''') = isnull(RT.receiverName,'''')
  606. and isnull(temp1.pCountry,'''') = isnull(RT.pCountry,'''')
  607. WHERE 1=1 '
  608. SET @table = @table + @globalFilter;
  609. IF @isExportFull = 'Y'
  610. BEGIN
  611. SET @sql = '
  612. SELECT *
  613. FROM (
  614. SELECT *
  615. FROM (' + @table + ') x
  616. ) AS tmp '
  617. PRINT @sql
  618. EXEC (@sql)
  619. END
  620. ELSE
  621. BEGIN
  622. SET @sql = 'SELECT
  623. COUNT(*) AS TXNCOUNT
  624. ,' + CAST(@pageSize AS VARCHAR) + ' PAGESIZE
  625. ,' + CAST(@pageNumber AS VARCHAR) + ' PAGENUMBER
  626. FROM (' + @table + ') x'
  627. PRINT @sql
  628. EXEC (@sql)
  629. SET @sql = '
  630. SELECT *
  631. FROM (
  632. SELECT *
  633. FROM (' + @table + ') x
  634. ) AS tmp WHERE tmp.[S.N] BETWEEN ' + CAST(((@pageNumber - 1) * @pageSize + 1) AS VARCHAR) + ' AND ' + CAST(@pageNumber * @pageSize AS VARCHAR)
  635. PRINT @sql
  636. EXEC (@sql)
  637. END
  638. END
  639. END
  640. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  641. SELECT * FROM @FilterList
  642. SELECT 'AML Reports : '+@reportHead title
  643. END TRY
  644. BEGIN CATCH
  645. IF @@TRANCOUNT > 0
  646. ROLLBACK TRANSACTION
  647. DECLARE @errorMessage VARCHAR(MAX)
  648. SET @errorMessage = ERROR_MESSAGE()
  649. EXEC proc_errorHandler 1, @errorMessage ,NULL
  650. END CATCH
  651. GO