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.

639 lines
24 KiB

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