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.

602 lines
46 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_tranAnalysisRptCH] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE procEDURE [dbo].[proc_tranAnalysisRptCH]
  9. @FLAG VARCHAR(20),
  10. @FROMDATE VARCHAR(20) = NULL,
  11. @TODATE VARCHAR(30) = NULL,
  12. @DATETYPE VARCHAR(5) = NULL,
  13. @SendingAgent VARCHAR(50) = NULL,
  14. @SendingCountry VARCHAR(50) = NULL,
  15. @SendingBranch VARCHAR(50) = NULL,
  16. @ReceivingCountry VARCHAR(50) = NULL,
  17. @ReecivingAgent VARCHAR(50) = NULL,
  18. @ReceivingBranch VARCHAR(50) = NULL,
  19. @Id VARCHAR(50) = NULL,
  20. @ReportType VARCHAR(50) = NULL,
  21. @GROUPBY VARCHAR(50) = NULL,
  22. @status VARCHAR(50) = NULL,
  23. @controlNo VARCHAR(50) = NULL,
  24. @sLocation VARCHAR(50) = NULL,
  25. @rLocation VARCHAR(50) = NULL,
  26. @rZone VARCHAR(50) = NULL,
  27. @rDistrict VARCHAR(50) = NULL,
  28. @sZone VARCHAR(50) = NULL,
  29. @sDistrict VARCHAR(50) = NULL,
  30. @tranType VARCHAR(50) = NULL,
  31. @USER VARCHAR(50) = NULL,
  32. @pageSize VARCHAR(50) = NULL,
  33. @pageNumber VARCHAR(50) = NULL,
  34. @groupById VARCHAR(200)= NULL,
  35. @searchBy VARCHAR(50) = NULL,
  36. @searchByText VARCHAR(200)= NULL,
  37. @fromTime VARCHAR(20) = NULL,
  38. @toTime VARCHAR(20) = NULL,
  39. @isExportFull VARCHAR(1) = NULL
  40. AS
  41. SET NOCOUNT ON;
  42. SET ANSI_NULLS ON;
  43. IF @rZone ='All'
  44. set @rZone = null
  45. if @sZone ='All'
  46. set @sZone= null
  47. IF @rDistrict ='All'
  48. set @rDistrict = null
  49. if @sDistrict ='All'
  50. set @sDistrict= null
  51. IF @rLocation ='All'
  52. set @rLocation = null
  53. if @sLocation ='All'
  54. set @sLocation= null
  55. IF @status ='Unpaid'
  56. set @status = 'Payment'
  57. IF @GROUPBY = 'Datewise'
  58. SET @FLAG = 'Datewise'
  59. DECLARE @DateCondition VARCHAR(50),
  60. @GroupCondition varchar(50),
  61. @ReportTypeCond VARCHAR(50),
  62. @SQL VARCHAR(MAX),
  63. @SQL1 VARCHAR(MAX),
  64. @maxReportViewDays INT,
  65. @GroupSelect VARCHAR(50),
  66. @GroupId VARCHAR(50),
  67. @Currency VARCHAR(50),
  68. @Amt VARCHAR(50),
  69. @statusField varchar(50),
  70. @Date VARCHAR(50)
  71. SET @fromDate=@fromDate+' '+@fromTime
  72. SET @toDate= @toDate+' '+@toTime
  73. SELECT @maxReportViewDays=ISNULL(maxReportViewDays,60) FROM applicationUsers WHERE userName = @user
  74. SELECT @DateCondition = CASE
  75. WHEN @DATETYPE = 't' THEN 'createdDate'
  76. WHEN @DATETYPE = 'S' THEN 'approvedDate'
  77. WHEN @DATETYPE = 'P' THEN 'paidDate'
  78. WHEN @DATETYPE = 'C' THEN 'cancelApprovedDate'
  79. END
  80. SELECT @GroupCondition = CASE WHEN @GROUPBY = 'SC' THEN 'sCountry'
  81. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  82. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  83. WHEN @GROUPBY = 'SL' THEN 'SLOC.districtName'
  84. WHEN @GROUPBY = 'SA' THEN 'sAgentName'
  85. WHEN @GROUPBY = 'SB' THEN 'sBranchName'
  86. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  87. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneName'
  88. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtName'
  89. WHEN @GROUPBY = 'RL' THEN 'PLOC.locationName'
  90. WHEN @GROUPBY = 'RA' THEN 'pAgentName'
  91. WHEN @GROUPBY = 'RB' THEN 'pBranchName'
  92. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)' END
  93. ,@Currency = CASE WHEN @GROUPBY IN ('SC','SA','SB','SZ','SD','SL') THEN 'collCurr'
  94. WHEN @GROUPBY IN ('RC','RA','RB','RZ','RD','RL') THEN 'payoutCurr' END
  95. ,@Amt = CASE WHEN @GROUPBY IN ('SC','SA','SB','SZ','SD','SL') THEN 'tAmt'
  96. WHEN @GROUPBY IN ('RC','RA','RB','RZ','RD','RL') THEN 'pAmt' END
  97. ,@GroupSelect = CASE WHEN @GROUPBY = 'SC' THEN 'Sending Country'
  98. WHEN @GROUPBY = 'SZ' THEN 'Sending Zone'
  99. WHEN @GROUPBY = 'SD' THEN 'Sending District'
  100. WHEN @GROUPBY = 'SL' THEN 'Sending Location'
  101. WHEN @GROUPBY = 'SA' THEN 'Sending Agent'
  102. WHEN @GROUPBY = 'SB' THEN 'Sending Branch'
  103. WHEN @GROUPBY = 'RC' THEN 'Receiving Country'
  104. WHEN @GROUPBY = 'RZ' THEN 'Receiving Zone'
  105. WHEN @GROUPBY = 'RD' THEN 'Receiving District'
  106. WHEN @GROUPBY = 'RL' THEN 'Receiving Location'
  107. WHEN @GROUPBY = 'RA' THEN 'Receiving Agent'
  108. WHEN @GROUPBY = 'RB' THEN 'Receiving Branch'
  109. WHEN @GROUPBY = 'Datewise' THEN
  110. CASE
  111. WHEN @DATETYPE = 't' THEN 'TXN Date'
  112. WHEN @DATETYPE = 'S' THEN 'Confirm Date'
  113. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  114. WHEN @DATETYPE = 'C' THEN 'Canecel Date'
  115. END
  116. WHEN @GROUPBY = 'detail' THEN CASE
  117. WHEN @DATETYPE = 't' THEN 'TXN Date'
  118. WHEN @DATETYPE = 'S' THEN 'Confirm Date'
  119. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  120. WHEN @DATETYPE = 'C' THEN 'Canecel Date' END
  121. END
  122. ,@GroupId =CASE WHEN @GROUPBY = 'SC' THEN 'sCountry'
  123. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  124. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  125. WHEN @GROUPBY = 'SL' THEN 'SLOC.districtName'
  126. WHEN @GROUPBY = 'SA' THEN 'sAgent'
  127. WHEN @GROUPBY = 'SB' THEN 'sBranch'
  128. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  129. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneName'
  130. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtName'
  131. WHEN @GROUPBY = 'RL' THEN 'PLOC.locationName'
  132. WHEN @GROUPBY = 'RA' THEN 'pAgent'
  133. WHEN @GROUPBY = 'RB' THEN 'pBranch'
  134. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)'
  135. END
  136. ,@ReportTypeCond = CASE WHEN @GROUPBY = 'SC' THEN 'sCountry'
  137. WHEN @GROUPBY = 'SZ' THEN 'SBRANCH.agentState'
  138. WHEN @GROUPBY = 'SD' THEN 'SBRANCH.agentDistrict'
  139. WHEN @GROUPBY = 'SL' THEN 'SBRANCH.agentLocation'
  140. WHEN @GROUPBY = 'SA' THEN 'sAgent'
  141. WHEN @GROUPBY = 'SB' THEN 'sBranch'
  142. WHEN @GROUPBY = 'RC' THEN 'pCountry'
  143. WHEN @GROUPBY = 'RZ' THEN 'PLOC.zoneId'
  144. WHEN @GROUPBY = 'RD' THEN 'PLOC.districtId'
  145. WHEN @GROUPBY = 'RL' THEN 'MAIN.pLocation'
  146. WHEN @GROUPBY = 'RA' THEN 'pAgent'
  147. WHEN @GROUPBY = 'RB' THEN 'pBranch'
  148. WHEN @GROUPBY = 'Datewise' THEN 'CONVERT(VARCHAR,MAIN.'+@DateCondition+' ,101)'
  149. END
  150. ,@statusField = CASE WHEN @status IN ('Unpaid','Paid') THEN 'payStatus'
  151. WHEN @status='Cancel' THEN 'tranStatus' END
  152. IF OBJECT_ID('tempdb..#listBranch') IS NOT NULL
  153. DROP TABLE #listBranch
  154. CREATE TABLE #listBranch (branchId INT,branchName VARCHAR(200))
  155. INSERT INTO #listBranch(branchId)
  156. SELECT DISTINCT agentId FROM dbo.FNAAgentUserListForCH(@user) x WHERE agentId IS NOT NULL
  157. IF @controlNo IS NULL
  158. BEGIN
  159. IF @groupById IS NOT NULL OR @groupById<>''
  160. BEGIN
  161. IF @GROUPBY='sc'
  162. SET @SendingCountry=@groupById
  163. IF @GROUPBY='sz'
  164. SET @sZone=@groupById
  165. IF @GROUPBY='sd'
  166. SET @sDistrict=@groupById
  167. IF @GROUPBY='sl'
  168. SET @sLocation=@groupById
  169. IF @GROUPBY='sa'
  170. SET @SendingAgent=@groupById
  171. IF @GROUPBY='sb'
  172. SET @SendingBranch=@groupById
  173. IF @GROUPBY='rz'
  174. SET @rZone=@groupById
  175. IF @GROUPBY='rd'
  176. SET @rDistrict=@groupById
  177. IF @GROUPBY='rl'
  178. SET @rLocation=@groupById
  179. IF @GROUPBY='ra'
  180. SET @ReecivingAgent=@groupById
  181. IF @GROUPBY='rb'
  182. SET @ReceivingBranch=@groupById
  183. IF @GROUPBY='rc'
  184. SET @ReceivingCountry=@groupById
  185. IF @GROUPBY='Datewise'
  186. SET @Date=@groupById
  187. SET @GROUPBY='DETAIL'
  188. SET @FLAG='MAIN'
  189. SET @GroupSelect=CASE
  190. WHEN @DATETYPE = 'S' THEN 'Confirm Date'
  191. WHEN @DATETYPE = 't' THEN 'TXN Date'
  192. WHEN @DATETYPE = 'P' THEN 'Paid Date'
  193. WHEN @DATETYPE = 'C' THEN 'Canecel Date' END
  194. END
  195. IF @FLAG = 'MAIN' AND @GROUPBY = 'DETAIL'
  196. BEGIN
  197. SET @SQL ='SELECT
  198. [Control No] =''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(MAIN.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(controlNo)+''</a>''
  199. ,['+ @GroupSelect +'] = CONVERT(VARCHAR,MAIN.'+ @DATECONDITION +',101)
  200. ,[Sending Country] = sCountry
  201. ,[Sending Agent] = sAgentName
  202. ,[Sending Branch] = sBranchName
  203. ,[Sending Amt] = tAmt
  204. ,[Sending Currency] = collCurr
  205. ,[Status] = MAIN.tranStatus
  206. ,[Receiving Country] = ISNULL(pCountry,''-'')
  207. ,[Receiving Location] = PLOC.locationName
  208. ,[Receiving Agent] = case when MAIN.paymentMethod=''Bank Deposit'' then MAIN.pBankName else ISNULL(MAIN.pAgentName,''-'') end
  209. ,[Receiving Branch] = case when MAIN.paymentMethod=''Bank Deposit'' then MAIN.pBankBranchName else ISNULL(MAIN.pBranchName,''-'') end
  210. ,[Receiving Amt] = pAmt
  211. ,[Account No.] = ISNULL(MAIN.accountNo,''-'')
  212. ,[Tran Type] = MAIN.paymentMethod
  213. ,[Sender Name]=TSEND.firstName + ISNULL('' '' + TSEND.middleName, '''') + ISNULL('' '' + TSEND.lastName1, '''') + ISNULL('' '' + TSEND.lastName2,'''')
  214. ,[Receiver Name]=TREC.firstName + ISNULL('' '' + TREC.middleName, '''') + ISNULL('' '' + TREC.lastName1, '''') + ISNULL('' '' + TREC.lastName2, '''')
  215. FROM vwremitTran MAIN WITH(NOLOCK)
  216. INNER JOIN #listBranch T ON MAIN.sBranch=T.branchId
  217. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  218. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  219. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  220. LEFT JOIN vwtranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  221. LEFT JOIN vwtranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  222. WHERE MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  223. IF @SendingCountry IS NOT NULL
  224. SET @SQL = @SQL + ' AND sCountry = ''' + @SendingCountry + ''''
  225. IF @SendingAgent IS NOT NULL
  226. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  227. IF @ReceivingCountry IS NOT NULL
  228. SET @SQL = @SQL + ' AND pCountry = ''' + @ReceivingCountry + ''''
  229. IF @SendingBranch IS NOT NULL
  230. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  231. IF @ReecivingAgent IS NOT NULL
  232. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  233. IF @ReceivingBranch IS NOT NULL
  234. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  235. IF @status IS NOT NULL
  236. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  237. IF @sLocation IS NOT NULL
  238. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  239. IF @rLocation IS NOT NULL
  240. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  241. IF @sZone IS NOT NULL
  242. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  243. IF @rZone IS NOT NULL
  244. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  245. IF @sDistrict IS NOT NULL
  246. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  247. IF @rDistrict IS NOT NULL
  248. SET @SQL = @SQL + 'AND PLOC.districtName = '''+ @rDistrict +''''
  249. IF @tranType IS NOT NULL
  250. SET @SQL = @SQL + 'AND MAIN.paymentMethod = '''+ @tranType +''''
  251. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  252. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  253. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  254. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  255. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  256. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  257. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  258. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  259. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  260. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  261. IF @Date IS NOT NULL
  262. SET @SQL = @SQL + 'AND convert(varchar,MAIN.'+ @DATECONDITION +',101) = convert(varchar,'''+ @Date +''',101)'
  263. END
  264. IF @FLAG = 'Datewise'
  265. BEGIN
  266. SET @SQL = 'SELECT
  267. '+ @ReportTypeCond +' [groupBy]
  268. ,'+ @GroupCondition +' ['+ @GroupSelect +']
  269. ,COUNT(*) [Txn Count]
  270. ,SUM(tAmt) [Txn Amount]
  271. FROM vwremitTran MAIN WITH(NOLOCK)
  272. INNER JOIN #listBranch T ON MAIN.sBranch=T.branchId
  273. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  274. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  275. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  276. LEFT JOIN vwtranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  277. LEFT JOIN vwtranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  278. WHERE MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  279. IF @SendingCountry IS NOT NULL
  280. SET @SQL = @SQL + ' AND sCountry = ''' + @SendingCountry + ''''
  281. IF @ReceivingCountry IS NOT NULL
  282. SET @SQL = @SQL + ' AND pCountry = ''' + @ReceivingCountry + ''''
  283. IF @SendingAgent IS NOT NULL
  284. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  285. IF @SendingBranch IS NOT NULL
  286. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  287. IF @ReecivingAgent IS NOT NULL
  288. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  289. IF @ReceivingBranch IS NOT NULL
  290. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  291. IF @status IS NOT NULL
  292. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  293. IF @sLocation IS NOT NULL
  294. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  295. IF @rLocation IS NOT NULL
  296. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  297. IF @sZone IS NOT NULL
  298. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  299. IF @rZone IS NOT NULL
  300. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  301. IF @sDistrict IS NOT NULL
  302. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  303. IF @rDistrict IS NOT NULL
  304. SET @SQL = @SQL + 'AND PLOC.districtName = '''+ @rDistrict +''''
  305. IF @tranType IS NOT NULL
  306. SET @SQL = @SQL + 'AND MAIN.paymentMethod = '''+ @tranType +''''
  307. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  308. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  309. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  310. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  311. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  312. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  313. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  314. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  315. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  316. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  317. SET @SQL = @SQL + ' GROUP BY '+ @GroupCondition +''
  318. END
  319. IF @FLAG = 'MAIN' AND @GROUPBY <>'DETAIL'
  320. BEGIN
  321. SET @SQL = 'SELECT
  322. '+ @ReportTypeCond +' [groupBy]
  323. ,['+ @GroupSelect +'] ='+ @GroupCondition +'
  324. ,COUNT(*) [Txn Count]
  325. ,SUM('+@Amt+') [Txn Amount]
  326. FROM vwremitTran MAIN WITH(NOLOCK)
  327. INNER JOIN #listBranch T ON MAIN.sBranch=T.branchId
  328. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  329. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  330. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  331. LEFT JOIN vwtranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  332. LEFT JOIN vwtranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  333. WHERE MAIN.'+ @DATECONDITION +' BETWEEN '''+ @FROMDATE +''' AND '''+ @TODATE +''''
  334. IF @SendingCountry IS NOT NULL
  335. SET @SQL = @SQL + ' AND sCountry = ''' + @SendingCountry + ''''
  336. IF @ReceivingCountry IS NOT NULL
  337. SET @SQL = @SQL + ' AND pCountry = ''' + @ReceivingCountry + ''''
  338. IF @SendingAgent IS NOT NULL
  339. SET @SQL = @SQL + ' AND sAgent = ''' + @SendingAgent + ''''
  340. IF @SendingBranch IS NOT NULL
  341. SET @SQL = @SQL + ' AND sBranch = '''+ @SendingBranch +''''
  342. IF @ReecivingAgent IS NOT NULL
  343. SET @SQL = @SQL + ' AND pAgent = ''' + @ReecivingAgent + ''''
  344. IF @ReceivingBranch IS NOT NULL
  345. SET @SQL = @SQL + 'AND pBranch = '''+ @ReceivingBranch +''''
  346. IF @status IS NOT NULL
  347. SET @SQL = @SQL + 'AND tranStatus = '''+ @status +''''
  348. IF @sLocation IS NOT NULL
  349. SET @SQL = @SQL + 'AND SBRANCH.agentLocation = '''+ @sLocation +''''
  350. IF @rLocation IS NOT NULL
  351. SET @SQL = @SQL + 'AND pLocation = '''+ @rLocation +''''
  352. IF @sZone IS NOT NULL
  353. SET @SQL = @SQL + 'AND SBRANCH.agentState = '''+ @sZone +''''
  354. IF @rZone IS NOT NULL
  355. SET @SQL = @SQL + 'AND PLOC.zoneName = '''+ @rZone +''''
  356. IF @sDistrict IS NOT NULL
  357. SET @SQL = @SQL + 'AND SBRANCH.agentDistrict = '''+ @sDistrict +''''
  358. IF @rDistrict IS NOT NULL
  359. SET @SQL = @SQL + ' AND PLOC.districtName = '''+ @rDistrict +''''
  360. IF @tranType IS NOT NULL
  361. SET @SQL = @SQL + ' AND MAIN.paymentMethod = '''+ @tranType +''''
  362. IF @Id IS NOT NULL
  363. SET @SQL = @SQL + ' AND '+ @ReportTypeCond +' = '''+ @Id +''''
  364. IF @searchByText IS NOT NULL AND @searchBy ='sender'
  365. SET @SQL =@SQL+ ' AND TSEND.firstName LIKE ''%' + @searchByText + '%'''
  366. IF @searchByText IS NOT NULL AND @searchBy ='receiver'
  367. SET @SQL =@SQL+ ' AND TREC.firstName LIKE ''%' + @searchByText + '%'''
  368. IF @searchByText IS NOT NULL AND @searchBy ='cAmt'
  369. SET @SQL =@SQL+ ' AND MAIN.cAmt = ' + @searchByText + ''
  370. IF @searchByText IS NOT NULL AND @searchBy ='pAmt'
  371. SET @SQL =@SQL+ ' AND MAIN.pAmt = ' + @searchByText + ''
  372. IF @searchByText IS NOT NULL AND @searchBy ='extCustomerId'
  373. SET @SQL =@SQL+ ' AND TSEND.extCustomerId = ' + @searchByText + ''
  374. SET @SQL = @SQL + ' GROUP BY '+ @GroupCondition +','+ @ReportTypeCond +''
  375. END
  376. END
  377. ELSE
  378. BEGIN
  379. IF @FLAG = 'MAIN'
  380. BEGIN
  381. SET @SQL ='SELECT
  382. [Control No] =''<a href = "#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(MAIN.id AS VARCHAR)+'''''')">''+dbo.FNADecryptString(controlNo)+''</a>''
  383. ,['+ @GroupSelect +'] = CONVERT(VARCHAR,MAIN.'+ @DATECONDITION +',101)
  384. ,[Sending Country] = sCountry
  385. ,[Sending Agent] = sAgentName
  386. ,[Sending Branch] = sBranchName
  387. ,[Sending Amt] = tAmt
  388. ,[Sending Currency] = collCurr
  389. ,[Status] = MAIN.tranStatus
  390. ,[Receiving Country] = ISNULL(pCountry,''-'')
  391. ,[Receiving Location] = PLOC.locationName
  392. ,[Receiving Agent] = case when MAIN.paymentMethod=''Bank Deposit'' then MAIN.pBankName else ISNULL(MAIN.pAgentName,''-'') end
  393. ,[Receiving Branch] = case when MAIN.paymentMethod=''Bank Deposit'' then MAIN.pBankBranchName else ISNULL(MAIN.pBranchName,''-'') end
  394. ,[Receiving Amt] = pAmt
  395. ,[Account No.] = ISNULL(MAIN.accountNo,''-'')
  396. ,[Tran Type] = MAIN.paymentMethod
  397. ,[Sender Name]=TSEND.firstName + ISNULL('' '' + TSEND.middleName, '''') + ISNULL('' '' + TSEND.lastName1, '''') + ISNULL('' '' + TSEND.lastName2,'''')
  398. ,[Receiver Name]=TREC.firstName + ISNULL('' '' + TREC.middleName, '''') + ISNULL('' '' + TREC.lastName1, '''') + ISNULL('' '' + TREC.lastName2, '''')
  399. FROM vwremitTran MAIN WITH(NOLOCK)
  400. INNER JOIN #listBranch T ON MAIN.sBranch=T.branchId
  401. LEFT JOIN agentMaster SBRANCH WITH(NOLOCK) ON SBRANCH.agentId=MAIN.sBranch
  402. LEFT JOIN agentMaster PBRANCH WITH(NOLOCK) ON PBRANCH.agentId=MAIN.pBranch
  403. LEFT JOIN vwZoneDistrictLocation PLOC WITH(NOLOCK) ON PLOC.locationId=MAIN.pLocation
  404. LEFT JOIN vwtranSenders TSEND WITH(NOLOCK) ON MAIN.id=TSEND.tranId
  405. LEFT JOIN vwtranReceivers TREC WITH(NOLOCK) ON MAIN.id=TREC.tranId
  406. WHERE MAIN.controlNo = '''+ dbo.FNAEncryptString(@controlNo) +''''
  407. END
  408. END
  409. IF OBJECT_ID('tempdb..##TEMP_TABLE') IS NOT NULL
  410. DROP TABLE ##TEMP_TABLE
  411. DECLARE @SQL2 AS VARCHAR(MAX)
  412. SET @SQL2='SELECT ROW_NUMBER() OVER (ORDER BY ['+@GroupSelect+'] ) AS [S.N.],*
  413. INTO ##TEMP_TABLE
  414. FROM
  415. (
  416. '+ @SQL +'
  417. ) AS aa ORDER BY ['+@GroupSelect+'] '
  418. EXEC(@SQL2)
  419. IF @isExportFull = 'Y'
  420. BEGIN
  421. SET @SQL1='SELECT * FROM ##TEMP_TABLE'
  422. END
  423. ELSE
  424. BEGIN
  425. SET @SQL1='
  426. SELECT COUNT(''a'') AS TXNCOUNT,'+@pageSize+' PAGESIZE,'+@pageNumber+' PAGENUMBER FROM ##TEMP_TABLE
  427. SELECT * FROM ##TEMP_TABLE WHERE [S.N.] BETWEEN (('+@pageNumber+' - 1) * '+@pageSize+' + 1) AND '+@pageNumber+' * '+@pageSize+''
  428. END
  429. EXEC(@SQL1)
  430. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  431. SELECT 'GROUP BY ' head ,@GroupSelect value
  432. UNION ALL
  433. SELECT 'DATE TYPE ' head,CASE
  434. WHEN @DATETYPE = 't' THEN 'TXN Date'
  435. WHEN @DATETYPE = 'S' THEN 'Confirm Date'
  436. WHEN @DATETYPE = 'P' THEN 'Paid Data'
  437. WHEN @DATETYPE = 'C' THEN 'Cancel Date' END value
  438. UNION ALL
  439. SELECT 'FROM DATE ' head, CONVERT(VARCHAR, @fromDate, 101) value
  440. UNION ALL
  441. SELECT 'TO DATE ' head, CONVERT(VARCHAR, @toDate, 101) value
  442. UNION ALL
  443. SELECT 'TRAN STATUS ' head, ISNULL(@status,'All') value
  444. UNION ALL
  445. SELECT 'TRAN TYPE ' head, ISNULL(@tranType,'All') value
  446. UNION ALL
  447. SELECT 'SEARCH BY TEXT ' head, ISNULL(@searchByText,'All') value
  448. UNION ALL
  449. SELECT 'SEARCH BY ' head,CASE WHEN @searchByText IS NULL THEN 'N/A' ELSE @searchBy END value
  450. UNION ALL
  451. SELECT 'CONTROL NO ' head, ISNULL(@controlNo,'N/A') value
  452. UNION ALL
  453. SELECT 'SENDING COUNTRY' head,ISNULL(@SendingCountry,'All')
  454. UNION ALL
  455. SELECT 'SENDING ZONE ' head,isnull(@sZone,'All')
  456. UNION ALL
  457. SELECT 'SENDING DISTRICT ' head,isnull(@sDistrict,'All')
  458. UNION ALL
  459. SELECT 'SENDING LOCATION ' head,ISNULL((select districtName from api_districtList where districtCode=@sLocation),'All')
  460. UNION ALL
  461. SELECT 'SENDING AGENT ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @SendingAgent),'All')
  462. UNION ALL
  463. SELECT 'SENDING BRANCH ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @SendingBranch),'All')
  464. UNION ALL
  465. SELECT 'RECEIVING COUNTRY ' head,ISNULL(@ReceivingCountry,'All')
  466. UNION ALL
  467. SELECT 'RECEIVING ZONE ' head,isnull(@rZone,'All')
  468. UNION ALL
  469. SELECT 'RECEIVING DISTRICT ' head,isnull(@rDistrict,'All')
  470. UNION ALL
  471. SELECT 'RECEIVING LOCATION ' head,ISNULL((select districtName from api_districtList where districtCode=@rLocation),'All')
  472. UNION ALL
  473. SELECT 'RECEIVING AGENT ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @ReecivingAgent),'All')
  474. UNION ALL
  475. SELECT 'RECEIVING BRANCH ' head,ISNULL((SELECT agentName FROM agentMaster with(nolock) WHERE agentId = @ReceivingBranch),'All')
  476. SELECT 'TRANSACTION ANALYSIS REPORT- (INTERNATIONAL) ' title
  477. GO