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.

525 lines
42 KiB

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